SparrowTV自作キーボードマクロパッドキット(¥4,000-)[74TH-G032]
Physical (worldwide shipping)
- Physical (direct)キット[G032]4,000 JPY
- Physical (direct)(オプション)マイコン、ソケット、LED実装済みにする3,000 JPY
- Physical (direct)オプション:ESP32-Writer(ESP32に書き込み可能なUSBシリアル変換)[G010]700 JPY
Physical (ship to Japan)
- Physical (direct)キット[G032]4,000 JPY
- Physical (direct)(オプション)マイコン、ソケット、LED実装済みにする3,000 JPY
- Physical (direct)オプション:ESP32-Writer(ESP32に書き込み可能なUSBシリアル変換)[G010]700 JPY
TV横PCのために、赤外線TVリモコン、キーボード、マウスの3役を担うマクロパッドです。ケースにはiPhoneSE 2、3 のケースを使います。 TV電源や入力切り替えをキーに割り当てたり、マウスを操作をしたり、ESCで全画面モードを終了したり、Ctrl-Wでウィンドウを閉じたりして利用します。 本商品は、完成品の販売ではなく、ご自身で作成するキットの販売です。 完成を保証するものではありません。 QMK Firmwareなどの既存のファームウェアを利用できません。 利用できるファームウェアについてはビルドガイドを確認ください。
こだわり
・キーボードと、ジョイスティックによるマウス機能(ESP32-C3から、CH9329を操作) ・Groveポート搭載。M5 IRモジュールを接続して、赤外線リモコンとして使う想定 ・ジョイスティックファームウェアはStickPointVと同等に、ダッシュモードなどチューニングずみ ・iPhone SE2/3ケースを使用可能。手に収まる感じになります ・ESP32-C3でCircuitPythonを用いて開発します。ESP32-C3なので、WiFi経由のアプリケーションなども構築可能。
キット内容
・SparrowTV PCB x1 ・0805 SMD コンデンサ 100nF x8 ・0805 SMD コンデンサ 1uF x3 ・0805 SMD コンデンサ 10uF x2 ・0805 SMD 抵抗 1Ω x1 ・0805 SMD 抵抗 27Ω x1 ・0805 SMD 抵抗 1kΩ x2 ・0805 SMD 抵抗 5.1kΩ x2 ・0805 SMD 抵抗 10kΩ x4 ・0805 SMD 抵抗 42kΩ x1 ・HY2.0-4P(Grove) SMD ソケット x1 ・RGBLED SK6812-MINI-E x15 ・SOD-123 ダイオード 1N4148W x15 ・USB-C ミッドマウントソケット x1(実装済みの場合もあり) ・2x3p ボックスピンヘッダ x1 ・ジョイスティック B10K x1 ・SOT-223 レギュレータ AMS1117-3.3 x1 ・SOT-23-6 USB電源スイッチIC CH217K x1 ・WiFiモジュール ESP32-C3-WROOM-02 ・SSOP-20 MCU CH32V003F4P6 x1 ・SOIC-16 UART-To-USBキーボード変換IC WCH9329 ・熱伝導テープ x1 ・ESP32-C3-WROOM-02 技適シール x1
追加で必要な部品
・Kailh Chocスイッチ x15 ・Kailh Chocスイッチ用ソケット x15 ・Kailh Chocスイッチ用キーキャップ x15 ・M5Stack用赤外線送受信ユニット x1 ・スイッチサイエンス ・Groveケーブル(M5Stack用赤外線送受信ユニットに付属) x1 ・iPhone SE 2 or 3ケース x1
組み立てに必要な機材
以下の機材が組み立てには必要です。 ・USBシリアル変換 ・秋月電子通商で販売されている AE-CH340E-TYPEC ・74th の販売する ESP32-Writer ・Espressif ESP-Prog など ・はんだごて、はんだこて台、スポンジ ・はんだ ・フラックス(はんだにはフラックスが含まれていて、端子に広がるようにできていますが、熱を加えすぎるとすべてのフラックスが蒸発します。その場合、追加のフラックスを入れて使います) ・テスター ・ピンセット(表面実装部品を抑えるのに利用します) ・PC(Windows、Linux、MacOS の動作するもの。ファームウェアの作成に必要。)
ビルドガイド
以下のビルドガイドを確認しながら、組み立てをお願いします。 https://github.com/74th/sparrow62-buildguide/blob/master/SparrowTV.md
MCU、IC構成
SparrowTVの各ICの役割は以下のようになっています。 あらかじめMCUにファームウェアが書き込まれています。 ・ESP32-C3:メインMCUとして、CH32V003とのI2C Masterとして通信、CH9329とのUART通信、M5 IRへのパルス転送 ・ファームウェア:CircuitPython(ESP32-C3-DevKitC用)のみ書き込み済み、コードなし ・CH32V003:JoyStickの値の読み取り、キーマトリックスの読み取り、I2C Slaveとして通信 ・ファームウェア:書き込み済み https://github.com/74th/tv-side-keyboard-SparrowTV/tree/main/firmware-ch32v003 ・CH9329:UARTからUSBキーボード、マウスを実現するIC 利用するには、CircuitPythonに以下のコードを格納する必要があります。後述のESP32-C3へのアクセス方法、ファームウェアの更新方法をご確認ください。 https://github.com/74th/tv-side-keyboard-SparrowTV/tree/main/firmware-circuitpython 以前は、ESP32の中でもESP32-S3にはUSB Device機能を持っているため、ESP32-S3にUSBキーボード、マウス機能を持たせたバージョンを作成していました。しかし、CircuitPythonの機能では、スリープ状態になったPCをキーボードのボタンで起動させることができず、ファームウェアがハングアップする事象が発生しました。そのため、ESP32-S3でのUSBキーボードとして動作刺せるのを諦めて、CH9329を経由して行うことにしました。 CH9329を使うならば、より安価なESP32-C3を利用するようにしました。ただしESP32-C3はピンの数が少なく、キースイッチマトリックスを全て処理できるほどのピンがありません。そのため、既にジョイスティック用に詰め込まれていたCH32V003にキースイッチマトリックスの処理を担わせる方針にしました。 構成は複雑そうに見えますが、ファームウェアの主要機能はCircuitPythonで組めるため、開発はしやすいと思います。
回路図、KiCadファイル等
回路図、KiCadファイル等は全て公開しています。 必要に応じて参照してください。 https://github.com/74th/tv-side-keyboard-SparrowTV/tree/main/pcb-kicad