・2022/01/09
BUFFALOの USB テンキーを Pro Microと QMKを使って VIAカスタマイズ キーボードに改造する方法
(BUFFALO USB 10-Key keyboard BSTK100 modification by Pro Micro and QMK firmware VIA)
Tags: [電子工作], [QMK]
● QMK firmwareの開発環境を ラズパイや Windows WSLにセットアップする方法
・2021/08/23
QMK firmwareの開発環境を ラズパイや Windows WSLにセットアップする方法
ラズパイや Windows WSL環境でカスタマイズ キーボードのファームウェア QMK firmwareの開発環境を構築
● 社畜のキーボード「新入社員の同期」を購入してみた!!
・2021/08/11
社畜のキーボード「新入社員の同期」を購入してみた!! VIA、QMK、Remapでのカスタマイズに対応
キー内容が Remap等でカスタマイズ可能な社畜のキーボード「新入社員の同期」を 3500円で購入
●【朗報】bstk100の QMK化の改造が本家の qmk_firmwareにマージされました!!!
New Keyboard - bstk100 #14158
8/26に PRを出して 1/9にマージになりました!!!
( 厂˙ω˙ )厂うぇーい うぇーい乁( ˙ω˙ 乁)
qmk_firmware/keyboards/handwired/bstk100
BUFFALO USB 10-Key keyboard BSTK100 modification by Pro Micro and QMK firmware .
・【朗報】bstk100の QMK化の改造が本家の qmk_firmwareにマージされました!!!

● BUFFALOの USB テンキーを Pro Microと QMKを使って VIAカスタマイズ キーボードに改造する方法
社畜のキーボードで QMK等のファームウェアの使い方を理解したので自前で市販のキーボードをベースに QMK化の改造をしてみました。(同人のキットを買うよりも安上がり)
VIAに対応しているので各キーを好きな様にカスタマイズできます。
BUFFALO USB 10-Key keyboard BSTK100 modification by Pro Micro and QMK firmware VIA
QMK = Quantum Mechanical Keyboard Firmware
BSTK100改造の QMKファームウェアのソースコード。
qmk_firmware/keyboards/handwired/bstk100
qmk_firmware/keyboards/handwired/bstk100/
bstk100
BUFFALO USB 10-Key keyboard BSTK100 modification by Pro Micro and QMK firmware .
info.json
{
"keyboard_name": "bstk100",
"url": "http://www.neko.ne.jp/~freewing/",
"maintainer": "FREE WING",
"width": 4,
"height": 6,
"layouts": {
"LAYOUT": {
"layout": [
{"label": "k00", "x": 0, "y": 0},
{"label": "k34", "x": 0, "y": 1},
{"label": "k03", "x": 1, "y": 1},
{"label": "k02", "x": 2, "y": 1},
{"label": "k13", "x": 3, "y": 1},
{"label": "k10", "x": 0, "y": 2},
{"label": "k11", "x": 1, "y": 2},
{"label": "k12", "x": 2, "y": 2},
{"label": "k01", "x": 3, "y": 2},
{"label": "k20", "x": 0, "y": 3},
{"label": "k21", "x": 1, "y": 3},
{"label": "k22", "x": 2, "y": 3},
{"label": "k23", "x": 3, "y": 3},
{"label": "k30", "x": 0, "y": 4},
{"label": "k31", "x": 1, "y": 4},
{"label": "k32", "x": 2, "y": 4},
{"label": "k33", "x": 3, "y": 4, "h": 2},
{"label": "k40", "x": 0, "y": 5},
{"label": "k41", "x": 1, "y": 5},
{"label": "k43", "x": 2, "y": 5}
]
}
}
}
● VIAでキーカスタマイズ時に必要なキーマップ定義の JSONファイル keymap.json
VIA Your keyboard's best friend
keymap.json
{
"name":"bstk100",
"vendorId":"0xFEED",
"productId":"0xB100",
"lighting":"none",
"matrix":{"rows":5,"cols":5},
"layouts":{
"keymap":[
[{"x":3,"h":0.5},"0,0"],
["3,4","0,3","0,2","1,3"],
["1,0","1,1","1,2","0,1"],
["2,0","2,1","2,2","2,3"],
["3,0","3,1","3,2",{"h":2},"3,3"],
["4,0","4,1","4,3"]
]
}
}
・BUFFALOの USB テンキー BSTK100の Pro Microと QMK firmware VIA キーボード カスタマイズ改造方法

