はじめに
CrowBoardは、コントローラにRaspberry Pi Picoを使った36キーの オープンソースPCB自作キーボードです。
黒い基板に白いカラスが映えるデザインなので、緑基板のPi Picoから黒いYD-PR2040へ変えてみました。
CrowBoardのファームウエアは、KMK、QMKが紹介されています。
私は、使い慣れたPRK_Firmware を使いました。
keyboarddweebs
作者さんと思われるKeyboardDweebsといサイトから通販できます。
オープンソースに対する熱い思いが伝わってくるサイトです。
データのダウンロード
CrowBoardのデータは、最初はKailh Choc V1専用基板でしたが、現在はMX用の基板も追加されています。
ライセンス
Don't forget. This keyboard is open sourced. You're welcome to make changes, manufacture your own, and sell them.
CrowBoard V1 PCB Kitkeyboarddweebs.net
このキットのPi Picoには事前にKMKがインストールされているようです。
If you purchased a kit from KeyboardDweebs.net, your Pico came pre-flashed.
発注
基板は、いつものJLCPCBへ発注しました。
Shipping Charge: $11.53
Order Total: $27.63
5枚の値段なので、1枚あたり800円弱です。
OCS Expressを使って発注から9日で届きました。
青い箱が黒い鳥を運んできた。白いけど。。
— kurihara (@kurihary) 2022年8月21日
これで、来週をのりきる。#JLCPCB #RaspberryPiPicohttps://t.co/AFj1gApJTv pic.twitter.com/luHkiPqkoB
組立
ビルドガイド
ダイオード36個とスイッチ36個だけのシンプルな構成です。
ベタグランドがない配線パターンだけの基板なので、面実装ダイオードのハンダ付けも簡単でした。
注意するのは、ダイオードを□のパターン側に線を向けるぐらいですね。
組立開始
平日をのりきった。
— kurihara (@kurihary) 2022年8月27日
CrowBoardをRaspberry Pi Picoほぼ互換のYD-PR2040を使って組立てる#JLCPCB #RaspberryPiPico #電子工作 pic.twitter.com/fGVqetA7vS
YD-PR2040化について
YD-PR2040は、電源周りのピンがPi Picoと少し違います。
5V,3.3V,GNDのピン配置は同じです。GPIOの定義を変えるか、配線カット、ジャンパで何とかなります。
CrowBoardは、電源を使うLEDがないのでキーに使っているピンも後追いで確かめます。
Aliの一見Pi Pico互換に見えるマイコンボードの中には、GNDまで違うボードがあるので、注意ください。(2022/09/06追記)
kurihara.hatenadiary.jp
スケスケChoc欲しくなる。CrowBoardハンダおわり。 pic.twitter.com/ZgamAZOKVH
— kurihara (@kurihary) 2022年8月27日
ファームウエア
ビルドガイドには、KMKとQMKについて説明があります。
だたし、QMKについては安定していないようです。
Please note: This has to be done in a linux enviroment as far as I am aware. I don't believe QMK Msys is supported either. At least in my testing.
ファームウエアは、いつものPRK Firmwareを使いました。
PRK Firmwareは、uf2のインストールに1回とkeymap.rbに1回のドラッグ&ドロップで簡単に動かすことができます。
ファイルのダウンロードとドラッグ&ドロップ、必要なのはテキストエディタだけです。
最近のアップデートでターミナルへメッセージが出力できるようになりましたので、ミスタイプなど見つけやすくなっています。
PRK Firmware
PRK_Firmwareの最新版をダウンロード、ブートボタンを押しながら認識されたドライブにドラッグ&ドロップします。
github.com
keymap.rb
KMKのkb.pyを参考にCOL,ROWピンを定義します。
チェック用のkeymap.rbです。
これをPRKFirmwareとして認識されたドライブにドラッグ&ドロップします。
これだけで、キー入力とLチカ
# Initialize a Keyboard kbd = Keyboard.new # Initialize GPIO assign kbd.init_pins( [ 14, 15, 16, 17 ], # row0, row1,... respectively [ 6, 7, 8, 9, 10, 18, 19, 20, 21, 22 ] # col0, col1,... respectively ) # default layer should be added at first kbd.add_layer :default, %i[ KC_Q KC_W KC_E KC_R KC_T KC_Y KC_U KC_I KC_O KC_P KC_A KC_S KC_D KC_F KC_G KC_H KC_J KC_K XXXXXXX KC_L KC_Z KC_X KC_C KC_V KC_B KC_N KC_M KC_1 KC_2 KC_3 XXXXXXX XXXXXXX KC_4 KC_5 KC_6 KC_7 KC_8 KC_9 XXXXXXX XXXXXXX ] rgb = RGB.new( 23, # pin number YD-RP2040のWS2812Bは23番 0, # size of underglow pixel 1, # size of backlight pixel false # 32bit data will be sent to a pixel if true while 24bit if false ) rgb.effect = :rainbow_mood kbd.append rgb # `kbd` is an instance of Keyboard class that should be newed in advance kbd.start!
アルバム
Lチカ
CrowBoardをRaspberry Pi Picoほぼ互換のYD-PR2040を #PRK_Firmware 使ってLチカ#RaspberryPiPico #電子工作 https://t.co/sUMy3dOKNQ pic.twitter.com/dlq4A4MCYF
— kurihara (@kurihary) 2022年8月27日
KEEB_PD
Keyboard: CrowBoard
— kurihara (@kurihary) 2022年8月28日
Switch: Kailh Choc Red Pro Switch
Keycap: MCC-profile POM Choc keycap#KEEB_PD #KEEB_PD_R111 pic.twitter.com/7wiYT5uDgU
JLCPCBのお得な情報
新規ユーザの特典
現在、JLCPCBは新規ユーザは$54クーポンの特典があります。
加えてtwitterアカウントをフォロー+DM=$10クーポンの特典もあります。
ファイルマネージャ
JLCPCBは、サイトのユーザインタフェースが使い易いのも気に入っています。
例えば、ファイルマネージャにはアップロードしたデータ(見積りだけ、キャンセルを含む)が残っていて、ファイルをクイックすると見積の画面が開きます。
まとめてオーダーした1部を発注したり、3Dプリントでは素材を変えたりの操作が簡単です。