Khadas VIM 1S

[PR] Khadas から発売されている VIM1Sの紹介です。高効率4コアCPUや、16GB eMMCなどの価格性能比がなかなか魅力的な製品になっています。

Khadas VIM 1S

https://amzn.to/3iWoLPP

ざっくりまとめると

高効率4コアCPU
最大 2.0GHz のCortex-A35を4コア搭載しています。スペックとしてはラズベリーパイ4 Model Bと比べて25%以上の速度となります。
内蔵ストレージ
16GBのeMMCが搭載されているため、別途MicroSDカード等を用意しなくても利用することが出来ます。また、MicroSDカードスロットも搭載されているためもし容量が必要な場合は追加することもできます。
簡単なOSセットアップ
このボード単体でのOSセットアップ可能なOOWOWと呼ばれるファームウェアが搭載されています。2022/12時点ではUbuntu 22.04 か Android 11を選択出来ます。
入手性
SBCで有名なRaspberry PiやJestonシリーズは昨年から入手自体が難しい状況が続いていますが、こちらのVIM 1SはAmazonで在庫があります。逆にどうやって生産しているのか気になる・・・

‌ハードウェア

本体にはスイッチが3個ついており、電源ONやリセット、そして単体でのOS書き込みを行うOOWOW起動を選ぶことができます。

外部インタフェースには電源供給用のUSB-C及び、利用可能なUSBポートが2個、40ピンGPIO、赤外線リモコンに対応したセンサーなど多岐に渡ります。

MEMO

対応したセンサーやカメラ等はKhadas Shopにて販売されていますが、かなり良心的な価格に設定されています。

また、高負荷・安定性が求められる用途で利用したい冷却用のPWM制御ポートもついています。

電源

VIM 1Sの電源は USB-C もしくは背面にある電源入力ピンから行うことができます。 ‌この記事での確認には5v 2A電源を利用していますが特に問題なく動作しています。

‌‌薄さ

Khadasは何故か薄さに対するこだわりが強い事が多く、このVIM 1SもLANポートが基板に埋め込まれるように設置されています。‌

インタフェースを考えると限界まで削った印象

何故そこまで薄さにこだわるのか・・

価格

公式サイトでの販売価格は$64.90(およそ8,800円) となっており、現在ほとんどのSBCが入手困難な状況を考えるとかなり頑張っている価格かなと思います。

https://www.khadas.com/product-page/vim1s

またAmazonでも発売されています。SBCは品切ればかりの印象なので、選択肢が一つでも多いのは非常に嬉しいですね。

Amazon | Khadas VIM1Sシングルボードコンピュータ Multi-OS TV Box (Amlogic S905Y4) 2GB 16GB 2.4G/5G WiFi Bluetooth 5.0, Multi-ビデオデコーダー, ストリーミングメディアプレーヤー HD/4K/HDR, UHS-I TFカードエディション (VIM1S) | Khadas | パソコン・周辺機器 通販
Khadas VIM1Sシングルボードコンピュータ Multi-OS TV Box (Amlogic S905Y4) 2GB 16GB 2.4G/5G WiFi Bluetooth 5.0, Multi-ビデオデコーダー, ストリーミングメディアプレーヤー HD/4K/HDR, UHS-I TFカードエディション (VIM1S)がパソコン・周辺機器ストアでいつでもお買い得。当日お急ぎ便対象商品は、当日お届け可能です。アマゾン配送商品は、通常配送無料(一部除く)。
Amazon.co.jp でも販売されている。

ソフトウェア

VIM 1Sでは本体に搭載されている OOWOW と呼ばれる管理ツールを起動時に本体横のボタン操作で起動することができます。

ボタンは3個

このOOWOWではeMMCストレージへのOS書き込みや、レスキュー用のシェル起動などの便利機能が用意されており、VIM 1S単体でのセットアップが可能となっています。‌

2022/12/11時点では以下のOSを選択することができます。

選択できるOS
  1. Android 11
  2. Ubuntu 22.04(Kernel 5.4) デスクトップ環境
  3. Ubuntu 22.04(Kernel 5.4) サーバー用
OSの選択画面

‌起動するとシンプルなメニュー画面が表示されるので、WiFiもしくはLANケーブルを接続して内蔵のeMMCへOSのセットアップが可能です。PCで書き込みする必要がないので便利です。

Ubuntu

インストール完了後は普通のLinuxマシンとして利用することが可能です。メモリが2GBと限られているためデスクトップ用途として使うにはあまり適していない印象ですが、ブラウザやオフィス系のソフトウェアももちろん利用することが出来ます。

デフォルトユーザーとパスワード

ユーザー名、パスワード共に khadas です。SSHも自動で有効となっているため、セットアップ完了後はパスワードを変更することを強く推奨します。

‌GPIO

基板上に載っているMCUのピンもあるため若干クセが強いですが、GPIOはもちろん利用可能です。ピン配列は以下の通りとなっています。

ちなみにGPIOはラズベリーパイと互換性は無い(一部OKなものもあります)ので、HAT等は基本的にそのまま利用することはできませんが、 I2C, I2S, ADC, UART, PWM あたりが一通り用意されていますので、これで足りないというケースのほうが少ないように思います。

ちなみに 5v/3.3v/1.8vと3電圧用意されているのがなかなか良いです。特に最近は低電圧なものも増えてきておりわざわざ1.8vか、、と用意する必要が無いので助かります。

‌Choromium をインストール

現在最も利用されているブラウザChromeとほぼ同じブラウザであるChromiumを利用する事ができます。デフォルトではインストールされていないので以下のコマンドをターミナルで実行するとインストール出来ます。‌

sudo apt install -y chromium-browser

インストール完了後は Internet メニュー以下に追加されています。

