M5StickC PLUS BLACK!?黒くぬれ!

はじめに この記事では、 M5StickC PLUS を分解し、ケースをマットなブラックに塗装する までの流れをまとめます。背面のネジを外してケースを分けるとブザーと内蔵バッテリーが現れるので、 細い配線を切ってしまわないようにする手順 と、 基板側を傷めないようにケースだけを塗装する考え方 が中心です。 塗装には金属やプラスチックにも乗りやすい シリコンラッカースプレー(つや消し黒) や、 粒子で染め上げるタイプの染めQ を選んでいます。クロスバイクに取り付けても浮かないトーンに仕上がりました。M5StickC PLUSをカスタムしてみたい方は、ぜひ最後まで読んでみてください。 M5StickC PLUSの分解 M5StickC PLUSのケースは、 背面にある2つの六角ネジ で固定されています。六角レンチを使ってネジを外すと、上下にケースがパカっと分かれます。 ここで気をつけたいのが、 ブザーがケース側に貼り付いている という点です。基板とブザーは細い導線でつながっているので、ケースを引き剥がすときに 配線が引っ張られて切れないように、ゆっくり開いて ください。 塗装の段階では、 ケース単独の状態にしてから吹き付ける のが基本です。安全のため、次のいずれかの方法でブザー・配線・基板・バッテリーを塗装範囲の外に退避させてください。 おすすめ: ブザーをケースから慎重に剥がし、基板側にまとめて 塗装エリアの外 に置く(両面テープ等で貼られているだけなので、薄いヘラなどでゆっくり浮かせれば剥がせます)。 どうしてもブザーをケースから外したくない場合: ブザー本体・導線・基板・バッテリーをマスキングテープやアルミホイルで 完全に養生 し、ケースの外側へ逃がした状態で固定する。導線が引っ張られない長さを確保し、 通電せずに(電源OFF) 作業する。 いずれの場合も、塗料のミストや溶剤が電子部品やバッテリーに付着しないよう、 塗装対象はケース外装のみ という状態を作ってから吹き付けます。 内蔵バッテリーは120mAhのリチウムポリマー ケースを開けると、 120mAhのリチウムポリマー電池 が現れます。M5StickC PLUSのコンパクトな筐体に収めるにはこれが妥当な容量でしょう。 リチウムポリマー電池は 熱や物理的な圧力に弱い ため、分解時には次の点に注意します。 バッテリーのフィルムを傷つけたり、刺したりしない 塗装時に熱がこもらないよう、バッテリーは基板から外せる場合は外す(コネクタを抜く) 塗料の溶剤がバッテリーや基板に付着しないよう、 ケースだけ単独で塗装 する 長時間使うためには容量の大きいモバイルバッテリーを併用するのが現実的です。USB Type-Cで給電できる外部バッテリーを用意しておくと、屋外での運用がぐっと楽になります。 謎のG25とG38ピン 分解してみて気になったのが、 基板上に出ている「G25」と「G38」のランド です。データシートを見てもこのピンの用途ははっきり書かれていません。 もし未使用ピンであれば、ハンダ付けして GPIOを増設 できる可能性があります。今のところ既存のGroveコネクタやI2Cで間に合っていますが、将来センサを追加したくなったときの逃げ道として覚えておくと便利です。 ...

公開: 2021年7月26日 · 更新: 2026年5月29日 · Toshihiko Arai

はじめてのBLE通信、iOSからESP32のLチカ

はじめに この記事では、 iPhone(iOS)から ESP32 へ BLE 経由で命令を送り、ESP32 につないだ LED を点灯・消灯させる ところまでを作ります。iOS 側は CoreBluetooth、ESP32 側は Arduino IDE で書いた BLE Server の最小構成です。 必要なものは、ESP32 開発ボード(NodeMCU-32S や ESP32-DevKitC など)、LED、1kΩ 程度の抵抗、ブレッドボードと配線材、それに iPhone とビルド用の Mac です。配線は GPIO13 → LED のアノード → LED のカソード → 抵抗 → GND の順でつなぎます。 このあと BLE の用語を一通り整理し、サービス・キャラクタリスティック・UUID といった「相手を見つけて値を渡す」しくみを確認したうえで、ESP32 と iOS のサンプルコードを並べていきます。BLE の概念にすでに馴染みがあれば、Bluetooth Lチカプログラム まで読み飛ばしても構いません。 先に要点 ESP32 をペリフェラル(BLE Server)、iPhone をセントラル(BLE Client)として扱います iPhone のボタンが押されたら "0" または "1" の文字列を BLE Write で送り、ESP32 側で GPIO13 の HIGH/LOW を切り替えます 接続には サービス UUID と キャラクタリスティック UUID の2つが ESP32 側と iOS 側で一致している必要があります ESP32 から iOS へ値を返したい場合(センサ値などの Notify 送信)は、続編の ESP32 から iOS へ BLE でデータを送信する でまとめています Arduino IDE で ESP32 を書き込めるところまで進めていない場合は、先に ESP32 で L チカするまでの設定 を済ませておくと進めやすいです 「Bluetooth」名前の由来 Bluetoothは直訳すると 青い歯 です。その由来は10世紀のデンマークとノルウェーの王様の「Harald Blåtand Gormsen」の名前から来ているそうです。Blåtandを英語に翻訳するとBluetoothなのです。Harald王は北欧を統一した王様で、乱立する無線通信規格も Harald王のようにBluetoothで統一したいという願いが込められてます。 ...

