k69 blog

「誰かの役に立てればいいな」という思いで、IT・生活・趣味を取り上げたブログ。

otaku split rev.1 ビルドガイド

# はじめに

これからOtaku Split Rev.1を作成する人に役立てばよいと思い、ビルドガイドを作成しました。
もちろん完成したOtaku Splitでこのビルドガイドは書かれています。
※ 本ビルドガイドは動作を保証するものではありませんので、キーボード作成は自己責任でお願いします('ω')ノ

f:id:keita69sawada:20190708164755j:plain
Otaku Split

f:id:keita69sawada:20190709084531j:plain
Otaku Split 裏面

Otaku Split の特徴

  • 左手33キー右手40キー、合計73キーの分割キーボード
  • 日本語物理配列を基として、市販の日本語交換用キーキャップのみで足りるように設計
  • 現在最も普及している日本語配列をもととした配列です。ほとんど配置が変えない、移行コストを下げることを考えて設計
  • 分割されたことで本来ある場所にキーがないと戸惑う、という声を聴いて一般的なキーボードで打鍵担当指が曖昧な「6」「Y」「B」を左右両方のキーボードに配置
    *1

作成の流れ

1. 部品チェック

部品表を見ながら不足しているものがないか確認します。

f:id:keita69sawada:20190708173852j:plain
部品表
f:id:keita69sawada:20190708173540j:plain
基盤2個(”オタクスプリットと書いてあるのが表面”)
f:id:keita69sawada:20190708173516j:plain
トッププレート2個とボトムプレート2個
f:id:keita69sawada:20190708173511j:plain
ダイオード80個
f:id:keita69sawada:20190708173439j:plain
TRRS2個
f:id:keita69sawada:20190708173524j:plain
ねじ4㎜28個
f:id:keita69sawada:20190708173450j:plain
スペーサー8㎜10個 12mm4個
f:id:keita69sawada:20190708173445j:plain
ジャンパ抵抗1個
f:id:keita69sawada:20190708173503j:plain
スライドスイッチ2個
f:id:keita69sawada:20190708173532j:plain
リセットスイッチ2個
f:id:keita69sawada:20190708173431j:plain
promicro2個
f:id:keita69sawada:20190708173506j:plain
ソケット73個
f:id:keita69sawada:20190708173546j:plain
透明クッション8個(部品表にないので早割の購入のおまけ?)

2. 【裏面】ダイオード(33+40)のハンダ付け

まずはこのページを読んで、イメトレしましょう。

skyhigh-works.hatenablog.com

ダイオードには向きがあるので注意!-|◀-| T4のように縦棒 | の位置を合わせる。

f:id:keita69sawada:20190709091938j:plain
ハンダ付け前
f:id:keita69sawada:20190709091951j:plain
ハンダ付け後

※ D41とD42(右手のみ)だけはダイオードの向きが異なります。(充電池用?らしいのでBLE化しない場合はおそらく使わない。。。)

3. 【裏面】ソケット(33+40)のハンダ付け

私はダイオードと同じやり方でハンダ付けしました。 ソケットも向きがあるので気を付けましょう。

*2

f:id:keita69sawada:20190709094137j:plain
ソケット取り付け後(向きはすべて同じ)

4. 【裏面】ジャンパ抵抗[R3]のハンダ付け(右手のみ)

f:id:keita69sawada:20190709095702j:plain
ジャンパ抵抗(ハンダ付け前)
f:id:keita69sawada:20190709095712j:plain
ジャンパ抵抗(ハンダ付け後)※アップにするとひどいな・・・

5. 【表面】リセットスイッチのハンダ付け

ここから【表面】にハンダ付けです。 私はマスキングテープで固定したのち、ハンダ付けしました。

f:id:keita69sawada:20190709100450j:plain
リセットスイッチ(ハンダ付け前)

6. 【表面】TRRSのハンダ付け

私はマスキングテープで固定したのち、ハンダ付けしました。

f:id:keita69sawada:20190709101004j:plain
TRRS(ハンダ付け前)

