自作キーボードに使えるマイコンモジュール
USB Device機能(またはV-USBのようなソフトウェアによるエミュレーション)が付いている必要がある
ATmega32u4
Pro Micro
RP2040
Raspberry Pi Pico
Seeed XIAO RP2040
ATSAMD21
Seeeduino XIAO
ATSAMD51
Adafruit Itsy Bitsy M4 Express
CH55x
ROM/RAMが少ないのでキーボードが実装できるか?
これか? CH_HID_Arduino/CH_HID_Example.ino at master · atc1441/CH_HID_Arduino · GitHub
CH551を搭載した製品があるようだ
中華製の格安なプログラマブル USBキーボードを買ってみた QMK VIAとは別物 (中華製のプログラマブル USBキーボード KeyboardSetter.exe)
STM32F103
QMKがサポートしているらしい
あまり事例を聞かないがBluePillでもできるらしい
やったことありますIKeJI.icon
STM32F411
QMKがサポートしているらしい
あまり事例を聞かないがBlackPillでもできるらしい
GD32VF103CBT6
RISC-V
QMKがサポートしている
ATmega328
V-USBを利用すればUSB HIDとして振舞うことが出来る
QMKがサポートしてる。
CH9328
これとUARTしゃべれる任意のマイコンを組み合わせる
RN42
https://akizukidenshi.com/catalog/g/gM-07612/
UARTで操作できる、Bluetooth HIDデバイスのふりができるモジュール
技適あり
QMK Firmware もサポートしてる。
https://docs.qmk.fm/#/feature_bluetooth
CH32V003
https://www.tindie.com/products/allexok/pikokey-mini-hid-usb-mechanical-keyboard/ fabニュースより
USB機能はマイコンネイティブではなく、ソフトウェア実装(rv003usb)
UIAPduinoを使った動作例あり
-> UIAPduinoを使った自作分割キーボードYuuki Umeta.icon
参考
QMKのサポートしているCPU
https://github.com/qmk/qmk_firmware/blob/master/docs/compatible_microcontrollers.md
KMKはCircuitPythonのサポートしているボードなら割となんでも対応しているらしい(ESP32などUSBデバイス機能のないものを除く)
PRKはRP2040だけっぽい
コメント
V-USBでがんばれば何とかIKeJI.icon
QMKもATMega328-Pをサポートしてます。IKeJI.icon
トレンドというかシェアというか、そういう点ではどうなんだろ?Yuuki Umeta.icon
Pro MicroとRP2040の2強なんかな?
もともとPro Microが主流で、RP2040に流れてる感じなのかな?
自作キーボード用のファームウェアがあるのが強そうinajob.icon
QMKがまず流行っていた(これがPro Micro)
qmk_firmware/docs/compatible_microcontrollers.md at master · qmk/qmk_firmware · GitHub
実はいろいろなマイコンをサポートしている
これがファームウェアの源流なんだ、知らなかった!Yuuki Umeta.icon
最近はいろいろ出てきている
KMK
ZMK
PRK
マイコンベースで選ぶというより、自分の好きなファームウェアソリューションで対応しているマイコンを選ぶ感じかぁ 何となく分かった!
さらにマイコンごとに得意不得意な機能があったり別のファームウェアソリューションでも対応しているかどうかとかも考えて選定する感じかな?Yuuki Umeta.icon
まずファームウェアがマイコンに対応しているとして、キーコンフィグツールとかそこら辺との連動はどうなるのかな?
ファームウェア書き換えそのものがキーコンフィグのパターン
ソースコードにキーコンフィグを設定してビルドしたファームウェアを書き込む?
キーコンフィグ設定をしたらあとはビルドだけしてくれるツール的なのがあるのかな?(GUIツール的な)
ファームウェア書き換えは文鎮化のリスクあるよね・・・ でもファームウェアアップデートも同じ仕組みで出来るからバグ修正とかも盛り込みやすそう!
あでもファームウェアがユーザROMなら文鎮化リスクは少ないか
ファームウェアがツールと通信してキーコンフィグのパターン
よくあるデバイスはこれのイメージかなぁ・・キーボード界隈はどうなんだろ?
文鎮化のリスクはとても少ない!けどファームウェアのアップデートは別途必要・・・
当たり前だけど、別のファームウェアソリューションへの切り替えはファームウェアの上書きが必要
QMK系ではVialというのがあることまで知っているinajob.icon
ファームウェアが書き込まれるROM領域はどれになるんだろ?
ブートROM -> 書き換えで文鎮化リスクあり、潤沢な容量なし
ユーザROM -> 文鎮化しない、潤沢容量
外付けROM -> ナゾ
KMK(CircuitPython)やPRK(Pico Ruby)はスクリプト言語なので、ユーザスクリプトとしてキーマップも定義する感じだと思いますinajob.icon
ほーん・・・PythonとRubyは分かるけど、両方とも知らない言語だ・・ 勉強してみる
#自作キーボード
#マイコン
#HID