マクロパッドえむごっちを組み立て

どもども、へりかるです。
今回は、M5Stack製品を使ったマクロパッド「えむごっち」を購入しましたので紹介します。

完成品紹介

よっぴさん(@4py1)設計のマクロパッドです。
その名前からも○○ごっちを意識していることがわかる、綺麗な○○ご形状です。
M5Stackを使うことで、自作キーボードには珍しいタッチLCDスクリーンであったり、Bluetoothやバッテリーが標準装備といった、M5Stackのモジュールとしての機能をフル活用しています。
一つのプロダクトとしてまとまっていて、とても完成度が高いです。
今回は間に合わせのキーキャップをつけていますが、背の低くてフラットなキーキャップのほうがマッチしそうに思いました。

使用したもの

えむごっち

今回は「ベースセット」を購入しました。
基板やプレート類、コネクタなどの小物類が全て含まれています。
このセットに加えて、M5Stack Core2とCherryMX互換キースイッチおよびキーキャップが必要です。
製品紹介や組み立て手順などのドキュメントは、下記にて公開されています。

M5Stack Core2

M5Stack Core2 IoT開発キット
オリジナル世代のCore機能をさらに改良した、M5Stack開発キットシリーズの第2世代のCoreデバイスです。 MCUはESP32モデルD0WDQ6-V3 で、デュアルコア Xtensa 32ビット240MHz LX6プロセッサで、独立してコントロールできます。標準でWi-FiとBluetoothに対応、16 MBフラッシュメモリと 8 MB PSRAMを搭載し、充電、プログラムダウンロード、通信用にはUSB TYPE-Cインターフェース、一体化した2.0インチの静電容量タッチスクリーン、 内蔵振動モーターを備えています。 また、内蔵RTCモジュールも搭載し、正確なタイミングを提供可能です。電源はPMIC(電源管理チップ)AXP192により管理され、効率的にベースの電源消費量を制御し、内蔵緑色LED電源表示灯で、バッテリレベルを知らせます。バッテリ容量は390 mAhに増量、旧モデル以上にコアに給電します。 SDカードスロットとスピーカーも引き続きあります。高音質出力を保証するため、I2Sデジタルオーディオインターフェースのパワーアンプチップを搭載、信号の歪を効果的に防止するため使用されています。電源ボタンとリセットボタンがベースの左側と底部に別にあります。 前面画面のアイコン三つは、プログラム可能な静電容量ボタンです。ベースの裏には、6軸IMUとマイクロフォン付きの小型拡張基板があります。 本製品の開発プラットフォームとプログラミング言語は、 Arduino、 UIFlow 、MicroPython です。開発/プログラミングスキルがどんなレベルでも、アイデアを実現するお手伝いします。 当社にて工事設計認証(いわゆる技適)の表示を確認して販売しております。 電源オン/オフ: 電源オン:ボタンを押します。 電源オフ:6秒間ボタンを長押しします。 リスタート:底にあるリセットボタンを押します。 製品特徴 ESP32ベース、Bluetooth/Wi-Fi内蔵 16 MBフラッシュメモリ、8 MB PSRAM スピーカー、電源表示灯、振動モーター、RTC、I2Sアンプ、静電容量タッチスクリーン、電源ボタン、リセットボタンを内蔵 TFカードスロット (最大サイズ 16 GB) リチウムバッテリ内蔵、PMIC(電源管理チップ)搭載 6軸IMU、PDMマイクロフォン搭載の独立小型基板 M-Busソケットとピン プログラミングプラットフォーム:UIFlow、 MicroPython、 Arduino 内容物 1 x M5Stack Core2 1 x USB Type-Cケーブル(20 cm) 仕様 リソース パラメータ ESP32-D0WD-V3 240 MHzデュアルコア、600 DMIPS、520 KB SRAM、Wi-Fi、デュアルモードBluetooth フラッシュメモリ 16 MB PSRAM 8 MB 入力電圧 5 V @ 500 mA インターフェース USB Type-C x 1、GROVE(I2C+I/O+UART) x 1 IPS LCD スクリーン 2.0インチ@320 x 240 ILI9342C タッチスクリーン FT6336U スピーカー 1W-0928 LED 電源表示灯(緑) ボタン 電源ボタン、リセットボタン、静電容量ボタン x 3 バイブレーション機能 振動モーター マイクロフォン SPM1423 I2Sパワーアンプ NS4168 6軸IMU MPU6886 RTC BM8563 PMU AXP192 USBチップ CP2104 もしくは CH9102F(どちらかになります。選択することはできません) DC/DC昇圧 SY7088 TFカードスロット 最大16 GB リチウムバッテリ 390 mAh @ 3.7 V アンテナ 2.4 GHz 3D アンテナ 動作温度 0°C~40°C 正味重量 52 g 総重量 70 g 製品寸法 54 x 54 x 16 mm 包装寸法 75 x 60 x 20 mm ケース素材 プラスチック(PC) ピンアサイン LCDとTFカード LCD :320x240 ESP32チップ GPIO38 GPIO23 GPIO18 GPIO5 GPIO15 AXP192 チップ AXP_IO4 AXP_DC3 AXP_LDO2 ILI9342C MISO MOSI SCK CS DC RST BL PWR TFカード:最大サイズ 16 GB ESP32チップ GPIO38 GPIO23 GPIO18 GPIO4 TFカード MISO MOSI SCK CS 静電容量タッチパネル ESP32チップ GPIO21 GPIO22 GPIO39 AXP192 AXP_IO4 FT6336U SDA SCL INT RST マイクロフォンとNS4168 ESP32チップ GPIO12 GPIO0 GPIO2 AXP_IO2 GPIO34 NS4168 BCLK LRCK DATA SPK_EN マイクロフォン CLK DATA AXP 電源表示灯 AXP192 AXP_IO1 AXP_LDO3 緑色LED Vcc 振動モーター Vcc RTC ESP32チップ GPIO21 GPIO22 AXP192 AXP_PWR BM8563 SDA SCL INT IMU(3軸ジャイロスコープ、3軸加速度計) ESP32チップ GPIO21 GPIO22 MPU6886 SDA SCL USBシリアルチップ ESP32チップ GPIO1 GPIO3 CP2104 RXD TXD 内部I2C接続 ESP32チップ GPIO21 GPIO22 MPU6886 SDA SCL AXP192 SDA SCL BM8563 SDA SCL FT6336U SDA SCL M5Core2 M-BUSピンアサイン M5Core2ポートの説明 PORT PIN 注意: PORT A(赤) G32/33 I2C ESP32 ADC/DAC ADC1 ADC2 DAC1 DAC2 8チャネル 10チャネル 2チャネル 2チャネル G32-39 G0/2/4/12-15/25-27 G25 G26 ピン割り当てとピンリマッピングについて詳しくは、 ESP32 Datasheetをご覧ください。 資料 ライブラリ(GitHub) データシート ESP32 FT6336U NS4168 MPU6886 ILI9342C SPM1423 BM8563 SY7088 AXP192 回路図 製造元希望小売価格 :46.90 ドル(税別) 製造元の販売ページ:https://m5stack.com/products/...商品コード: M5STACK-K010
キーボードとしての制御部には、自作キーボードで一般的に使用されるArduino Pro Microではなく、M5Stack Core2が使用されています。
私はM5Stack沼にも片足が浸かりかけているので、家にいつの間に生えていたものを使用しました。
Arduino Pro Microよりもプロセッサの能力も高くメモリも豊富なため、自作キーボードの基本機能も十分対応できます。
さらにえむごっちでは、タッチスクリーンを使用したマウスカーソル操作や、Bluetoothによる無線通信にも標準対応しており、これはM5Stackというモジュールだからこその付加価値だと思います。

