ペロペログ

親に向かってなんだそのブログは

Let's Splitをなるべく安く作ろうとした話

f:id:prpr_man:20180414231851j:plain

自作キーボード界隈では定番のLet's Split(通称レツプリ)を作りましたのでビルドログとしてまとめます. 久しぶりのブログ記事がこんなのでええんか?


レツプリとは

レツプリは格子配列の左右分離型キーボードで,radditのwootpatootさんによって作られました.一般的なテンキーが付いたキーボードのおよそ40%までキーを削減したPlanckというキーボードがありますが,レツプリはこれを二等分したようなキーボードです.詳細な説明は他の記事に任せますが,なんでもナウなヤングにバカウケなキーボードらしい1ですね.

さて今回はこれを作っていくわけですが,作成には基板,キースイッチ,キーキャップ…などが必要になります.これらを全て揃えていくと制作費が1〜2万円とそこそこなお値段になってしまうようです.どうせ普段使いしないだろうし,自作である利点を活かしてなるべく安く作りたいものです.またレツプリのビルドログはたくさんあるので.差分をつけるという意味でも今回はなるべく安く作るをテーマにやっていこうと思います.

部品調達

基板

レツプリの部品の多くは海外からの取り寄せになります.とりわけ基板は海外から取り寄せるしかなく送料が高くなりがちです.いろいろ調査した結果自分で発注して基板を作り,3人で割り勘すると送料を含めても安く抑えられるっぽい2という結論に至りました.というわけで今回は安くて早いElecrowに発注し,基板を作ってみる事にしました.以下がその時の手順です.

  1. Let's Split v2をダウンロードします.
  2. lets splitフォルダの中のガーバーデータを以下のようにリネームしzipで固めます.

    元の名前 変更後の名前
    lets_split-B.Cu.gbr lets_split.GBL
    lets_split-B.Mask.gbr lets_split.GBS
    lets_split-B.SilkS.gbr lets_split.GBO
    lets_split-Edge.Cuts.gbr lets_split.GML
    lets_split-F.Cu.gbr lets_split.GTL
    lets_split-F.Mask.gbr lets_split.GTS
    lets_split-F.SilkS.gbr lets_split.GTO
    lets_split.drl lets_split.TXT
  3. Elecrowにアクセスして以下のように設定し,先程のzipファイルをアップロードします.送料をケチったため配送方法はRegistered Airmailを使いましたが場合によっては一ヶ月かかったりするらしいので,DHLなど使った方が良いでしょう.またレジスト色は白にしました.Matte Black以外は値段が変わらないためお好みの色を選びましょう.

    f:id:prpr_man:20180415235108p:plain
    Elecrowの設定画面.

  4. カートに入れて後は流れに従い購入します.

あとは到着を待つだけです.自分の場合はだいたい二週間くらいできました.送料含め合計30.48$かかっていますが,3人で割り勘するため10.16$で済みました.「3人で割るには基板6枚必要なのに,発注した基板枚数5枚やんけ!」と思うかもしれませんが,このElecrowさんは5枚頼むと大抵6〜8枚くらい発送してくれます3ので,問題ありません.実際7枚届きました.

その他の部品

基板以外の部品は秋月電子千石電商,Aliexpressなどで揃えました.Aliexpressでは安くて且つ送料無料のものから選びました.またTRRSジャックはDigKeyで買うと送料が2,000円近く取られてしまうらしいので,マルツで注文しました.残りの部品は秋葉で入手しました.まとめると下のようになります4

部品 入手場所 価格 備考
基板 Elecrow ¥1,148 3人で割り勘した価格
キーキャップ Aliexpress ¥1,941 Kit 1 Add 2 keysを選択
スイッチ Aliexpress ¥2,196 茶軸,5pin,65pcsを選択
ダイオード 秋月電子 ¥100 1個
タクトスイッチ 秋月電子 ¥20 2個
TRRSケーブル 千石電商 ¥260 1個
TRRSジャック マルツ ¥440 2個
Pro Micro aitendo ¥1,512 2個
アクリル板 はざいや ¥2,160 カーマイン,スカイブルーの2枚
スペーサ,ネジ 西川電子部品 ¥302 10mmM3スペーサ 10個
8mmM3ネジ 20個
合計 ¥10,079