● BUFFALOの BSTK100シリーズ テンキーのキーマトリクス配線仕様 BSTK100WH BSTK100BK
キー配置:5行 4列の格子状
マトリクス構成:6行 5列の変則格子構成
フレキ接続:左側から C0, C1, C2, C3, R0, R1, R2, R3, R4, R5, C4
※ R0はフレキ側は未使用、基板上の K1スイッチ(NumLock)で使用
行/列 | C0 | C1 | C2 | C3 | C4 |
R0 | [NumLock] (基板上 K1) | (無) | (無) | (無) | (無) |
R1 | (無) | - | * | / | (無) |
R2 | 7[Home] | 8[↑] | 9[PgUp] | [BS] | (無) |
R3 | 4[←] | 5 | 6[→] | + | (無) |
R4 | 1[End] | 2[↓] | 3[PgDn | [Ent] | [Tab] |
R5 | 0[Ins] | 00 | (無) | .[Del] | (無) |
※ R0と R1は共通にできる(互いに干渉しないから)
Pro Micro 行 | Pro Micro 列 | B6 | B2 | B3 | B1 | F7 |
| 行/列 | C0 | C1 | C2 | C3 | C4 |
B5 | R0/R1 | [NumLock] (基板上 K1) | - | * | / | (無) |
B4 | R2 | 7[Home] | 8[↑] | 9[PgUp] | [BS] | (無) |
E6 | R3 | 4[←] | 5 | 6[→] | + | (無) |
D7 | R4 | 1[End] | 2[↓] | 3[PgDn | [Ent] | [Tab] |
C6 | R5 | 0[Ins] | 00 | (無) | .[Del] | (無) |
※ R0と R1をショートした場合
JSON定義はこれで良いのかな?
{
... 省略 ...
"matrix":{"rows":5,"cols":5},
"layouts":{
"keymap":[
["0,0"],
[{"y":0.25, "x":1},"0,3","0,2"],
[{"y":0, "x":3},"0,1"],
[{"y":-1},"1,0","1,1","1,2"],
[{"y":-2, "x":3},"1,3"],
[{"y":1},"2,0","2,1","2,2","2,3"],
["3,0","3,1","3,2",{"h":2},"3,3"],
[{"y":-4},"3,4"],
[{"y":3},"4,0","4,1","4,3"]
]
}
}
素直にこう書けるのかな?
{
... 省略 ...
"matrix":{"rows":5,"cols":5},
"layouts":{
"keymap":[
["0,0"],
[{"y":0.25},"3,4","0,3","0,2","1,3"],
["1,0","1,1","1,2","0,1"],
["2,0","2,1","2,2","2,3"],
["3,0","3,1","3,2",{"h":2},"3,3"],
["4,0","4,1","4,3"]
]
}
}
・BUFFALOの BSTK100シリーズ テンキーの VIA JSON定義、キー配置のデザインレイアウトの JSON

● Pro Microの基板シルクと端子の対応表
- | - | - | USBコネクタ | - | - | - |
D3 | TX0 | . | -- | . | RAW | RAW |
D2 | RX1 | . | -- | . | GND | GND |
GND | GND | . | -- | . | RESET | RESET |
GND | GND | . | -- | . | VCC | VCC |
D1 | 2 | . | -- | . | A3 | F4 |
D0 | 3 | . | -- | . | A2 | F5 |
D4 | 4 | . | -- | . | A1 | F6 |
C6 | 5 | . | -- | . | A0 | F7 |
D7 | 6 | . | -- | . | 15 | B1 |
E6 | 7 | . | -- | . | 14 | B3 |
B4 | 8 | . | -- | . | 16 | B2 |
B5 | 9 | . | -- | . | 10 | B6 |
- | - | - | -- | - | - | - |
B0 | 17 | RX-LED | -- | TX-LED | 30 | D5 |
config.h
#define MATRIX_ROW_PINS { B6, B2, B3, B1, F7 }
#define MATRIX_COL_PINS { B5, B4, E6, D7, C6 }
// The state of the indicator pins when the LED is "on" - 1 for high
#define LED_PIN_ON_STATE 0
#define LED_NUM_LOCK_PIN D4
#define LED_CAPS_LOCK_PIN D5
#define LED_SCROLL_LOCK_PIN B0
● Pro Micro基板の改造方法
BUFFALOのテンキーの USBケーブルをそのまま使いたかったので Pro Micro基板の USBコネクタが不要なのでモギ取ります。
※ 勿論 Pro Micro基板の USBをそのまま使用する方法でも大丈夫です
他の皆は Pro Micro基板の USBマイクロ コネクタが「モゲル!モゲル!」と悲しみますが、私の場合は敢えてモギ取ります。なんと贅沢な!
モギ取った後に直接基板のパターンに USBの配線を行ないます。
基板の配線パターンが剥離しない様に最新の注意をしながらエイヤッと USBマイクロ コネクタをもぎ取りました。
そして、USBコネクタのパターン部分に配線をしました。
配線にはワイヤリングペンと UEW ポリウレタン銅線を使用しています。
・BUFFALOの USB テンキー BSTK100の Pro Microと QMK firmware VIA キーボード カスタマイズ改造方法


USBコネクタのパターン部分に配線を半田付け。

基板パターンの剥離や断線防止でホットメルトで補強します。
●改造元となる BUFFALOの USB テンキー BSTK100の外観






・BUFFALOの USB テンキー BSTK100の Pro Microと QMK firmware VIA キーボード カスタマイズ改造方法







● BUFFALOの USB テンキー BSTK100の Pro Microと QMK firmware VIA キーボード カスタマイズ改造方法
元々の制御基板のテストランドに配線を行うと楽ができます。
元々の制御基板のコントローラ部分に電源や信号が行かない様にパターンカットを行ないます。
裏面の滑り止めラバーの左右にネジが有ります。
裏面の滑り止めラバーの左右にネジが有ります。
ネジを取ったら上側から分離できます。
・BUFFALOの USB テンキー BSTK100の Pro Microと QMK firmware VIA キーボード カスタマイズ改造方法

BUFFALOの USB テンキー BSTK100を分解した所。






USB部分の配線を軽く触ったら GND線が取れました!!
うん、製造不良!!

BUFFALOの USB テンキー BSTK100のコントローラ基板にはテストランドが有るのでキーマトリクスの配線が楽にできます。
・BUFFALOの USB テンキー BSTK100の Pro Microと QMK firmware VIA キーボード カスタマイズ改造方法




こんな感じに Pro Microモジュール基板を配置できます。
・BUFFALOの USB テンキー BSTK100の Pro Microと QMK firmware VIA キーボード カスタマイズ改造方法
パターンカットの部位と配線方法。
元々の制御基板のコントローラ部分に電源や信号が行かない様にパターンカットを行ないます。
元々の制御基板のテストランドに配線を行うと楽ができます。
一番上の線はカットしない!!
LEDへの電源供給の配線になっています。
一番上の線はカットしない!!(オレンジ色に着色しています)
LEDへの電源供給の配線になっています。
コントローラ基板のテストランド側に先に配線を半田付けします。
Pro Microモジュール基板の USB配線をコントローラ基板に半田付けします。


キーマトリクスと NumLock LEDの配線を Pro Microモジュール基板に半田付けして完成です。
・BUFFALOの USB テンキー BSTK100の Pro Microと QMK firmware VIA キーボード カスタマイズ改造方法



元通りに組み立てて完成
●ノートパソコンのキーボードを QMK化している人
QMK Powered Laptop Keyboard
Teensy 3.2
専用の変換基板を多数作っていて物凄い執念を感じる。(ここまで極めると凄い!!)
How to Make a USB Laptop Keyboard Controller
Tags: [電子工作], [QMK]
●関連するコンテンツ(この記事を読んだ人は、次の記事も読んでいます)
【自由工作】市販のキーボードを無改造で VIA QMK化する Keyboard Quantizerを自作する【夏休み】
夏休みが明けたら 僕のキーボードが最強になって クラスのみんなから MMK 大作戦
QMK firmwareの開発環境を ラズパイや Windows WSLにセットアップする方法
ラズパイや Windows WSL環境でカスタマイズ キーボードのファームウェア QMK firmwareの開発環境を構築
QMK firmwareでプログラムのサイズを小さくするテクニック、ケチケチ プログラミングの方法
QMK firmware How to Reduce Program Size、Reducing QMK firmware size
QMK firmwareで I/Oピンが足りない場合にデコーダ、デマルチプレクサを使用して IOを拡張する解決方法
QMK firmware expand I/O for many matrix keyboard、How to use IO Expander Multiplexer / Demultiplexer / Decoder
QMK firmwareで I/Oピンが足りない場合に I2Cの GPIOエキスパンダを使用して IOを拡張する解決方法
QMK firmware expand I/O for many matrix keyboard、How to use I2C GPIO Expander PCF8574 and PCF8575
QMK firmwareで Audio機能を試してみる
QMK firmware test Audio function with Piezo buzzer
QMK firmwareで OLED機能で SSD1306を試してみる
QMK firmware test OLED Driver with SSD1306
QMK firmwareで Analog Stick機能で PSP2000用アナログ ジョイスティックを試してみる
QMK firmware test Analog Joystick function with PSP2000 Analog Stick
最新の QMK firmwareで new_keyboard.shのコマンドが動かなくなったのを修正する方法
QMK Bugfix Create New Keyboard new_keyboard.sh command No such file or directory Error
QMK firmwareの Githubを forkした自分のリモートに pushすると怒られて pushできない場合の対応方法
refusing to allow an OAuth App to create or update workflow `.github/workflows/api.yml` without `workflow` scope
中華製の格安なプログラマブル USBキーボードを買ってみた QMK VIAとは別物
中華製のプログラマブル USBキーボード KeyboardSetter.exe
社畜のキーボード「新入社員の同期」を購入してみた!! VIA、QMK、Remapでのカスタマイズに対応
キー内容が Remap等でカスタマイズ可能な社畜のキーボード「新入社員の同期」を 3500円で購入
[HOME]
|
[BACK]
リンクフリー(連絡不要、ただしトップページ以外は Web構成の変更で移動する場合があります)
Copyright (c)
2021 FREE WING,Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator
http://www.neko.ne.jp/~freewing/hardware/qmk_customize_keyboard_buffalo_bstk100_modify/