Skip to content

Latest commit

 

History

History
344 lines (210 loc) · 26 KB

buildguide.md

File metadata and controls

344 lines (210 loc) · 26 KB

Build Guide

cocot46plus_main15

cocot46plusのビルドガイドになります。 cocot46plusは中央に34mmトラックボールを備えていることが一つの特徴です。 また親指キーの中央にロータリーエンコーダを配置しており、ホームポジションを崩すことなく両手の親指でエンコーダの操作が可能となっています。 中央奥側にはOLEDには現在のレイヤー情報、トラックボールのステータス(CPIや回転軸の角度など)を表示することができます。 その他オプションとしてアクリル積層ケースを用意しているので、お好みに合わせて実装ください。

部品

キット付属品

Switch_Plate PCB PCB_v2 Bottom_Acryl Bottom_FR4
スイッチプレート(FR4)×1枚 実装済基板×1枚(販売時期によってタブがついている場合があります) ボトムプレート➀(アクリル)×1枚(販売時期によってデザインが異なる場合があります) ボトムプレート➁(FR4)×1枚
OLED_Cover Spacer_8mm Spacer_6mm Spacer_3mm
OLEDカバープレート(FR4)×1枚 M2 スペーサー 8mm(メス―メス)×15本 M2 スペーサー 6mm(メス―メス)×4本 M2 スペーサー 3mm(メス―オス)×4本
Screw_3mm Screw_5mm Screw_8mm SwitchSocket
M2 ねじ 3mm×19本 M2 ねじ 5mm×15本 M2 ねじ 8mm×4本 MX互換スイッチ用PCBソケット×46個
ADNS5050 SensorLED OLED ResetSwitch
マウスセンサー(ADNS-5050)・レンズ×各1個 マウスセンサー用LED×1個 OLEDモジュール・ピンソケット・ピンヘッダ×各1個 タクトスイッチ×1個
RotaryEncoder SK6812MINI-E ゴム足
ロータリーエンコーダ(EC12互換)×1個 フルカラーシリアルLED (SK6812MINI-E)×2個 ゴム足×6個

ボールケース付属品

Ballcase_34mm Ballcase_25mm
34mmボールケース(上・下)×1個 25mmボールケース(上・下)・25mmボール×1個

キット以外に必要なもの

下記パーツは遊舎工房TALP KEYBOARDDaily Craft Keyboardなどで揃えることが可能です。また、22mm径ノブはへちょあまの工房@たねやつ支店での品揃えが豊富です。

名前 備考
MicroUSB or USB-TypeCケーブル 1本
ProMicro 1個
コンスル―(2.5mm×12ピン) 2本
キースイッチ 46個 MX互換
キーキャップ(1U) 46個 MX互換
ロータリーエンコーダ用ノブ 1個 最大直径22mm以下
34mmボール 1個 34mmボールケースを選択した場合

各ショップの在庫状況に応じて検討ください。

※34mmボールの色に応じてセンサーの反応が悪くなる場合があります。
※デフォルトで反応の悪いボール色も後述のオプションMODを施すことで、スムーズに反応するようになります。 ※[2022/8/8追記] ver1.1以降の基板では、予めオプションMODが施された状態になっています。デフォルトのままでグリーン、ブラックなどの暗い色のボールの反応も改善されています。

反応性
〇(スムーズに動作可能) レッド、パープル、シルバー、ゴールド、グレー、イエロー、ピンク、ラベンダー
△(LEDの角度によって少し反応が悪くなる場合あり) ブルー、グリーン
×(反応しないorカクつく) ブラック

オプション部品(アクリル積層ケース)

アクリルは遊舎工房やAnymanyなどのレーザーカットサービスでお好きな色のアクリルプレートを発注することが可能です。

シリコンシートはこちらから購入可能です。

名前 備考
アクリルミドルプレート(上) 1枚 アクリル積層ケース用
アクリルミドルプレート(下) 1枚 アクリル積層ケース用
シリコンシート厚さ0.5mm 1枚 アクリル積層ケース用