Drop + Invyr Holy Panda

えむごっちはCherryMX互換のキースイッチに対応しており、5pinのものも使用できます。
今回キースイッチはHoly Pandaを使用しました。
独特のタクタイル感と音質で、非常に人気のキースイッチです。

ビルドログ

基本の組み立て手順は、下記の公式ガイドラインを参照しました。
丁寧に書かれているので、スムーズに組み立てできました。

セット内容確認

基板、プレート類、コネクタなどの小物類、スペーサとネジに綺麗に個別梱包されています。
また基板には表面実装の抵抗が最初からはんだ付けされていました。
慣れていない方はチップ抵抗のはんだ付けは一苦労なので、とても助かります。
別途準備が必要なのが、M5Stack Core2と、キースイッチおよびキーキャップです。

LEDの取り付け

組み立て説明に沿って、LEDから取り付けます。
LEDのはんだ付けには、小型ホットプレートを使用してリフローで取り付けました。
食卓用のホットプレートを使ってのリフローもよく見かけますが、この予熱器はかなり小型すが小さい基板であれば十分活用できます。
はんだペーストをパッドに塗布してLEDを乗せ、ホットプレートを220℃に設定して基板の裏から加熱します。
はんだ付けしたいLEDの近くを押さえてホットプレートに接触するようにしておくと、はんだペーストが表面張力で流れて金属光沢が出てくるのが見えます。
今回は数も少ないのでそこまで手間は変わりませんでしたが、持っているものは使っていこうの精神です。

