はじめに
CrowBoardは、コントローラーボードにRaspberry Pi Picoを使った36キーの オープンソースの自作キーボードです。
約1年前に作っていたChoc版を流行りの赤基板で作ってみました。
ついでにホットスワップソケット対応のMX版も作ってみました。
2022年8月28日の記事
リミックス
コントローラーボードをオリジナルのRaspberry Pi Picoから互換ボード*1に変更しました。
最近、USB-Cを使うことが多いし、Raspberry Pi Pico互換ボードは$2程度とオリジナルの半額になっているのでお財布に優しい。
Choc赤基板は、Pi Picoから紫のPICO-BOOTへ変更
MX黒基板は、Pi Picoから黒いYD-PR2040へ変更
紹介記事
KeyboardDweebs
作者Alex MillerさんKeyboardDweebs – Lots of Keyboard Stuffのサイトでは完売になっています。
データのダウンロード
CrowBoardのデータは、最初はKailh Choc V1専用PCBデータでしたが、現在はMX用のデータも追加されています。
3Dプリントのデータも追加されていました。
ライセンス
Don't forget. This keyboard is open sourced. You're welcome to make changes, manufacture your own, and sell them.
KeyboardDweebsはオープンソースに対する熱い思いが伝わってくるサイトです。
Make it your own! If you are a business, order some and start selling.
https://keyboarddweebs.net/products/crowboard-v1-pcb-kitkeyboarddweebs.net
発注
基板はいつものJLCPCBへ注文しました。
見積、注文が簡単、安くて、速い。
それぞれ最小発注数量5枚の値段です。
1枚あたり500円程度のワンコインです。
これに送料が加わります。
MX版を例に発送方法でOCS Expressを選ぶと
トータルで約4,000円です。
OCS Expressを使うと発注から9日で届きました。
青い箱に3色の基板入っていた。
— 𝕜urihara (@kurihary) 2023年7月23日
クロネコさんありがとう。 pic.twitter.com/eHpDEOAVdr
送料を薄めたいので、まとめて作りたくなります Yo 。(^^;
組立
ビルドガイド
ダイオード36個とスイッチ36個だけのシンプルな構成です。
ベタグランドがない配線パターンだけの基板なので、コテの熱を取られ難く、面実装ダイオードのハンダ付けも簡単でした。ハンダ付けの練習にもお勧めの基板です。
注意するのは、ダイオードを□のパターン側に線を向けるぐらいですね。
組立開始
おはようございます。連休っていいね。
— 𝕜urihara (@kurihary) 2023年8月14日
今日は、Raspberry Pi Pico互換ボードでCrowBoardのMXとChocを作ろう。LED無しなら2枚イケる。 pic.twitter.com/IVaqtj3Q7Z
ダイオードのハンダ付け
ダイオードのパターンは、リードタイプと面実装タイプが選べるようになっています。
ダイオードの向きを表すシンボルのシルクがないので、スルーホールの□のパターン側にダイオード線を合せるようにハンダ付けします。
YD-PR2040化について
YD-PR2040は電源周りのピンがPi Picoと少し違いますが、5V,3.3V,GNDのピン配置は同じです。
Aliの一見Pi Pico互換に見えるコントローラーボードの中には、GNDまで違うボードがあるので、注意ください。
CrowBoardは電源を使うLEDがなくて、基板シルクの22までの配線なので、そのまま使えます。
3V3_EN -> 23
ADC_VREF -> 29
ファームウエア
ファームウエアは、いつものPRK Firmwareを使いました。
PRK Firmwareは、uf2のインストールに1回とkeymap.rbに1回のドラッグ&ドロップで簡単に動かすことができます。
ファイルのダウンロードとドラッグ&ドロップ、必要なのはテキストエディタだけです。
PICO-BOOTのRPI-RP2容量
keymap.rb
KMKのkb.pyを参考にCOL,ROWピンを定義します。
チェック用のkeymap.rbです。
これをPRKFirmwareとして認識されたドライブにドラッグ&ドロップします。
これだけで、キー入力とLチカできます。
# Initialize a Keyboard # CrowBoard 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 ) # CrowBoard YD-RP2040 # 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 KC_L KC_MINUS KC_Z KC_X KC_C KC_V KC_B KC_N KC_M KC_COMMA KC_DOT KC_LSFT KC_NO KC_NO KC_LCTL KC_LGUI RAISE_SPC LOWER_SPC KC_ENTER KC_BSPACE KC_NO KC_NO ] kbd.add_layer :raise, %i[ KC_1 KC_2 KC_3 KC_4 KC_5 KC_6 KC_7 KC_8 KC_9 KC_0 KC_EXLM KC_AT KC_HASH KC_DLR KC_PERC KC_CIRC KC_AMPR KC_ASTER KC_LPRN KC_RPRN KC_PLUS KC_MINUS KC_ASTER KC_SLASH KC_EQUAL KC_N KC_INSERT KC_LBRC KC_RBRC KC_LSFT KC_NO KC_NO KC_LCTL KC_LGUI RAISE_SPC LOWER_SPC KC_ENTER KC_BSPACE KC_NO KC_NO ] kbd.add_layer :lower, %i[ KC_F1 KC_F2 KC_F3 KC_F4 KC_F5 KC_F6 KC_F7 KC_F8 KC_F9 KC_F10 KC_AT KC_BSLASH KC_SCOLON KC_SCOLON KC_QUOTE KC_LEFT KC_DOWN KC_UP KC_RIGHT KC_PIPE RGB_TOG RGB_MOD RGB_HUI RGB_HUD KC_B KC_N KC_M KC_LBRC KC_RBRC KC_LSFT KC_NO KC_NO KC_LCTL KC_LGUI RAISE_SPC LOWER_SPC KC_ENTER KC_BSPACE KC_NO KC_NO ] # Your custom Keycode or Keycode (only modifiers) Release time Re-push time # key name Array of Keycode or Layer Symbol to be held threshold(ms) threshold(ms) # or Proc or Proc which will run to consider as to consider as # when you click while you keep press `click the key` `hold the key` kbd.define_mode_key :ALT_Q, [ :KC_Q, :KC_LALT, 150, 150] kbd.define_mode_key :GUI_X, [ :KC_X, :KC_LGUI, 150, 150 ] kbd.define_mode_key :RAISE_SPC, [ :KC_SPACE, :raise, 150, 250 ] kbd.define_mode_key :LOWER_SPC, [ :KC_SPACE, :lower, 150, 250 ] 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!
アルバム
KEEB_PD
KEEB_PDという、毎週日曜19:00~21:00にいい感じのキーボードの写真をツイートするイベントに参加しています。
Single Board 34/36 Key Keyboard
— 𝕜urihara (@kurihary) 2023年8月20日
Keyboard: CrowBoard (by Alex Miller)
Switch: Kailh Choc Red Pro Switch
Keycap: MCC-profile POM Choc keycap#KEEB_PD #KEEB_PD_R160#PRK_Firmware #RaspberryPiPico #電子工作 pic.twitter.com/XQDFgYc7iH
JLCPCBのお得な情報
新規ユーザの特典
現在、JLCPCBは新規ユーザは$54クーポンの特典があります。
加えてtwitterアカウントをフォロー+DM=$10クーポンの特典もあります。
🌟日本の皆様、新しいJLCPCB日本語ホームページが完成しました🎉
— JLCPCB日本 (@JLCPCB_Japan) 2022年8月11日
新規ユーザーは$54クーポンを獲得できます🎁https://t.co/IQwp4aSBKZ
また、弊社のことをもっと知りたければ、画像のパンフレットをダウンロードしてください
最後に、私をフォロー+DMすれば、$10クーポンを獲得できますよ😃#JLCPCB pic.twitter.com/wH61sq9eU2