……なんだかあまり安くなりませんでした5ね. 安くならなかった敗因として,途中で「左右でケースの色変えたら面白くね?」とか考えてしまいアクリル板を二枚も買ってしまった事ですね.これがなければもっと安く済んだはずですが,妥協できない点というのは誰にもあるものです.またPro MicroもaitendoではなくAliexpressで探せばもっと安くなったはずです.頑張れば8,000円程度に収まるんじゃないでしょうか.

組み立て

調達した部品で組み立てて行きます.まず基板を右が次元,左がルパンとなるようにおいて,これを表(キースイッチがつく面)とします.そしてそれぞれ裏返します.

f:id:prpr_man:20180428212746j:plain
裏を向けた様子.
基板の裏面にダイオードをつけていきます.リードベンダーがあるとダイオードの足を綺麗に曲げれます.だいたい1.25mmピッチか1mmピッチで曲げると綺麗にささります.
f:id:prpr_man:20180428214658j:plain
何でもいい感じに足を曲げてくれるリードベンダー君
ダイオードはカソード(黒いラインが入っている側)を四角いランドの穴に通します.
f:id:prpr_man:20180430214625j:plain
ダイオードが生えた様子.
左右の基板にダイオードを合計48個つけます.
f:id:prpr_man:20180430224330j:plain
一面のダイオード

TRRSジャックをつけます.

f:id:prpr_man:20180430224428j:plain
TRRSジャックを生やした様子.
TRRSジャックの下のパッドを以下のように短絡させます.この短絡する場所は左右で反転しないので注意してください.

VCC [x]     [ ] VCC  
    [x]     [x]  
GND [ ]     [x] GND  

f:id:prpr_man:20180428231241j:plain
短絡した様子.
Pro Microのピンヘッダをはんだ付けします.
f:id:prpr_man:20180430224535j:plain
ピンヘッダを生やした様子.
ケースを用意します.ケースのデータはlets-split-guideSandwichケースを選びました.アクリル板のカットには大学のレーザーカッターを利用させてもらいました6
f:id:prpr_man:20180428231721j:plain
ケース.今回はキーキャップの色に合わせて左右で違う色にしました.
たくさん穴が開いている方のケースを基板とキースイッチで挟み込むようにします.キースイッチを差し込む穴は結構狭いのでしっかり押し込む必要がありました.
f:id:prpr_man:20180430224621j:plain
キースイッチを生やした様子.
キースイッチをはんだ付けします.はんだ付けが終わったらスイッチを押したときに導通するかテスターで調べてみる事をおすすめします.
f:id:prpr_man:20180430224700j:plain
キースイッチをはんだ付けした様子.
Pro Microのモゲ対策をします.なんでもPro Micro君のUSBマイクロコネクタは脆いらしく,USBケーブルの抜き差しで簡単にモゲてしまうらしいです.そのためホットボンドかなにかで補強します.
f:id:prpr_man:20180430224735j:plain
モゲ対策にホットボンドでベタベタにされたPro Micro君.少し雑にやりすぎましたねこれ.
Pro Microの下に生えているキースイッチの足がPro Microと短絡し誤動作することがあるらしいので切ります.自分は念のためカプトンテープも貼って絶縁してみました.
f:id:prpr_man:20180428234308j:plain
キースイッチの足を切って,カプトンテープで絶縁した様子.
Pro Microをはんだ付けします.この時,ルパン側(右側になる基板)はPro Microが手前を向くようにつけます.また次元側(左手になる基板)はPro Microの裏が手前を向くようにはんだ付けします.またこの時RSTとGNDにタクトスイッチをつけました.Pro Microにファームウェアを書き込んだ時に使うものなので必須ではありません(何かで短絡させればOK).タクトスイッチがつけれたらピンヘッダを切り短くします.
f:id:prpr_man:20180428235126j:plain
Pro Microとタクトスイッチをはんだ付けした様子.
下側のケースをつけます.なぜかわかりませんがケースの一番上部の穴が基板の穴と微妙にずれておりスペーサが入りませんでした.なので一番上の穴にはスペーサを入れませんでした.
f:id:prpr_man:20180430224901j:plain
上下のケースが付いた様子.
最後にキーキャップを取り付ければハードウェアは完成です.
f:id:prpr_man:20180430224924j:plain
完成しました.

ファームウェアの書き込み

