自作キーボード温泉街の歩き方

自作キーボードの世界は温泉に例えられます。自作キーボードの温泉街の楽しい歩き方を紹介します。

Bluetooth接続用のProMicro互換ボード「BLE Micro Pro」の話

こんにちは。自キ温泉ガイドをしている方のサリチル酸です。

f:id:Salicylic_acid3:20181202022859p:plain

今回は少し湯加減高めの内容を冷ますための紹介FAQ記事です。

みんな大好きBluetooth接続を自キで実現するためのマイコン、通称『BLE Micro Pro』のお話です。

2020/12/06 BLE Micro Proのファームウェアの書き込み方法の最新化に合わせて記事内容訂正。

はじめに

通称『BLE Micro Pro』(以下BMP)はせきごん(@_gonnoc)さんの設計したマイコンで、これをPro Microと差し替えるだけでBluetooth接続が実現できる夢のアイテム、ではありますが、色々癖があって少し湯加減(敷居)が高いです。

BMPの搭載を前提に設計したNaked60BMPを発売するに辺り、特徴や引っかかりそうなところなどを解説したいと思います。

2020/12/06追記

BLE Micro Proはせきごんさんの開発により、WebGUI上でファームウェアのアップデートからキーマップの書き込みまでできるようになりました。

詳細はこちらをしてください。

sekigon-gonnoc.github.io

f:id:Salicylic_acid3:20200719012728p:plain

こんな感じでWeb上から選べたりします。

凄い!

概要編

BMPってなに?

はじめに、でも書きましたが、Pro Microを置き換えることでBluetooth接続を可能とするマイコンです。

簡単な特徴をまとめると、以下の4点です。

  1. コンスルーを使うことでハンダ不要で取り付け可能。
  2. Bluetooth接続時には別途電池が必要。
  3. QMKの標準リポジトリでは対応していないので注意が必要。
  4. WebGUIの対応により、通常のPro Microより簡単かも。

どこで買うの?

遊舎工房の実店舗かBoothの以下のサイトで買うことが出来ます。

yushakobo.jp

booth.pm

光るの?

今の所、BMPを使用しつつLEDを光らせられる例は見たことがないですが、理論的には光らせることは出来る、みたいです。すごい。

OLEDは使えるの?

使えるらしいです。

せきごんさんのリポジトリにはマージしてないようですが、出来ないことは無いようです。

電池ってどうやって乗せるの?

せきごんさんが販売する電池基板を購入して空いたスペースに実装するか、

電池実装部分を込みで設計しているキットを購入するか、

キット専用に設計された専用電池基板を購入して規定のスペースに実装するか、

自分で電池基板を作成して実装するかの4択です。

約3Vの電圧を確保すれば、電池は何でも良いです。

せきごんさんの電池基板はこちら。

yushakobo.jp

電池実装部分込みのキットの例はこちら(宣伝)

booth.pm

キットに専用設計された電池基板の例はこちら。

booth.pm

独自で電池基板を実装した例はこちら

de0.hatenablog.com

電池基板のコイン電池って何買えばいいの?

せきごんさんの電池基板はCR1632というコイン電池を1個、または2個使用します。

BMPの動作電圧は約3Vなのですが普通の単3電池などは1.5Vしかないので、2個直列に繋ぐなどして3Vまで電圧を上げる必要があります。

リチウムを使用したコイン電池は1個で3Vまで出せるのでこの点で便利です。

ちなみにCR1632はコンビニなどで買うと結構高いのですが、百均でも買えますし、秋月電子などでも安いのでおすすめです。

コイン電池を使用する場合、どのくらい持つの?

せきごんさん曰わく、計算値は1000時間だそうです。

そのまま1000時間持つとすると1日8時間使うと125日間持つ計算です。

単3電池1個だけで無線化してるキット(SISO59)があるけど?

booth.pm

SISO59に使用している電池は普通の単3電池ではありません。

