ESP32 の紹介

ESP32

2017年に日本でも発売されるようになった マイコン向けCPU です
ESP-ROOM-32 CPU概観
有名な Arduino の後継に位置づけられますが
後述のようにパワーアップしています
ESP32-DevKitC
半年ほどすると 図のような完成キットも発売され 通常こちらを使います
PC接続するための 電源 兼 USBシリアル通信用 microUSB端子 が付いてます
リセットスイッチ や 起動モード選択スイッチ も表面に実装されています

ESP-WROOM-32 と ESP-WROOM-02 比較
ESP-WROOM-32 ESP-WROOM-02
CPU Tensilica LX6(32bit)
160MHz/240MHz
デュアルコア
Tensilica LX106(32bit)
80MHz/160MHz
シングルコア
メモリ RAM:520KiB
フラッシュROM:4MB
RAM:80KiB
フラッシュROM:2MB/4MB
無線LAN 802.11b/g/n/d/e/i/k/r
2.4GHz帯
WPA/WPA2/WPA2-Enterprise/WPS
AES/RSA/ECC/SHA
802.11b/g/n
2.4GHz帯
WPA/WPA2
WEP/TKIP/AES
Bluetooth v4.2 なし
プロトコル IPv4/IPv6/SSL
TCP/UDP/HTTP/FTP/MQTT
IPv4
TCP/UDP/HTTP/FTP
インターフェース I2C/I2S
SPI/UART
PWM
GPIO
SDIO
ADC 10bit
I2C/I2S
IrDA
PWM
GPIO
SDIO
ADC 10bit

能力的には 1990年前半の家庭用PCクラスです

ESP32マイコンを製作する

2017年の初旬は CPU単体でしか売られていなかったので
少なくとも USBシリアルコンバータ を別途調達してきて
マイコンの形にすることが必要です

丁度公式サイトで サンプル回路図 が公開されていて
秋葉原で部品を揃えれば作れそうだったので試してみました
ESP32-WROOM-32 パッケージ
実際買った ESP-WROOM-32がこれ
ちゃんと日本で使える技適マーク付き 当時 700円 今 550円 くらいで安い
L型2列ピンヘッダ
これが今回の秘密兵器 L型2列ピンヘッダ
CPUパッケージのピッチが 1.27mm ですが これを一般的な 2.54mm の
ブレッドボードや回路基板に挿せるようにするために配置変換させます
ピンヘッダ ピンソケット
ピンヘッダの L字の部分をペンチで加工します
加工時の安定性確保のために 2列ピンソケットに挿した状態で 曲げていきます
ピンヘッダ加工中
加工中を横からみたところ ピンヘッダの上の段と下の段 が交互に
半ピッチずつずれて折り重なるようにします 上下段で 1.27mm ピッチになります
こうやって合計 38ピン 分の L型2列ピンヘッダを作ります
ESP32-WROOM-32 + L型2列ピンヘッダ はんだ付け前
ピンヘッダ と ESP-WROOM-32 を はんだ付けする直前の状態
このように L型ピンヘッダを一旦 基盤に挿し込んで固定します
ESP-WROOM-32 をピン間に挟み込んで固定します

ピッチが合っていることを十分確認してから はんだ付けします
はんだの載りを良くするためフラックスも塗った方がよいです
CPUを熱で壊さないように冷ましながら はんだ付けします

マイコン化する

CPU部分は ユニバーサル基盤にはんだ付けられるようになりました
残り Arduino相当にするために必要なのは

  • GPIO各ポートの ピンソケット
  • 安定電源を供給するレギュレータ
  • USBシリアル

Auraboxで遊ぶ

Auraboxの改造

まだ具体的な機能追加などできてませんが Aurabox の改造をしてみたレポートです

Auraboxパッケージ
Aurabox本体外観
Auraboxとは 主要機能としては Bluetoothスピーカですが
ところがもう一歩進んでいて「攻めた」機能を持っています

スマートフォンと連動しプログラマブルな表示ができる LEDディスプレイ
マイク や 温度センサ や バッテリなど独自の作り込みが行われています
Aurabox梱包内容
パッケージの中身です 黒で統一されています
化粧箱もがっちりとした強度で 実はこちらも気に入っています

中にマイコンが入っていて IoTデバイスとしての使い方もできるのでは? と思い立ち
中身の調査をすることにしました
Auraboxのカバーを外したところ
まず本体を覆っているゴムのような材質のカバーを慎重に取り外し
Auraboxの内部に迫る
プラスチックケースをこじ開けます スイッチ類のところからが比較的開けやすいです
左下の丸いものは実は マイクで間違ってドライバを突っ込んで壊してしまいました
Auraboxを開けたところ
何とか開きました 基盤 大きなスピーカ バッテリが見えます
Auraboxが 2つに割れたところ
バッテリ や スピーカ に接続しているケーブルを外しました
ここから部品構成を確認していこうと思います
Auraboxインターフェース部分
Auraboxのインターフェース部分です
操作用のスイッチと 左下に(壊してしまいましたが)スピーカ そして
スイッチの上に見える突起は温度センサでしょう
Auraboxディスプレイ背面基盤
ディスプレイの丁度背面にあたる部分の基盤です ICが4つくらい見えます
中央のは STM8 と刻印されています LEDディスプレイ制御用の 8bitマイコンですね
残りの 3つは型番を調べたところ LEDコントローラです
Auraboxメイン基盤
Auraboxのメイン基盤です
特に左側の青い基盤はマイコンとなっていて 3つの大きな ICが載ってます
写真中央右の大きめのICは オーディオアンプです
写真右のチップは 電源制御関連と思われます
ICの刻印をネットで調べながら 次の構成が見えてきました

Auraboxの 代表的なIC構成
AK1050 安凱微電子(ANYKA)製 ARM926EJ-Sプロセッサ
ARMv5TE(32bitARM+16bitThumb) 192KRAM
STM8S003K3 STM8 8bitCPU
25Q16CS1G 2MB Flashメモリ
MBI501* LEDコントローラ 2つ
MBI502* LEDコントローラ
HT6818 3.3W Ultra Low-EMI Anti-Clipping ステレオD級オーディオアンプ
MT5036 6.6A 800kHz 96%変換効率 バッテリコントローラ
REALTEK8761AT Bluetooth2.1~4.0LE UART制御コントローラ

ほとんど中国製の部品で作られています
Aurabox取り付け部品
今回写真の部品を取り付けました
壊してしまったマイクとシリアル用のコネクタです
シリアル用のコネクタは Auraboxのフラッシュメモリを直接外から読み書きできるよう
外出しするためのものです フラッシュメモリを書き換えられれば自由に制御できるかなと…
Auraboxの フラッシュメモリに配線
フラッシュメモリに線をはんだ付けして外だしします 写真の右の方です
Aurabox改造完了
こうしてどうにか マイクを交換し シリアルコネクタを取り付けました
Aurabox動作チェック
一応元の機能のまま Auraboxは動作しています
フラッシュメモリのデータ吸い出しなどは まだできていません (2017-12)

GitHubには こんなプロジェクト も見つけられます
時間を見つけて試してみたいですね