yukuro’s blog

ぽえむ日記

Sensecap Indicator D1Sに書き込んでみる

はじめに

SenseCAP Indicator D1S — スイッチサイエンス

ESP32およびRP2040のデュアルMCUを備えた4インチのタッチスクリーン液晶です。Wi-Fi/BLE通信やGroveコネクタにより各種センサーや周辺機器に接続でき、またESP32およびRP2040のオープンソース・エコシステムにより多くのアプリケーションに対応できます。3種の環境センサーが搭載され、環境モニターにも最適です。

構成

公式WikiによるとESP32とRP240の両方が使用されている

wiki.seeedstudio.com

SoCによって司るコンポーネントが異なり、それぞれに書き込む必要がある

  • ESP32
    • 4インチスクリーン
    • Wifi
    • BLE
    • ボタン
  • RP2040
    • tVOCセンサ(I2C経由)
    • CO2センサ(I2C経由)
    • Grove(I2C)
    • Micro SD
    • Grove(ADC)
    • ブザー

ESP32への書き込み

wiki.seeedstudio.com

基本的には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インストーラーを使用する必要がある

github.com

これを用いれば何も問題なくgit applyすることでパッチを適用できる

RP2040への書き込み

wiki.seeedstudio.com

こちらは先ほどとは打って変わってWikiの指示通りにすればすんなり書き込めた

COMポートの選択

ESP32とRP2040、どちらも別々の書き込み口を持っているので当然ながらCOMポートも別になる。自分がWindows機で試したところ、以下のように表示された

  • USB シリアル デバイス (COM4)
    • RP2040の場合、こちらを使用
  • USB-SERIAL CH340 (COM5)
    • ESP32の場合、こちらを使用

おわりに・感想

M5Stackのような非常にリッチな環境とは異なり、組込み系をやってる感を得られる

次はLVGLを用いた画面の構成・RP2040とESP32間の通信をやってみる