7. 【表面】スライドスイッチのハンダ付け

私はマスキングテープで固定したのち、ハンダ付けしました。
両スイッチを手前にしておくといいかもしれません。

f:id:keita69sawada:20190709101417j:plain
スライドスイッチ(ハンダ付け前)

8. 【表面】promicro(ZigZag)のハンダ付け

ピンヘッダーの長い方が上にし、ブレットボードなどでpromicroを固定した状態でハンダ付けをします。

f:id:keita69sawada:20190709103731j:plain
promicro(ハンダ付け前)

ハンダ付けが完了したら、基盤にpromicroを差し込みます。(結構固いので力が要ります)ハンダ付けはしません!

f:id:keita69sawada:20190709103741j:plain
promicro(ハンダ付け後)

あと、私は基盤にpromicroを差し込んだら、余分なピンペッダーをニッパーで切断しました。

9. 基盤/プレートの組み立て

9-1. まずはトッププレートを折ります。

私はボトムプレートを重ねた状態でテーブルの端をつかって手で折りました。

f:id:keita69sawada:20190709112158j:plain
トッププレートを折る

9-2. ねじ止め

ネジ穴はいっぱいありますが、メイン基板と各プレートを重ねたとき、メインプレートの大きい穴から小さい穴がみえる箇所にスペーサーを付けます。
※ 「スペーサー」より「大きい穴から小さい穴がみえる箇所」が多いので、お好みの打鍵感に合わせてねじ止め位置を変えましょう。

f:id:keita69sawada:20190709113955j:plain
組み立て(右)

※ 折ったプレートの取り付けは、キーキャップと干渉する可能性があるのでキーキャップ取り付け後の方がよいかも

10. キースイッチの取り付け

キースイッチの足が曲がらないように注意しながら取り付けていきます。
プレートを安定させるため、私は4つ角からキースイッチを取り付けました。

f:id:keita69sawada:20190709114631j:plain
キースイッチ(取り付け後)

11. ファームウェアの書き込み(概要のみ)

https://github.com/qmk/qmk_firmwareをクローンして、 make otaku_split/rev1:defaultでビルドできます。

私(Win10)はこちらを参考にしてファームウェア書き込み環境を作りました。 qiita.com

12. 動作確認

左右のスライドスイッチの手前にした状態で、すべてのキーが動作することを確認をします。

正しく動かない場合はハンダ付けをチェックし、テスターで1つ1つ丁寧にチェックしましょう。

※ 天高工房(本家)ビルドガイドより抜粋

電源が不安定だったり、列/行単位で動作がない場合は、一度抜き取り、該当する足をペンチでほんの少しだけ傾ける
めんどくさい場合は接触不良の足にだけ、少量はんだをいれる

13. キーキャップの取り付け

お好みのキーキャップを取り付けて、完成!!

f:id:keita69sawada:20190708164755j:plain
完成!!

カスタマイズ編

光らせる(Undergrow/BackLight LED)

f:id:keita69sawada:20190728175237j:plain

テープLEDを使ってオタクスプリットを光らせてみました。

結論から言うと、

  • アンダーグロー(下向きに光らす)は底板がアクリル(透明)でないため、 苦労のわりに報われないですw
  • バックライト(上向きに光らす)の方が効果的(満足感あり)。私は最下段のキーだけ実装。 頑張ればすべてのキーに実装できると思うが、私は最下段だけで満足したw

かっこいいのですが配線やスペースを考慮しながら作成するのはかなり大変でした。

実装概要

  1. 必要なもの(テープLED、配線ケーブルなど)を準備(購入)する
  2. バックライトの位置をマジックで底板にマーキングする。
  3. アンダーグロー(下向きに光らす)を実装
  4. 基盤と底板の配線コネクタを作成
  5. バックライト(上向きに光らす)を実装
  6. ファームウェアの修正と適用

0. 必要なもの(テープLED、ケーブルなど)を準備(購入)する