秋月電子などで販売されている1個で3Vの電圧が出せる特殊な電池で、充電不可の使い切りタイプとなっています。

容量は2.4Ahと、CR1632を並列で使用した場合の0.28Ahと比べて圧倒的に大容量です。

単純計算でも3年以上は持ちます。

見た目に大きく電池が見えることと、いざ切れたときの入手性を除けば良い選択肢と思います。

そうはいっても充電したいんだが?

充電式となると普通の充電池を2個直列で繋いで使用する方法か、充電基板を利用するかの2択です。

充電基板を用意しているキットは現時点でManta60だけだと思います。

ちなみにManta用の充電基板は約十数分の充電で5~8時間の駆動ができるようです。

私個人的には故障率なども考慮すると電池を使い捨てた方がコスパは良いと思いますが、まぁそこは個人の趣味ですね。

その思想はさておき、MANTA60BLEは使ってみたい…。

PCとの間だけBluetoothにして、分割型の左右間の通信は普通のTRRSがいいんだが?(BMPを1個、Pro Microを1個にしたい)

ProMicroでは無理ですが、LPME-IOを使えば可能です。

BLE Micro Proを左手側に、LPME-IOを右手側に装着すると部分無線化ができるようになります。

booth.pm

github.com

時々有線で使いたいんだけど、USBで接続することもできるの?

制約は有りますが、出来ます。

制約は以下の1点です。

  1. Bluetooth接続をOFFにしないとBluetoothとUSBで二重に入力されてしまう。

環境構築&ファーム書き込み編

どうやってファーム焼く環境を構築するの?

せきごんさんのWebComfiguratorで画面を操作すると書き込めます。

大丈夫、めちゃくちゃ簡単です。

黒い画面出てこない。怖くない。

 

https://sekigon-gonnoc.github.io/BLE-Micro-Pro-WebConfigurator/

詳しくはせきごんさんの説明を読みましょう。

sekigon-gonnoc.github.io

キーマップはどうやって変更するの?

BLE Micro Proを接続するとUSBメモリの用にUSBストレージがPCに表示されます。

その中のファイルをメモ帳などのテキストエディタで更新するだけでキーマップを更新できます。

QMK Configuratorで作成したキーマップファイルも読み込み可能です。

詳しくはせきごんさんの説明を読みましょう。

sekigon-gonnoc.github.io

Windowsの場合)TeraTermもインストールしておこう

BMPとシリアル接続できるソフトは必須だと思って良いです。

Windowsなら大人しくTeraTermを落としてインストールしましょう。

forest.watch.impress.co.jp

インストールしたらBMPをUSBで接続してシリアルの部分をクリックしてOKを押します。

f:id:Salicylic_acid3:20190602031833p:plain

こうなったらエンターを押して反応があるか確認します。

f:id:Salicylic_acid3:20190602031925p:plain

>が出てきたら正常に接続できた証拠です。

使用できるコマンドはhelpで表示できます。 

help コマンド一覧を表示
adv バイスの探索を開始
dfu ブートローダーを起動
show 保存済みのペアリングの数を表示
del [id] id番目のペアリングを削除

使うのはshowとdelくらいだと思います。(advは使ったこと無い)

Macの場合)よく知らないけどターミナルでもできると思う

持ってないので検証不可ですが、ググると色々情報出てくるので頑張って。

私は死んだ祖父の遺言でMacは買えませんのでごめんなさい。

使用編

ペアリングは何デバイスまでいけるの?

5デバイスまで行けます。

接続するデバイスを切り替えたいんだけど?

バイスIDを覚えておいて、各デバイスIDに対応するキーを押すことで切り替えます。

バッテリーの残容量って分からないの?

Bluetooth接続の状態でKC_BATTのキーコードを割り当てたキーを押しますと現在の電圧が文字列で打ち込まれます。

3000mV

※この電圧値はあくまで電池残容量の目安にしかならないです。電圧が落ちてきたら代え時かも、と用意しておきましょう。

USB接続状態で行うとUSBから給電されている数値(3000mV)が表示されるだけです。

