tl;dr
- CH32V003は秋月で60円で買える激安マイコンですが、USBデバイスのペリフェラルはありません
- CH32V003にはrv003usbというUSBデバイススタックがあり、USBキーボードを簡単に実装できます
- キーストロークを入力する1%キーボードを作りました
- 呼び出しボタン付きの収まりの良いケースに入れた
できたものと経緯

x.com秋月で60円の激安マイコンCH32V003の、USB実装rv003usbで、キーストロークを入力する1%キーボードが動いた! pic.twitter.com/M5zysABtms
— 74th (@74th) 2026年1月11日
タイプすると、"74th!"と入力されます。パスワードとか、特定の操作を素早く行いたいときに便利なものを作ろうとしました。
サイズを小さくしたく、マイコンボードではなくマイコン単体を組み込みたいと思いました。 そこで激安マイコンCH32V003を使うことにしました。
CH32V003とは
CH32V003は74thが愛用している激安マイコンです。過去に解説書を書いてしまうほど、自分の電子工作に欠かせないマイコンです。
CH32V003には、USBデバイスのペリフェラルがありません。 CH32V003のファームウェア開発ではch32funを利用していますが、その中にrv003usbというUSBデバイススタックがあり、USBキーボードを簡単に実装できます。
設計した基板
作成したKiCadファイルは以下で公開しています。
- kicadファイル: https://github.com/74th/74th-oshw-projects/tree/1Key_CH32V003/1.0.0/74TH-G068-1Key_CH32V003
- Kicanvasの回路図: https://kicanvas.org/?repo=https%3A%2F%2Fgithub.com%2F74th%2F74th-oshw-projects%2Fblob%2F1Key_CH32V003%2F1.0.0%2F74TH-G068-1Key_CH32V003%2F74TH-G068-1Key_CH32V003.kicad_sch
ポイントはrv003usb用のUSB周りの配線です。PD3、PD4をUSBのD+、D-に接続し、USBのプルアップ抵抗(1.5kΩ)をPD5に接続します。
後から気づいた反省点としては、RGB LEDをSPIのPC6に接続しなかったことです。 RGB LEDのドライバとして、SPI DMA転送を使えたのですが、SPI MOSIであるPC6に接続していなかったために、ch32funに含まれているSPI DMAドライバが使えませんでした。 代わりに、CPUでbitbangしてRGB LEDを制御するドライバを使用することになりました。 RGB LEDはSPI MOSIに接続する癖を付けたいです。
rv003usbでファームウェアを作る
rv003usbには、マウス、キーボードのサンプルコードがあります。
このコードは、1秒ごとに"B"キーを押して離す動作を繰り返すコードになっています。
これを書き換えて、以下の機能を付けました。
- キーの押下を検出する
- RGB LEDを点灯する
- ASCIIコードの文字列で組み込んだ文字列をキーストロークとして入力する
TinyUSBのコードの中に、ASCIIコードをキーコードに変換するコードがあり、それを引用して、ASCIIコードの文字列をキーストロークに変換できました。
展示用にケースを作る
せっかく作ったので、天下一キーボードわいわい会Vol.10で展実しようと思い、ケースを製作しました。 アケコン用ボタンを使い、単体でもガジェットっぽく使えるようにしました。 狙い通り、呼び出しボタンのような雰囲気になりました。

30円マイコン CH32V003 で作った1%キーボードのケースを作った
— 74th (@74th) 2026年2月6日
狙い通り、完全に係員呼び出しボタンになったが、Durock Ice Kingのスイッチで感触が良く連打したくなる
明日の #天キー に持ってきます! pic.twitter.com/FDEaovqupW
コードとケース
製作したコードとケースのデータは以下で公開しています。
まとめ
妻に「パスワードを簡単に入力できるデバイスを作ったよ!」と言ったら、「そんな危ないものお家の中に置かないで!」と言われました。 デモでは「74th!」と入力してくれるデバイスになっています。
スイッチにDurock Ice King Tactileを付けたところ、透明なハウジングがよく光を通してパッと光り、癖になり、見ていて飽きないものになりました。
rv003usbでのキーボードは今のところちゃんと動いています。 確実性のあるキーボードを使いたいならばUSBデバイスペリフェラルを持つマイコンを使うことをお勧めします。 普段使い用のキーボードを作るマイコンとしては、QMK Firmwareを使ってカスタマイズしたいので、rv003usbを使うことは私はないでしょう。 SparrowSv3では右手キーボードのマイコンとしてCH32V003を組み込んでいます。
最後に以下は製作したキーボードでタイプした文字列です。
74th!74th!74th!74th!74th!74th!74th!