kuriharaのブログ

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

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

黒いPro Micro RP2040を使って自作キーボード『Nomu30』をファームウェアPRK_firmwareで動かす

半導体不足の中でも供給が安定していたRaspberry Pi Pico。
搭載チップのRP2040もいろいろなコントローラーボードに使われていて迷うほどです。

自作キーボードに使われるコントローラーボードには、Pro Microを意識したものがあります。
adafruit KB2040
SparkFun Pro Micro - RP2040

そんなRP2040に新しいボードが出ました。$3台とお安く売っています。


はてなよりもXの方がカードが綺麗ですね。(Xは表示が頻繁に変わる?)

Pro Micro RP2040

SparkFunの赤い Pro Micro - RP2040ではありません。

試したみたところ、Pro Micro(ATmega32)のフットパターンに対してUSBコネクタ側を1ピン余らせればGND,VCC(3V3),RSTが一致します。

基板シルクの表示が合っていそうです。写真が追加されています。

Pro Microをそのまま載替えできそうな予感。。。😃

裏面にBOOTのシルクがありました。タクトスイッチを押さなくても裏面からBOOTできます。
Pro Micro(ATmega32)を裏返しに取付ける自作キーボードにハンダ付けしてもBOOTできる。🎉

Xのリンク(カード)はスレッドの一部です。
Xを開いて、スレッドを読んでいただくと楽しいかも。。。(^^)


回路図

まだ見つかりません。

ピン配置

やっと見つけました。

ここにあります。

AliのWIN WINのサイトのピン配置はPico Mini RP2040だけです。

フットプリント(20240223 追記)

良吉さんが公開しています。



SparkFun Pro Micro - RP2040 との互換性

自作キーボードに先行して使われてたSparkFunの赤い Pro Micro - RP2040とピン配を比べます。
ここでもUSBコネクタ側を1ピン余らせればGND,VCC(3V3),RSTが一致します。ソースがあればそのままで動く。


とりあえずLチカ

PRK_firmware を使って、オンボードの赤色LEDをLチカしてみました。

PRK Firmware

PRK Firmwareは自作キーボード用のファームウェアです。

PRK Firmwareは、uf2のインストールに1回、keymap.rbのコピーに1回、2回のドラッグ&ドロップで簡単に動かすことができます。
PRK_firmwareなら単体のLEDよりもNeoPixel LEDのRGB Lチカの方が簡単かも。(^^;

ファイルのダウンロードとドラッグ&ドロップ、必要なのはPCとテキストエディタだけです。
NeoPixel LED RGBのLチカも素早くできます。

PRK Firmware

PRK_Firmwareの最新版をダウンロード、ブートボタンを押しながら認識されたドライブにドラッグ&ドロップします。

github.com

はすみきん さんの記事を参考に
shimane.monstar-lab.com

一般的なLチカのkeymap.rb

GPIO_OUT = 1
GPIO_IN  = 0
HI = 1
LO = 0

# Pro Micro RP2040は、GPIOの17番が
# ボード上のLEDにつながっている
pin = 17
# そのピンを初期化
gpio_init(pin)
# そのピンを出力ピンとして設定
gpio_set_dir(pin, GPIO_OUT)
# 無限ループ
while true
  # 出力をハイに(電圧をかける)
  gpio_put(pin, HI)
  # 1秒休み
  sleep 1
  # 出力をローに(電圧をゼロにする)
  gpio_put(pin, LO)
  # 1秒休み
  sleep 1
end

NeoPixel LED RGBなLチカのkeymap.rb

#  Alphalpha+ RP2040 ZERO
# Initialize a Keyboard
kbd = Keyboard.new

# Initialize RGB class with pin, underglow_size, backlight_size and is_rgbw.

rgb = RGB.new(
  3,   # pin number RP2040 ZERO
  7,    # size of underglow pixel
  0,    # size of backlight pixel
  false # 32bit data will be sent to a pixel if true while 24bit if false
)

sleep 1
rgb.effect = :swirl
rgb.speed = 28
kbd.append rgb # `kbd` is an instance of Keyboard class that should be newed in advance

kbd.start!

Nomu30のPro Micro(ATmega32)を交換

Nomu30のPro Micro(ATmega32)から黒いPro Micro RP2040へ交換、ダウンロードと2回のドラッグ&ドロップ(ファイルのコピペ)で動きました。

Nomu30のkeymap.rb

github.com

ということは

RP2040を載せた$3台のマイクロコントローラボードがその他のキーボード用のファームウェアが使えるということです。

Pro Micro と電源端子互換なので、既存の自作キーボードにも使えるということです。

KMK

kmkfw.io

Kermite

kermite.org

アルバム



海外通販

Pro Micro RP2040を選んでください。Miniはピン配違います。

aliexpressリンク

aliexpressリンク

国内通販

talpkeyboard.net

情報求む

オープンソースハードウエアのシルクが入っています。

makezine.jp

回路図などの情報を知っている方、ぜひコメントで教えてください。 m( _ _)m

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