公開: 2021年7月14日 · 更新: 2026年5月28日 · Toshihiko Arai

【ESP32】BLE通信、ESP32からiOSでデータ受信

はじめに 今回は BLE通信を使って、ESP32から送られたデータをiOS端末で受信 します。ESP32をペリフェラル、iOSをセントラルとして扱い、ESP32側で読み取った値を Notify で送る構成です。 この形にしておくと、ESP32につないだセンサの値をiPhoneアプリ側で受け取り、画面に表示できます。Wi-Fiを使わずに近距離で値を渡したいときの入口として、前回のLチカ記事と合わせて読むと流れを追いやすいです。 先に要点 ESP32側は BLE Server としてサービス、キャラクタリスティック、Notify を用意します iOS側は CoreBluetooth で対象サービスをスキャンし、キャラクタリスティックを見つけて通知を登録します 値を受け取る処理は didUpdateValueFor characteristic で行います UUID が一致しないと接続後に値を受け取れないので、ESP32側とiOS側で同じ値を使います 前回のおさらい はじめに前回のおさらいです。BLE通信をはじめるには、 アドバタイジング で目的の サービス を持つ ペリフェラル を見つけ、 キャラクタリスティック を取得する必要がありました。よってペリフェラルの サービスUUIDとキャラクタリスティックUUIDの2つ以上が必要 になります。 前回は、iOSからESP32へデータを送信してLチカを実現させました。よってキャラクタリスティックの属性には Write が必要でした。 今回は、ESP32のデータをiOSで受信したいので Notify属性を使ってデータを受信 します。 ところで、この記事で扱うiOSとESP32は次のような関係になります。混乱しないよう気をつけてください。 iOS ESP32 セントラル ペリフェラル マスタ スレイブ クライアント サーバ ESP32のUUIDをそれぞれ次のように決めました。 項目 値 SERVICE UUID 4fafc201-1fb5-459e-8fcc-c5c9c331914b CHARACTERISTIC UUID beb5483e-36e1-4688-b7f5-ea07361b26a8 これらの値はESP32のサンプルの値を使用してます。必要あればこちらのジェネレータでUUIDを生成して書き換えてください。 https://www.uuidgenerator.net/ BLE通信でESP32のデータをiOSで受信するプログラム 概要 ESP32のGPIO32へ可変抵抗を取り付け、読み取ったアナログ値をiOSでBLE経由で受信する プログラムを作っていきます。 可変抵抗は両側をGNDと3.3Vに接続し、真ん中の端子をGPIOへ繋いでください。BLE通信を開始したらNotify通知を設定し、抵抗値をiOSで受け取りUILabeで表示させます。 ESP32(ペリフェラル) ESP32(ペリフェラル)のArduinoで書いたプログラムです。前回のBluetooth Lチカとそれほど変わりません。ESP32でデータを通知するにはキャラクタリスティックにデータをセットして通知します。 pCharacteristic->setValue(str); pCharacteristic->notify(); なお、ここでは文字列をセットしましたが、int型などもセットできるようです。 ...

公開: 2021年7月14日 · 更新: 2026年4月29日 · Toshihiko Arai

ESP32でLチカするまでの設定

はじめに この記事では、Arduino IDEでESP32の開発ができるようにし、最初の動作確認としてLチカ(LED点滅)まで進めます。ESP32のボードURL追加、Boards Managerでのインストール、LEDと抵抗の配線、Board/Portの選択を順番に確認します。はじめてESP32を触る場合は、まずこの手順で「書き込める状態」を作っておくと、その後のセンサ実験やBluetooth通信へ進みやすくなります。 開発環境 私の開発環境はこちらになります。Windowsでもほとんど同じ内容でできますので、適宜読み替えてください。 項目 バージョン ESP32ボード ESPRESSIF ESP32-WROOM-32D(ESP32 DevkitC V4) Arduino IDE Version 2.1.2-nightly-20230815 パソコン macOS Ventura 13.5 ESP32とは、上海に拠点を置く Espressif Systems社が開発したSoC(チップ) になります。下の写真の銀色の四角部分とWiFiアンテナ部分が本来のESP32になります。それ以外の部分は各社で自由に作られてます。 またESP32は Wi-FiとBluetoothの無線通信を標準で備えて ます。 クロックス周波数も240MHzと高速 で、ハイスペックながら低価格で購入できるマイコンボードです。ちなみにArduino Uno R3のクロック周波数が16MHz、Raspberry Pi Pico W が133MHzです。 ESP32はESP-IDFというツールで開発することができますが、 Arduino IDEを使ってArduino言語でも開発が可能 となってます。Arduinoをやったことある人でしたら、ESP32の開発もすんなりできるはずです。ここら辺がESP32が人気な理由でもあるでしょう。 さて、Amazonなどで検索しますとESP32のボードは種類が豊富でどれを選べば良いか分からないという方も多いと思います。結論から言いますと、 技適が通っていて38ピンある「ESP32 DevkitC」をおすすめ します。下記の製品どちらも技適が通っていてESP32 DevkitCとして開発できるのでトラブルが少ないと思います。実際私の仕事でも多用しているボードです。 Arduino IDE のインストール それでは実際にESP32の開発を進めていきましょう。Arduino IDEをお持ちでない場合は、下記ページからダウンロードします。184.3MBのdmgファイルでした。 https://www.arduino.cc/en/software 上記のページから macOS(Version 10.14: “Mojave” or newer, 64 bits) をダウンロードしました。Arduino IDEはWindowsやLinuxでも動かすことができます。ダウンロードする際に寄付画面が出てきますが、 無料でダウンロードする場合には「JUST DOWNLOAD」を選択 すれば大丈夫です。 Arduino IDEの設定 はじめにArduino IDEでESP32を開発するために、いくつかの設定が必要になります。難しそうに思うかもしれませんが、手順通り進めれば大丈夫ですので頑張りましょう。 ...

