kuriharaのブログ

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

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

オープンソースのキーボード 『Alphalpha+』を組立てました。

はじめに

オープンソースのキーボードAlphalpha+を組立てました。
Alphalpha+はOTTIMOさん設計のキーボードです。
29キーのキーボード Alphaを元にAlphalphaからAlphalpha+さらにV2と進化しています。

V2になって6Uスペースバー部分に1U、2U、3Uが選べるようになっています。

リミックス

手持ち部品の在庫を考慮して、少しリミックスしました。

  • オリジナル設計のPro MicroをRP2040 ZEROに置き換える
  • オプションのLED stripをSK6812MINI-Eに置き換えてLチカする

Alphalpha+について

Keyboard Builders' Digestの紹介記事

kbd.news

データのダウンロード

データはMIT Licenseで公開されています。
alphalpha_plus/LICENSE at main · subottimale/alphalpha_plus · GitHub

github.com

基板の発注

基板はいつものJLCPCBへ注文しました。

発注方法はサリチル酸さんの記事を参考にしてください。
salicylic-acid3.hatenablog.com

基板の金額

赤い基板を見せたいので、オーダーナンバーを消すオプションを指定しました。

送料はOCS Express6-8 business daysを選んで$11.46です。

到着

2月27日に支払い、3月9日に届きました。
色や基板厚を変えた基板をまとめて発注しましたが、いつもの速さです。
注文と組立の予定を隔週で立てれますね。



組立

Alphalpha+のデータには、回路図やビルドガイドが見当たりません。
基板上にLEDは無く、ダイオードの向きだけ注意すれば比較的簡単に組立てできます。



ダイオードのハンダ付け

ダイオードのシルクは、「コ」文字だけで回路シンボルがありません。
下の写真の方向にダイオードをハンダ付けします。


ピンヘッダのハンダ付け

スイッチはホットスワップソケットではなく、基板に直接ハンダ付けします。

ピンヘッダーでコントローラボード(ProMicroやZero)を固定する場合には、ピンヘッダーをハンダ付けした後にスイッチをハンダ付け、最後にコントローラボードをハンダ付けします。

リミックスRP2040 ZERO

オリジナルの設計はPro Microを使っています。
私は、安くて部品箱にいっぱいのRP2040 ZERO を使いました。

Pro MicroとRP2040 ZEROは、ピン数もピン配置も違います。
Pro Microを裏刺しするキーボード基板の場合は、GNDとVDDピンを浮かしてZEROを載せると基板の配線パターンカットなしで取換えできます。

プログラムができるピンは、Pro Micro 18本、RP2040 ZERO 16本+4バッドなので、置換えできます。Pro Microの12ピン⑨,13ピン⑩を使っていなければ、特に簡単に置換えできます。*1

Zeroの使い方

Pro Micro のボトムビューのピン配置にZeroを重ねたイメージです。
Pro Microを裏刺しして使っているキーボード基板にZeroを載せるときは、電源、GNDを使わないようにします。
LEDを使う場合には、電源、GNDをジャンパします。


Pro Microの3ピンのGNDから10ピンにジャンパ、Pro Microの4ピンのGNDがリセットスイッチ用のGNDになっていたので、配線をSK6812MINI-EのDINに借用しました。




ファームウエア

RP2040 ZEROのファームウエアは、いつものPRK Firmwareを使いました。
理由は、インストールとkeymap.rbの書込みを2回のドラッグ&ドロップのみでできるからです。

keymap.rb

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!

Lチカ

アルバム

キーキャップなし

基板を楽しみたいので、まずはスタビ、キーキャップなし


KEEB_PD

KEEB_PDという、毎週日曜19:00~21:00にいい感じのキーボードの写真をツイートするイベントに参加しています。


JLCPCBのお得な情報

新規ユーザの特典

現在、JLCPCBは新規ユーザは$54クーポンの特典があります。
加えてTwitterアカウントをフォロー+DM=$10クーポンの特典もあります。

20230220184842

https://twitter.com/JLCPCB_Japan

部品の入手先

talpkeyboard.net

*1:キーボードでは、内側への配線で使いたいピンなので少ないと思います

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