kuriharaのブログ

ゴルフと電子工作と山での暮らし。ありもの使い、ないもの作り。

このブログは【広告/PR】を含む場合があります。

オープンソースのキーボード『CrowBoard』をRaspberry Pi Picoほぼ互換のYD-PR2040をのっけてPRK FirmwareでLチカ

はじめに

CrowBoardは、コントローラにRaspberry Pi Picoを使った36キーの オープンソースPCB自作キーボードです。
黒い基板に白いカラスが映えるデザインなので、緑基板のPi Picoから黒いYD-PR2040へ変えてみました。
CrowBoardのファームウエアは、KMK、QMKが紹介されています。
私は、使い慣れたPRK_Firmware を使いました。

追記:2023/11/16
3Dプリントのケースデータも追加されています。
また、VIAL.対応のUF2も公開されていますので、自作キーボードを試してみたい方にお勧めです。

紹介記事

redditのこの記事でCrowBoardを知りました。

www.reddit.com

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用の基板も追加されています。

github.com

ライセンス

Don't forget. This keyboard is open sourced. You're welcome to make changes, manufacture your own, and sell them.

https://cdn.shopify.com/s/files/1/0643/1460/5785/products/279390801_10160088698725762_4381705606970029745_n.jpg?v=1652308322&width=600

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日で届きました。

組立

ビルドガイド

ダイオード36個とスイッチ36個だけのシンプルな構成です。
ベタグランドがない配線パターンだけの基板なので、面実装ダイオードのハンダ付けも簡単でした。
注意するのは、ダイオードを□のパターン側に線を向けるぐらいですね。

github.com

組立開始

YD-PR2040化について

YD-PR2040は、電源周りのピンがPi Picoと少し違います。
5V,3.3V,GNDのピン配置は同じです。GPIOの定義を変えるか、配線カット、ジャンパで何とかなります。
CrowBoardは、電源を使うLEDがないのでキーに使っているピンも後追いで確かめます。

Aliの一見Pi Pico互換に見えるマイコンボードの中には、GNDまで違うボードがあるので、注意ください。(2022/09/06追記)
kurihara.hatenadiary.jp


結果よし

結果的にYD-PR2040とCrowBoardのシルクが注意するところが分かるようになっていました。


ファームウエア

ビルドガイドには、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ピンを定義します。

github.com

チェック用の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チカ



KEEB_PD


JLCPCBのお得な情報

新規ユーザの特典

現在、JLCPCBは新規ユーザは$54クーポンの特典があります。

20230220184842

X(旧Twitter)アカウントフォローの特典

加えてX(旧Twitter)アカウントをフォロー+DM=$10クーポンの特典もあります。



ファイルマネージャ

JLCPCBは、サイトのユーザインタフェースが使い易いのも気に入っています。
例えば、ファイルマネージャにはアップロードしたデータ(見積りだけ、キャンセルを含む)が残っていて、ファイルをクイックすると見積の画面が開きます。
まとめてオーダーした1部を発注したり、3Dプリントでは素材を変えたりの操作が簡単です。

つづき 2023/08/29追記

また作った。

kurihara.hatenadiary.jp

誤字、脱字や間違いはコメント欄で教えてください。m(_ _)m