組み立て

0. 部品確認

まずはキット付属品に記載されたパーツが揃っているか確認ください。
その他上述の「キット以外に必要なもの」および「オプション部品」を揃えた上で組み立てに取り掛かってください。

  • タブ付きPCBの場合にはタブを割って切り離し、切断面を軽くヤスリがけしてください。
  • PCB、スイッチプレートの側面を油性マジックなどで黒く塗ると見栄えが良くなります。ぜひ試してみてください。

上:塗装済み / 下:未塗装
cocot46plus_bg_00

1. ダイオード

ver1.0以降は予め基板にはんだ付けされているので、ダイオードのはんだ付けは不要です。

2. インジケータLED

ProMicro横の2箇所にインジケータLEDのはんだ付けを行います。4箇所あるパッドの1箇所に予備はんだを盛り、LEDの位置を固定します。PCBのシルク上の角の部分と、LEDの三角に欠けている部分の向きが揃うようにはんだ付けしてください。LEDは非常に熱に弱いので、はんだごての温度を低めに設定し、一か所はんだ付けをしたら十分時間をおいてから次のはんだ付けを行いましょう。
この段階で後述のファームウェアを準備し、LEDの点灯を一つずつ確認しながらはんだ付けを行うとミスの早期発見につながります。 ※デフォルトのファームウェアでは、レイヤー0ではインジケータLEDが点灯しません。点灯確認の際はSW39もしくはSW44のパッドをピンセットなどで短絡させ、レイヤー移動した状態で確認ください。

cocot46plus_bg_02_1

cocot46plus_bg_02_2

3. アンダーグロウLED

ver1.0以降は予め基板にはんだ付けされているので、アンダーグロウLEDのはんだ付けは不要です。

4. ProMicro

ProMicroの準備をします。写真の向きでコンスル―をはんだ付けします。
コンスル―には向きがあるので注意してください。コンスル―の向きについてはこちらを参照ださい。
USB Type-C版のProMicroにも対応しています。マイクロUSBの場合、USBコネクタがもげやすいので、適宜補強をしてからはんだ付けを行ってください。

cocot46plus_bg_04_1

5. マウスセンサー

5-1. ADNS-5050

マウスセンサー(ADNS-5050)を基板裏面から写真の向きに設置し、表面からはんだ付けを行います。シルクの●●印と基板の●●印の位置が合うように注意してください。
cocot46plus_bg_05_1

センサーの脚がしっかり奥まで入った状態で、浮かないようにマスキングテープなどで固定します。
cocot46plus_bg_05_2

表面から8本の脚をはんだ付けします。
cocot46plus_bg_05_3

センサーに貼られているテープを剥がし、表面からレンズを付けてマスキングテープなどで固定します。
cocot46plus_bg_05_4

5-2. センサー用LED

マウスセンサー用LEDを取り付けます。基板裏面からLEDの脚を通します。脚の長い方を丸い穴、短い方を四角い穴に通します。
cocot46plus_bg_05_5

LEDの脚を90度曲げ、横から見た時に下の写真のような位置関係になるようにマスキングテープなどで固定します。
cocot46plus_bg_05_5_2

表面からLEDの脚を2箇所はんだ付けし、余分な脚をカットします。
cocot46plus_bg_05_6

5-3. ジャンパー

基板裏面のジャンパーの両側のパッドにはんだを盛り、ブリッジさせます。
cocot46plus_bg_05_7

cocot46plus_bg_05_8

ここまでの作業が完了したら、ProMicroに後述のファームウェアを書き込み、動作確認を行いましょう。正しい手順を踏めている場合、全部で12個のLEDとマウスセンサー用LEDが点灯しているはずです。
cocot46plus_bg_05_9a

表面のレンズの前に手をかざし、マウスカーソルが動いているか確認してみてください。
cocot46plus_bg_05_9b

6. MXソケット

