はじめに
CrowBoardは、コントローラにRaspberry Pi Picoを使った36キーの オープンソースPCB自作キーボードです。
黒い基板に白いカラスが映えるデザインなので、緑基板のPi Picoから黒いYD-PR2040へ変えてみました。
CrowBoardのファームウエアは、KMK、QMKが紹介されています。
私は、使い慣れたPRK_Firmware を使いました。
追記:2023/11/16
3Dプリントのケースデータも追加されています。
また、VIAL.対応のUF2も公開されていますので、自作キーボードを試してみたい方にお勧めです。
keyboarddweebs
作者さんと思われるKeyboardDweebs – Lots of Keyboard Stuffといサイトから通販できます。
(完売になっています)
オープンソースに対する熱い思いが伝わってくるサイトです。
Make it your own! If you are a business, order some and start selling.
データのダウンロード
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.
https://keyboarddweebs.net/products/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日で届きました。
青い箱が黒い鳥を運んできた。白いけど。。
— 𝕜urihara (@kurihary) 2022年8月21日
これで、来週をのりきる。#JLCPCB #RaspberryPiPicohttps://t.co/AFj1gApJTv pic.twitter.com/luHkiPqkoB
組立
ビルドガイド
ダイオード36個とスイッチ36個だけのシンプルな構成です。
ベタグランドがない配線パターンだけの基板なので、面実装ダイオードのハンダ付けも簡単でした。
注意するのは、ダイオードを□のパターン側に線を向けるぐらいですね。
組立開始
平日をのりきった。
— 𝕜urihara (@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
— 𝕜urihara (@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
— 𝕜urihara (@kurihary) 2022年8月27日
KEEB_PD
Keyboard: CrowBoard
— 𝕜urihara (@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のお得な情報
X(旧Twitter)アカウントフォローの特典
加えてX(旧Twitter)アカウントをフォロー+DM=$10クーポンの特典もあります。
🌟日本の皆様、新しいJLCPCB日本語ホームページが完成しました🎉
— JLCPCB日本 (@JLCPCB_Japan) 2022年8月11日
新規ユーザーは$54クーポンを獲得できます🎁https://t.co/IQwp4aSBKZ
また、弊社のことをもっと知りたければ、画像のパンフレットをダウンロードしてください
最後に、私をフォロー+DMすれば、$10クーポンを獲得できますよ😃#JLCPCB pic.twitter.com/wH61sq9eU2
ファイルマネージャ
JLCPCBは、サイトのユーザインタフェースが使い易いのも気に入っています。
例えば、ファイルマネージャにはアップロードしたデータ(見積りだけ、キャンセルを含む)が残っていて、ファイルをクイックすると見積の画面が開きます。
まとめてオーダーした1部を発注したり、3Dプリントでは素材を変えたりの操作が簡単です。