動画を再生してみると1080pでフレームドロップが発生し、視聴に耐えるか耐えないかギリギリといった感じでした。スペック的には余裕がありそうなのであとはソフトウェアの最適化かなという感がします。これは若干残念です。

YouTubeを視聴してみる

ちなみにFireFoxの方が若干良い印象でした。

🇯🇵
日本語はデフォルトでインストールされていないので文字化けした状態になりますが、設定ツールで追加することで問題なく表示できます。

‌ラズベリーパイ4と比較

この製品は完全にRaspberry Pi 4 Model Bと競合する製品になるので比較していきます。個人的にはハードウェア性能はVIM 1Sが上回っており価格も同等なのでかなりおすすめではあるものの、資料やドキュメントはやはりRaspberry Pi の方が多く、全くLinuxを使ったことが無いユーザーには若干ハードルが高いように感じます。

誰におすすめか

しかし逆にある程度LinuxやRaspberry Piを使ったことがあるというユーザーには問題なく利用できるものになるのでおすすめです。

内蔵ストレージ

また、VIM 1Sは内蔵ストレージとして16GB eMMCが搭載されているためMicroSDカードを用意する必要がありません。地味に便利です。特に振動があるような環境ではカードとの接触不良などを気にする必要もあったりと、地味に助かります。‌

Raspberry Pi 4 Model B Khadas Vim 1S
CPU 4 core Cortex-A72@1.5GHz 4 core A35@2.0GHz
GPU Broadcom VideoCore VI Mali-G31 MP2 850Mhz
メモリ 2~8GB LPDDR4-3200 2GB LPDDR4
内蔵ストレージ 無し 16GB eMMC
電源 USB-C 5V 3A USB-C 5V(2A?)
その他 カメラ カメラ、赤外線
OS Raspberry Pi OS
Ubuntu
Manjaro ARM Linux
その他多数
Android 11
Ubuntu 22.04
価格 $45.00(2GB) $64.90
MEMO

Raspberry Pi でも Compute Module という組み込み向けのボードではeMMCが搭載されているものがあり、2GB RAM/16GB eMMCモデルが$50で販売されていますが、インタフェース等は省略されており単純な比較は出来ません。

https://amzn.to/3iWoLPP

‌おまけ

コマンドの実行結果を載せておきます。

uname -a‌

khadas@Khadas:~$ uname -a
Linux Khadas 5.4.180 #1.2 SMP PREEMPT Tue Oct 18 17:05:39 CST 2022 aarch64 aarch64 aarch64 GNU/Linux

sysbench‌

khadas@Khadas:~$ sysbench --test=cpu run
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time


Prime numbers limit: 10000

Initializing worker threads...

Threads started!

CPU speed:
    events per second:   898.20

General statistics:
    total time:                          10.0010s
    total number of events:              8987

Latency (ms):
         min:                                    1.11
         avg:                                    1.11
         max:                                    1.33
         95th percentile:                        1.12
         sum:                                 9994.90

Threads fairness:
    events (avg/stddev):           8987.0000/0.00
    execution time (avg/stddev):   9.9949/0.00

--cpu-max-prime=20000

khadas@Khadas:~$ sysbench --num-threads=4 --test=cpu --cpu-max-prime=20000 --validate run
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
WARNING: --num-threads is deprecated, use --threads instead
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 4
Validation checks: on.

Initializing random number generator from current time


Prime numbers limit: 20000

Initializing worker threads...

Threads started!

CPU speed:
    events per second:  1122.05

General statistics:
    total time:                          10.0044s
    total number of events:              11230

Latency (ms):
         min:                                    2.80
         avg:                                    3.56
         max:                                   39.90
         95th percentile:                       14.73
         sum:                                39987.48

Threads fairness:
    events (avg/stddev):           2807.5000/105.68
    execution time (avg/stddev):   9.9969/0.01

lscpu‌

khadas@Khadas:~$ lscpu
Architecture:            aarch64
  CPU op-mode(s):        32-bit, 64-bit
  Byte Order:            Little Endian
CPU(s):                  4
  On-line CPU(s) list:   0-3
Vendor ID:               ARM
  Model name:            Cortex-A35
    Model:               0
    Thread(s) per core:  1
    Core(s) per cluster: 4
    Socket(s):           -
    Cluster(s):          1
    Stepping:            r1p0
    CPU max MHz:         2004.0000
    CPU min MHz:         100.0000
    BogoMIPS:            48.00
    Flags:               fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
Vulnerabilities:         
  Itlb multihit:         Not affected
  L1tf:                  Not affected
  Mds:                   Not affected
  Meltdown:              Not affected
  Spec store bypass:     Not affected
  Spectre v1:            Mitigation; __user pointer sanitization
  Spectre v2:            Not affected
  Srbds:                 Not affected
  Tsx async abort:       Not affected

df -h

これは、LibreOffice 等入っているのでもっと空き容量を増やす事ができます。

khadas@Khadas:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           199M   15M  185M   8% /run
/dev/mmcblk0p2   14G  4.2G  9.6G  31% /
tmpfs           995M   51M  945M   6% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           995M  3.0M  992M   1% /tmp
/dev/mmcblk0p1  217M   40M  168M  20% /boot
tmpfs           199M  128K  199M   1% /run/user/1000

‌‌この記事は 2022/12/11 時点の最新ソフトウェアと Khadas VIM 1S(基板上にV11と記載) で動作確認を行いました。この記事公開後のリビジョンやソフトウェアバージョンでは結果が異なる場合があります。

記事の内容は間違いが無いように気をつけていますが、私の認識違いや、ミスなどにより間違っている可能性もあります。もし発見された場合はお問い合わせフォームよりご連絡頂けると幸いです。