公開: 2021年1月5日 · 更新: 2026年4月30日 · Toshihiko Arai

リレーモジュールの使い方|Raspberry Pi・Arduino(ESP32)

はじめに この記事では、リレーモジュールをRaspberry Pi、Arduino、ESP32から制御する方法をまとめます。最初は豆電球やLEDのような低電圧の負荷で、COM、NO、NCの動きとGPIO制御を確認します。リレーモジュールが使えるようになると既存機器のIoT化へ応用できますが、 初めてのリレーモジュールでいきなりコンセントのAC100Vを扱うのは大変危険です。 ここではまず、事故の起きにくい電子部品を使ってリレーモジュールを扱ってみます。 この記事で使うもの リレーモジュール Raspberry Pi ESP32 DevKitC ブレッドボード ジャンパーワイヤ まずは リレーモジュール と マイコンボード、それから ブレッドボード と ジャンパーワイヤ があれば試せます。いきなりAC100V機器をつながず、最初はLEDや豆電球で確認するのが安全です。 リレーを動かしてみよう 図のように配線を組んで、実際にリレーを動かしてみました。皆さんも回路を組んで実際に遊んでみることをおすすめします。 スイッチを通じてプラス5Vを、リレーモジュールのINへ繋ぐ DCマイナスは電源のマイナス端子へ繋ぐ DCプラスは直接プラス5Vを繋ぐ 上記のように配線したら、スイッチのオンオフを切り替えてみましょう。スイッチを切り替えるたびに、ウィンカーみたいなカチカチ音が聞こえたでしょうか?これはリレーのスイッチが切り替わる音です。この音が聞こえればリレーは正しく動作できてます。次はこの回路に豆電球を取り付けて光らせてみましょう。 豆電球をリレーで光らせよう 次に豆電球を用意して、リレー制御で光らせてみましょう。図のように電池と豆電球をリレーモジュールに繋ぎました。 COMとNOに豆電球を繋いだ場合、 スイッチをオンにすると豆電球が光り、スイッチをオフにすると消灯します。 つまり、スイッチをオンにすることでリレーモジュールのCOMとNOが導通します。 それでは、COMとNCに豆電球を繋ぎ変えてみましょう。今度は スイッチをオンにすると豆電球は消灯し、スイッチをオフにすると光る ようになりました。 ここまでの動作から次のことがまとめられます。 COM(コモン)共通の端子 NO(ノーマリーオープン)は、リレーコイルに電流が流れていない時にCOMとの間が開いている NC(ノーマリークローズ)は、リレーコイルに電流が流れていない時にCOMとの間が閉じている Raspberry Piでリレーモジュールを使う それではこれから Raspberry Pi を使って リレーモジュール を動かしていきます。 トリガーの仕様 今回使用したリレーモジュールのトリガー(IN)へ流す電流は、 5mA 程度あれば十分です。また電圧は 3〜5Vの範囲 で入力が可能です。 Raspberry Piの GPIOは1つあたり10mA程度 まで電流を出力できます。そして 全体で30mA程度 までとなります。また、 GPIOの出力電圧は3.3V です。 たくさんのリレーを繋ぐときは消費電流に気をつけましょう。今回はひとつだけの実験ですので、GPIOを直接リレーモジュールのトリガーへ繋ぎました。 ちなみに今回使用したリレーモジュールはジャンパピンが存在し、Low側にするとトリガー電圧を0〜1.5Vに変更できるようになっていました。 Raspberry Piとリレーモジュールの配線 こちらがRaspberry Piとリレーモジュールの配線図になります。GPIO17をリレーモジュールのトリガーへ繋ぎました。 ...

公開: 2020年12月15日 · 更新: 2026年4月30日 · Toshihiko Arai