光らせたい数だけのテープLEDを購入します。 また、テープLEDを接続するためのケーブルなどを合わせて準備します。

私は、 テープLEDは遊舎工房で購入し、ケーブル類は電子工作キットELEGOO Electronic Fun キット Arduino用電子LearningキットE2にあるものを適当に使用しました。

あと、ケーブルストリッパーはあった方がよいと思います。 私もベッセル(VESSEL) ワイヤーストリッパー No.3500E-2 を買いました。

1. バックライトの位置をマジックで底板にマーキング(テープLEDをつける場所に目印をつける)する。

f:id:keita69sawada:20190728221944j:plain
マーキング

 2. アンダーグロー(下向きに光らす)を実装

下記の部分からテープLEDに配線をハンダします。

f:id:keita69sawada:20190728224118j:plain
LED端子裏面

f:id:keita69sawada:20190728224600j:plain
1つ目のアンダーグロー

好きなだけハンダ付けしましょうw

3. 基盤と底板の配線コネクタを作成

アンダーグロー(下向きに光らせる)は、テープLEDを基盤側に取り付けましたが、バックライト(上向きに光らせる)は底板にテープLEDをつけるため、基盤と底板の配線コネクタが必要となります。
(コネクタやケーブルをどの隙間に収納するか考えないとキーボードを組み立てることができなくなるので注意が必要です)

f:id:keita69sawada:20190728175228j:plain

4. バックライト(上向きに光らす)を実装

底板にマーキングした場所にテープLEDを張り付け、ハンダ付けしていきましょう。 非常に短い間隔で配線をすることになるので私は抵抗の足を利用しました。

f:id:keita69sawada:20190728230148j:plain
抵抗の足を利用

5. ファームウェアの修正と適用

参考にしてください。

rules.mk

RGBLIGHT_ENABLEを有効化します。 ※ BACKLIGHT_ENABLE = noである点は注意。

RGBLIGHT_ENABLE = yes        # Enable keyboard RGB underglow

config.h

特に★の箇所は注意しましょう。 ★1 左右のキーボードにそれぞれいくつのテープLEDがあるか定義します。 ★2 左右のキーボードにあるテープLEDの合計数を定義します。

※ QMKのファームウェアのメモリに余裕がある人はすべてのanimationsを有効にしてもよいと思います。

#define RGB_DI_PIN D4   ★D4 固定
#ifdef RGB_DI_PIN
   #define RGBLED_SPLIT { 7, 14 }    // Number of LEDs ( left, right )   ★1
   #define RGBLED_NUM 21  ★2
   #define RGBLIGHT_HUE_STEP 8
   #define RGBLIGHT_SAT_STEP 8
   #define RGBLIGHT_VAL_STEP 8
   #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
   #define RGBLIGHT_SLEEP  /* If defined, the RGB lighting will be switched off when the host goes to sleep */
 /*== all animations enable ==*/
//   #define RGBLIGHT_ANIMATIONS
// /*== or choose animations ==*/
   #define RGBLIGHT_EFFECT_BREATHING
//   #define RGBLIGHT_EFFECT_RAINBOW_MOOD
//   #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
   #define RGBLIGHT_EFFECT_SNAKE
//   #define RGBLIGHT_EFFECT_KNIGHT
//   #define RGBLIGHT_EFFECT_CHRISTMAS
//   #define RGBLIGHT_EFFECT_STATIC_GRADIENT
//   #define RGBLIGHT_EFFECT_RGB_TEST
//   #define RGBLIGHT_EFFECT_ALTERNATING
// /*== customize breathing effect ==*/
   /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
   #define RGBLIGHT_BREATHE_TABLE_SIZE 256      // 256(default) or 128 or 64
   /*==== use exp() and sin() ====*/
   #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85  // 1 to 2.7
   #define RGBLIGHT_EFFECT_BREATHE_MAX    255   // 0 to 255
 #endif

参考

*1:天高工房(本家)ビルドガイドと販売サイトより抜粋

*2:高速でアップされていた、みずさんのビルドガイドを参考にさせてもらいました