コネクタの取り付け

次はTRRSジャックとPHコネクタを取り付けます。
TRRSジャックはI2C通信するためのもので、今後新しい製品を連結する構想があるようです、楽しみ!
PHコネクタは、バッテリーを別のものに交換する場合に使用するようです。
コネクタは基板裏側から差し込み、マスキングテープで固定しておくと、裏返しても外れないためはんだ付けしやすいです。

ピンヘッダ取り付け

続いてはM5Stackとのピンヘッダをはんだ付けしていきます。
ピンヘッダは先ほど取り付けたコネクタよりも高さがあり、マスキングテープで綺麗に直角に固定しておくのも難しいため、そのままだと少し作業が難しいです。
そのため公式の組み立て手順にも注記されている、M5Stackに取り付けた状態ではんだ付けをしました。
まずは組み立て手順通りにM5Stackの裏蓋を開けます。
バッテリーは裏蓋に横からスライドする形で入っているので、爪のない方向に指で押してあげると取り外せます。
またこの時バッテリーはM5Stack本体につけたままにしておきます。
基板に取り付けたPHコネクタは、他のバッテリーに交換する際に使用するもので、基本的にはM5Stackに元々ついているバッテリーを使用するようです。
M5Stackのコネクタ部に、15ピンにカットしたピンヘッダを差し込みます。
ピンヘッダは、プラスチックの保持部に対して長い側をM5Stackに差し込みます。
その後、ピンヘッダが基板の穴に通るように上側からかぶせます。
こうすると、M5Stackの高さと重量のおかげで基板が安定して、はんだ付けがやりやすくなりました。

アクリルプレートの保護紙取り外しTips

続いてアクリルプレートを準備しますが、アクリルプレートには加工時の表面保護のための保護紙がついています。
これが非常に取りにくく苦労しがちなのですが、私はプレートごと水につけてしまいます。
そうすると、爪で少しこするだけで端の紙がめくれ、綺麗に保護紙をめくることができます。
電子機器へ取り付けるため、濡れたアクリルプレートは水分を十分拭き取ってから使用してください。

キースイッチ取り付け

キースイッチをはんだ付けしていきます。
アクリルプレートと基板を重ねた状態でキースイッチを差し込み、裏側からはんだ付けします。
このときも、M5Stackに基板を取り付けておくと、キースイッチの高さとM5Stackの高さがぴったりで、はんだ付けがやりやすくなりました。

最終組み立て

はんだ付けが全て完了し、いよいよ組み立て!
組み立てにはアクリルプレートと、スペーサやネジ類を使用します。
樹脂ネジは破損しやすいため、予備も入っていました。
スペーサーを裏側からネジ止めしますが、ネジの取り付け部はプレートが座繰りされていてネジ頭が出ない設計になっています。
細かい配慮が素敵です。
ボトムプレートにスペーサを立てて、アクリルプレートをどんどん積み重ねていきます。
アクリルプレートの穴が六角スペーサと同じ六角形にカットされており、こちらも細かいところまで綺麗に作られていると感じます。
最後にトッププレートまで積み重ねてネジ止めし、M5Stackとキーキャップを取り付けて完成!

ソフトウェア書き込み

ソフトウェアについても初期設定手順に沿っていくと、スムーズに書き込みできました。
ファームウェアの書き込みは、PCとえむごっちをUSBCケーブルで接続してブラウザのボタンを何度か押すだけ。
ソフト書き込みは自作キーボードの難関の1つでもありますが、デフォルトのファームウェアがここまで簡単設計になっているのは素晴らしいです。
デフォルトのファームウェアでは、M5Stackのスクリーンをスワイプすることでマウスカーソルが動き、タッチが左クリックになっています。
スクリーンを長押しすると小さな振動があり、指を離すと設定モードに入ることができます。
ここではM5Stack自体の明るさの設定や、キースイッチのLEDの光り方や色を設定することができます。
電源は、M5Stackの電源ボタン(写真左端)を1回押すとON、5秒ほど長押しするとOFFになります。

M5Stackを使用したキーボードということで、その機能を存分に活用していて楽しいです。
また、プロダクトとしての設計も細かくこだわりがあって、完成度がとても高いなと感じました。
今後はマクロパッドとして、キー設定をいろいろ変えて活用したいと思います。
M5Stackは我が家にもたくさん積まれているので、私もキーボードに活用してみたいです。
 
ではでは~