PCB裏面に、写真の向きでソケットをはんだ付けします。全46箇所はんだ付けを行ってください。

cocot46plus_bg_06_1

7. OLED

OLEDピンソケットを表側から挿し、マスキングテープなどで固定します。
cocot46plus_bg_07_1

cocot46plus_bg_07_2

基板裏側からピンソケットの脚4本のはんだ付けを行ってください。
cocot46plus_bg_07_3

OLEDモジュールにピンヘッダを通し、斜めにならないように1本ずつはんだ付けを行います。
cocot46plus_bg_07_4

8. タクトスイッチ

PCB表面に、タクトスイッチ(リセットスイッチ)を取り付け、裏面からはんだ付けします。1箇所のみです。
cocot46plus_bg_08_1

9. ロータリーエンコーダ

中央部分にロータリーエンコーダをはんだ付けします。ロータリーエンコーダの脚を通し、裏側からはんだ付けをしてください。
cocot46plus_bg_09_1

cocot46plus_bg_09_2

全てのパーツを付け終わった状態です。
cocot46plus_bg_09_3

cocot46plus_bg_09_4

10. 組み立て

To be updated. ボトムプレート(アクリル)に5mmネジで8mmスペーサーを固定します。
cocot46plus_bg_10_1

ボトムプレート(FR4)をアクリルの裏側(底側)に重ね、5mmネジで3mmスペーサー(メス―オス)を固定します。
cocot46plus_bg_10_2

基板上に3mmネジで8mmスペーサーを固定します。またOLEDもピンソケットに差し込んでおきます。
cocot46plus_bg_10_3

スイッチプレートと基板を重ね、隅から順番にキースイッチをはめていきます。スイッチの向きに気を付けて、またスイッチの脚が曲がらないように真っすぐに差し込むようにしてください。
cocot46plus_bg_10_4

全てのキースイッチを差し込んだ状態です。
cocot46plus_bg_10_5

スイッチを差し込んだスイッチプレート&基板を、ボトムプレートの上に重ねます。トラックボール廻りの4箇所を6mmスペーサーで固定します。
cocot46plus_bg_10_6

スイッチプレートを3mmネジで固定します。
cocot46plus_bg_10_7

OLEDカバープレートを3mmネジで固定します。
cocot46plus_bg_10_8

トラックボールケースに対応するボールを入れ、8mmネジで固定します。
cocot46plus_bg_10_9

ボトムプレートにバランスよくゴム脚を貼り付けます。
cocot46plus_bg_10_10

お好みのキーキャップ、ロータリーエンコーダのノブを付けて完成です! cocot46plus_bg_10_11

11. [オプション]アクリルミドルプレート

オプションであるアクリル積層ケースの組み立て方についてです。 下記パーツを揃えた上で積層ケースの組み立てにのぞんでください。

名前 備考
アクリルミドルプレート(上) 1枚 ※1
アクリルミドルプレート(下) 1枚 ※1
シリコンシート 厚さ0.5mm 1枚 こちらから購入可能

※1 遊舎工房のアクリルプレートサービスより、cocot46plusのミドルプレートが選択できるようになりました。こちらからアクリルカラーを選択して発注してください。
元データはこちらにあります。オリジナルの積層ケースを作成したい場合などに用いてください。

シリコンシートのカッティング補助用に、こちらのシートをダウンロードし、拡大率100% で印刷してください。用紙に合わせて印刷してしまうとキースイッチの位置がずれてしまうのでご注意ください。 印刷した型紙に、保護シートをはがしたシリコンシートを貼り付けます。ねじ部分は後からカットすることが難しいので、この状態で赤い部分のみカットしておきます。デザインナイフやカッターナイフ(30度刃)がカットしやすいと思います。

赤い部分をカットし終わったら、キースイッチの位置が合うようにミドルアクリルプレート(上)をシリコンシートの上に置き、外形(青線)とキースイッチ部分(灰色線)をカットしていきます。

