Sensecap Indicator D1Sに書き込んでみる
はじめに
SenseCAP Indicator D1S — スイッチサイエンス
ESP32およびRP2040のデュアルMCUを備えた4インチのタッチスクリーン液晶です。Wi-Fi/BLE通信やGroveコネクタにより各種センサーや周辺機器に接続でき、またESP32およびRP2040のオープンソース・エコシステムにより多くのアプリケーションに対応できます。3種の環境センサーが搭載され、環境モニターにも最適です。
構成
公式WikiによるとESP32とRP240の両方が使用されている
SoCによって司るコンポーネントが異なり、それぞれに書き込む必要がある
- ESP32
- 4インチスクリーン
- Wifi
- BLE
- ボタン
- RP2040
- tVOCセンサ(I2C経由)
- CO2センサ(I2C経由)
- Grove(I2C)
- Micro SD
- Grove(ADC)
- ブザー
ESP32への書き込み
基本的にはWikiの通りに進めればよいのだが、注意点が記されている
Understanding the Need for Patching: LVGL, operates within the SenseCAP ESP32 SDK at a clock frequency of 120 MHz. However, to prevent encountering the "FLASH and PSRAM Mode configuration are not supported" error, it's crucial to apply a specific patch.
This patch is designed to optimize the RGB LCD's performance using the PSRAM Octal 120 MHz feature. It's specifically intended for use with the release/v5.0 branch of ESP-IDF. Please avoid using a version higher than v5.0.
特に「It's specifically intended for use with the release/v5.0 branch」とあるが、ESP-IDFのrelease/v5.0ブランチは常に更新され続けているため、最新のブランチを持ってきてもうまく行かない
そのため、v5.0.1用のofflineインストーラーを使用する必要がある
これを用いれば何も問題なくgit applyすることでパッチを適用できる
RP2040への書き込み
こちらは先ほどとは打って変わってWikiの指示通りにすればすんなり書き込めた
COMポートの選択
ESP32とRP2040、どちらも別々の書き込み口を持っているので当然ながらCOMポートも別になる。自分がWindows機で試したところ、以下のように表示された
- USB シリアル デバイス (COM4)
- RP2040の場合、こちらを使用
- USB-SERIAL CH340 (COM5)
- ESP32の場合、こちらを使用
おわりに・感想
M5Stackのような非常にリッチな環境とは異なり、組込み系をやってる感を得られる
次はLVGLを用いた画面の構成・RP2040とESP32間の通信をやってみる