ペアリングを解除したいんだけど?

PCにインストールされたTeraTermから行います。

以下のコマンドを用います。

del [id]

※[id]はペアリング番号

ペアリング番号はshowで確認出来ます。

うまくペアリングできないんだけど?

接続デバイスBMPの両方からペアリンを解除し、もう一度ペアリングを試します。

ペアリング解除は上述の項目を参考に実施します。

お役立ち情報というかTips編

BMP特有のキーコードとか有るの?

あります。

以下表でまとめてみました。

キーコード名

役割

KC_BATT

バッテリー電圧を文字列で入力します。

KC_BTON

BluetoothモードをOnにします。

KC_BTOF

BluetoothモードをOffにします。

KC_USBON

USBモードをOnにします。

KC_USBOF

USBモードをOffにします。

KC_BTNEW

新たなデバイスとペアリングを行います。

KC_BTID0

バイスID0と接続します。

KC_BTID1

バイスID1と接続します。

KC_BTID2

バイスID2と接続します。

KC_BTID3

バイスID3と接続します。

KC_BTID4

バイスID4と接続します。

※このキーコードは各キーボードファームウェアに直接実装しています。よって各キーボードで対応可否が異なる場合がありますので、個別に確認してください。

何もしてないのにキーが反応しなくなったんだけど?

BMPコンスルーを用いるとハンダ付けなしで装着できますが、USBの抜き差しをしているとBMPコンスルーから抜けることがあります。

一部のキーが反応しなくなったらまずBMPの抜けを確認しましょう。

BLE micro Proっていう名前で売ってないのなんで?

深遠かつセンシティブな理由があるので、そこはまぁ、ドンマイ。

サリチル酸BMPと何の関わりがあるの?

1ユーザーです。

せきごんさんにはいつもお世話になっております。

BMP対応済みのキットは何があるの?

BLE-Micro-Pro-WebConfiguratorのSelect keyboardの欄を見ると対応状況がだいたい分かります。

https://sekigon-gonnoc.github.io/BLE-Micro-Pro-WebConfigurator/#/config

設計編

BMP対応用の電池基板を載せたキーボードを設計しようと考えてるけど、13ピンのコンスルー使わないとダメ?

12ピンコンスルーでもダメではない(Pro Microと同数のピンを確保できる)ですが、設計で工夫が必要になります。

Bat-は電池のマイナス側をGNDに落とせばBMPとの接続不要なので12ピンで良いです。

Bat+側はリセットピンが実は入力にも使えるので、そこを活用した設計にすれば上にオフセットして挿すことで一番下のピンを開けられます。

f:id:Salicylic_acid3:20190602030504p:plain

ただし、その状態のままPro Microを使うと頻繁にリセットされて使えなくなるので、ジャンパーなどを間に挟みBMPを使う人だけジャンパさせると良いです。

f:id:Salicylic_acid3:20190602030721p:plain

とはいえ普通に一本13ピンコンスルーを使うようにした方が良いと思います。

BMPとか電池基板のフットプリントはどこにあるの?

電池基板のPCBデータはせきごんさんのリポジトリにあります。

※ただしKICADのバージョンが古いものなのでそのまま使えません。

github.com

Mac用にMouseKey機能をYesにしよう

MacBluetooth機器のポリシーというか余計なお世話ですが、マウス機能がないBluetooth機器を認識してくれないようです。

実際に使わなくても「rules.mk」の「MOUSEKEY_ENABLE」をYesにしておいておくと、後のトラブルが一つ減ります。

おわりに

BMPの話、いかがでしたでしょうか?

大丈夫、BMP怖くないよ。

本記事に対して問い合わせは私のDiscordまで、BLE Micro Pro自体のお問い合わせはSelf Made Keyboard in JapanのDiscordの#ble-micro-proまでお願いします。

salicylic-acid3.hatenablog.com

biacco42.hatenablog.com

本記事はNaked64SFで書きました。