小型万能マイコン「M5Stack」で自分だけのクソダサいスマートウォッチを作る

f:id:karaage:20180407115405j:plain:w640

M5Stackが気になって買ってしまいました

 私のタイムラインで、多くの人が購入していた「M5Stack」。いわゆるマイコンモジュールなのですが、小型、安価、電源内蔵、WiFi・Bluetooth搭載、TFT搭載、スピーカ内蔵、Arduino IDE対応でお手軽セットアップとまさに全部入りの夢のようなモジュールなのです。詳細はスイッチサイエンスさんの以下詳細記事参照下さい。

 「これ、買ったはいいけど絶対積み基板(買ったまま積まれる基板、罪基板とも言う)になるやつだ!」と思って我慢していたのですが、気を失って気づいたら発注していました。おそロシア…

 ちなみに、M5Stackの中で使われているメインマイコンはESP32なので、以前購入した以下のようなデバイスのお仲間ですね。

M5Stackをセットアップしてスマートウォッチ化するまで

 基本的には、以下を見ていけばOKなのですが、自分へのメモとして、Macへのインストール方法手順を書いておきます。ちょっとだけハマったところはArduino IDEのバージョンが古くて、コンパイルが通らなかったところくらいでしょうか。

M5Stack Documentation

必要なハードウェア

f:id:karaage:20180407105914j:plain:w640

 PCの他は、M5Stack BASICとM5Stack用ウォッチバンドです。PCはWindowsでもMacでもLinuxでも大丈夫なようです。

 M5Stackはスイッチサイエンスさんで買うのがオススメです。

 Amazon経由でも買えます(出展しているのはスイッチサイエンスさんです)。

M5Stack Basic

M5Stack Basic

M5Stack用ウォッチバンド(黒)

M5Stack用ウォッチバンド(黒)

f:id:karaage:20180407105936j:plain:w640
 M5Stackはおしゃれなケース付きで良い感じです、地味に嬉しいです

 ほんとは、9軸IMUが付いたM5Stack GRAYが欲しかったのですが、当時は在庫切れでした。

M5Stack Gray(9軸IMU搭載)

M5Stack Gray(9軸IMU搭載)

Arduino IDEインストール

 Homebrew Caskでインストールしました。以下1行でOKです。

$ brew cask install arduino

 Homebrew Caskに関しては、以下参照下さい。

 最初古いバージョン(1.6.5)使ってたら、コンパイルできずハマりました。最新バージョン(今の時点で、1.8.4)を使いましょう。

SiLabs CP2104 Driverインストール

 以下から自分のOSにあったドライバをダウンロードしてインストールします。

ESP32 Arduino Coreをインストール

 ターミナルから、以下をそのままコピペします。

mkdir -p ~/Documents/Arduino/hardware/espressif && \
cd ~/Documents/Arduino/hardware/espressif && \
git clone https://github.com/espressif/arduino-esp32.git esp32 && \
cd esp32 && \
git submodule update --init --recursive && \
cd tools && \
python get.py

 M5StackとPCをUSBケーブルで接続してからArduino IDE起動して、以下設定

ツール -> ボード -> M5Stack-Core-ESP32
シリアルポート -> /dev/cu.SLAB_USBtoUART

ライブラリのインストール

 Arudino IDEのメニューからライブラリ -> ライブラリの管理を開いて、以下の通りm5で検索してインストール。

f:id:karaage:20180407111814p:plain:w640

ソースをビルドしてボードに書き込み

 Arduino IDEのスケッチ例から、テスト用のプログラムとしてM5Stack -> Basic -> Helloを選択します。

 IDEの右矢印(→)のボタンを押すと、ソースをコンパイルして基板に書き込みます。M5Stackに「Hello world」と小さく表示されたらOK。

 今回はスマートウォッチにしたいので、次にM5Stack -> Advanced -> Display -> TFT_CLOCK か TFT_CLOCK_DIGITALを選択して書き込んでおきましょう。

M5Stackをスマートウォッチにする

 最初にM5Stackの電源をオフにしておきましょう。電源オフは、電源ボタンを2回クリックです(最初ずっと長押ししてました)。

 まずは分解して、M5Stackの下部分を取り除きます。

f:id:karaage:20180407113558j:plain:w640
 写真だと左が下部分ね

 次にバッテリーを接続します。

f:id:karaage:20180407113902j:plain:w640
 バッテリーの向き。+は赤と信じて組み付け。電源はオフしておきましょうね。

f:id:karaage:20180407114034j:plain:w640
 バッテリーはこんな感じにおけばいい…のか?

 ここで、一応電源オンして起動するか確認しておきましょう。問題なければ、ウォッチバンドを組み付けて行きます。説明書とか無いので、基本的に勘で取り付けて行きました。説明が難しいので…まあ写真と雰囲気で

f:id:karaage:20180407114557j:plain:w640
 この細い棒をバンドに通して取り付けます。まあ、やれば分かります(何の説明にもなっていない)

f:id:karaage:20180407114909j:plain:w640
 六角レンチは付属しています。これで完成

f:id:karaage:20180407115111j:plain:w640
 スマートウォッチできた!これはアナログ時計

f:id:karaage:20180407115405j:plain:w640
 ソフトを書き換えると、あっという間(?)にデジタル時計

 スマートウォッチのスキンの切り替えは、自分でデザインしてプログラミングしてPCでIDE使ってマイコンに書き込み、これが今風ですよね!

まとめ

 「M5Stack」買ってスマートウォッチ化してみました。わかる人には丸わかりですが、セットアップしてサンプル動かしているだけです。でも、それだけでスマートウォッチ(と呼んで良いのかわかりませんが)になっちゃうのだから、なかなか面白い全部入りデバイスと思います。

 こういうデバイスは積んでおいて、いつか閃いたら何か面白いことをするに限ります。その名の通りStackなので、思う存分買って積みましょう。ケースも付属していますしね!

 自分がフォローしている範囲内ですと、ミクミンPさんや、robo8080さんが、色々やられているので、フォローすると良いかと思います。

 追記:メルセデスベン子さんもフォロー必死ですね

M5Stack Basic

M5Stack Basic

参考リンク

M5Stack の環境設定(Arduino & MicroPython) - Tech Blog by Akanuma Hiroaki
 MicroPythonまで含めた環境設定。全体的に、私の記事より詳しくて丁寧なので、こっちを参考にした方が良いかもしれません(笑)

Talking wrist watch for M5Stack · GitHub
 みくみんPさんのしゃべる時計のソースコード

GitHub - nomolk/M5Stack_CrackScreen: Crack your M5Stack!!
 メルセデスベン子さんのスクリーンが割れるやつのソースコード

開催してみたら凄かった!M5Stackユーザーミーテング Vol.1 - Togetter

関連記事

履歴

2018/05/16 参考リンクに「M5Stackユーザーミーテング Vol.1」まとめ追加