ボトムプレート、ミドルプレート(下)PCB、ミドルプレート(上)、スイッチプレートの順に重ねます。

cocot46のビルドガイドも参考に組み立ててみてください。

ファームウェア

REMAPからファームウェアのダウンロードおよびProMicroへの書き込みを行うことができます。キーマップはこちらから更新可能です。
トラックボール、LED含めて上記.hexファイルで確認いただけます。

(.hexファイルをQMK ToolboxなどでProMicroに書き込む従来の方法でも問題ありません。)

REMAP

組み立て段階で動作確認をする際も、REMAPのTest Matrix Modeを使うと便利です。ただし、Test Matrix Modeではロータリーエンコーダの回転は確認できないので、別途キー入力等で動作を試してください。

標準ファームウェアでは、レイヤー1と2でトラックボールの動きがスクロールに変換されるようになっています。スクロールモードになるレイヤーを変更したい場合は、keymap.cを修正してください。

ソースコードはこちらを参照ください。
また、VIA用のjsonファイルはこちらを参照ください。

カスタムキーコード

トラックボールの操作に関していくつかカスタムキーコードを設定することが可能です。

Value Keycode Description
0x5DA7 CPI_SW トラックボールのCPIを変更します。デフォルトのファームウェアでは、押すたびに500→750→1000→1250→500…という順番でCPIが変わります。
0x5DA8 SCRL_SW スクロールモードにおけるセンサーの感度を変更します。数値が大きいほどスクロール量が小さくなります。
0x5DA9 ROT_R15 マウスセンサーのY軸を時計回りに15度回転させます。
0x5DAA ROT_L15 マウスセンサーのY軸を反時計回りに15度回転させます。
0x5DAB SCRL_MO 押されている間スクロールモードになります。
0x5DAC SCRL_TO 押すたびにスクロールモードとマウスモードを切り替えます。
0x5DAD SCRL_IN スクロール方向を反転させます。

REMAPでカスタムキーコードを設定する場合は下記の画面のようにCUSTOMから上の表のValueを直接入力してください。

CustomKeycode

OLED

OLEDにはトラックボールの情報を表示することが可能です。
cocot46plus_bg_oled_1

OLED Description
Current Layer 現在のレイヤーを示します。
Scroll Status C:カーソル/S:スクロールモードを示します。
CPI カーソルモードのCPIを示します。
Scroll Divider スクロールモードにおけるセンサーの感度を示します。数値が大きいほどスクロール量が小さくなります。
Rotation Angle マウスセンサーのY軸の回転角を示します。

手の大きさやトラックボールへの手の置き方によって、操作しやすいY軸の回転角が異なります。ROT_R15ROT_L15キーで調整しながら自分に合った設定を探してみてください。
cocot46plus_bg_oled_2_2

cocot46plus_bg_oled_3_4_5

オプションMOD

※※[2022/8/8追記] ver1.1以降の基板では、予めこちらのオプションMODが施された状態になっています。デフォルトのままでグリーン、ブラックなどの暗い色のボールの反応も改善されています。

デフォルトの状態では反応の悪いボール色も、少し手を加えることでスムーズに反応するようになります。

PCB裏面のR1のスルーホール端子部分に小さめの抵抗を付けることでセンサー用LEDの明るさが増し、緑や黒などの暗い色の球でも反応するようになります。

参考までに、ぺリックス緑球は300Ω、ぺリックス黒球は150Ωで動作確認できています。

cocot46plus_bg_mod_1

cocot46plus_bg_mod_2

Links

【トラックボール】cocot46plus【自作キーボード】 (by 椎葉さん)
トラックボールの使い心地、内部構造、適合するボール色など紹介いただいています。

Gallery on Twitter

終わりに

何かトラブルがあればTwitterアカウントまでご連絡ください。

また、完成写真をSNSにアップいただけるととても励みになります。(アップするのがはばかられる方はDMで直接送りつけていただいても構いません。)

ハッシュタグは #cocot46plus です。