さてハードウェアは完成しました.あとはファームウェアを書き込めば完成です.ファームウェアqmk_firmwareを使用します.自作キーボードは好きなようにキーレイアウトを決めることができますが,今回はデフォルトのキーレイアウトを使用しました.以下が手順です.(以下はMacでの手順です.WindowsユーザーなどはInstall Build Toolsを参照してみてください.)

github.com

  1. 左右のキーボードをTRRSケーブルでつなぎます.
  2. 左側のPro MicroとPCをUSBケーブルでつなぎます.
  3. 必要なものをインストールします.

     $ brew tap osx-cross/avr
     $ brew update
     $ brew install avr-gcc
     $ brew install avrdude
    
  4. 以下のコマンドを実行します7

     $ git clone https://github.com/qmk/qmk_firmware.git
     $ cd qmk_firmware
     $ make lets_split/rev2:default
     $ make lets_split/rev2:default:avrdude
    
  5. Detecting USB port, reset your controller now...と出てきたら左側のPro Microのタクトスイッチを押して(もしくは短絡させて)リセットします.

以上でファームウェアの書き込みができました.上手くいけば以下のようなログが出て,キー入力ができるはずです.

$ make lets_split/rev2:default:avrdude
QMK Firmware 0.6.2
WARNING:
 Some git sub-modules are out of date or modified, please consider runnning:
 make git-submodule
 You can ignore this warning if you are not compiling any ChibiOS keyboards,
 or if you have modified the ChibiOS libraries yourself.

Making lets_split/rev2 with keymap default and target avrdude

avr-gcc (GCC) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Size before:
   text    data     bss     dec     hex filename
      0   18578       0   18578    4892 ./.build/lets_split_rev2_default.hex

Compiling: ./tmk_core/common/command.c                                                              [OK]
Linking: .build/lets_split_rev2_default.elf                                                         [OK]
Creating load file for flashing: .build/lets_split_rev2_default.hex                                 [OK]
Checking file size of lets_split_rev2_default.hex                                                   [OK]
 * File size is fine - 18578/28672
Copying lets_split_rev2_default.hex to qmk_firmware folder                                          [OK]
Detecting USB port, reset your controller now...........................................................
Detected controller on USB port at /dev/tty.usbmodem1411

Connecting to programmer: .
Found programmer: Id = "CATERIN"; type = S
    Software Version = 1.0; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.

Programmer supports the following devices:
    Device code: 0x44

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9587 (probably m32u4)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "./.build/lets_split_rev2_default.hex"
avrdude: input file ./.build/lets_split_rev2_default.hex auto detected as Intel Hex
avrdude: writing flash (18578 bytes):

Writing | ################################################## | 100% 1.95s

avrdude: 18578 bytes of flash written
avrdude: verifying flash memory against ./.build/lets_split_rev2_default.hex:
avrdude: load data flash data from input file ./.build/lets_split_rev2_default.hex:
avrdude: input file ./.build/lets_split_rev2_default.hex auto detected as Intel Hex
avrdude: input file ./.build/lets_split_rev2_default.hex contains 18578 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.16s

avrdude: verifying ...
avrdude: 18578 bytes of flash verified

avrdude: safemode: Fuses OK (E:CB, H:D8, L:FF)

avrdude done.  Thank you.

おわりに

初めての自作キーボードでしたが,先人たちのおかげで特に失敗もなく作ることができました.今回なるべく安いものだけで作りましたが,打鍵感などはちゃんとしていて結構満足しています.見た目も結構おしゃれにできたんじゃないでしょうか.しかし使いやすさとしてはなれるまでは大変で,やはり練習が必要です.この記事も練習のためにレツプリで書いています.
今後はオレオレキーマップとか,オレオレ配列なんかも作ってみたいですね.

参考

github.com

nillpo.hatenablog.com

blog.yagi2.com

レツプリ他自作キーボードまとめ - yhara.jp


  1. BYOKにもそう書いてある.

  2. 2018年4月現在において,すぐに入手できるという条件です.つまり安いけど在庫がなくすぐには手に入らないという場合を考慮していません.Group Buyについても同様です.

  3. 通称Elecrowガチャ.

  4. 秋葉までの交通費は考慮していません.就活で都内に出るついでに買ったのでまあ多少はね?

  5. 価格は送料含む,税込価格.

  6. 利用料金はなんと51円でした.

  7. ファームウェアの書き込みにおいて$ make rev2-default-avrdudeのように書いている記事がありますが2018年4月現在においてはコロンで区切るのが正しいようです.