おもちゃ (Waveshare ESP32-S3-Touch-LCD-1.28) を手に入れたのでこれ用の Micropython の Firmware を Ubuntu 24.04 上でビルドしたときのメモ。結構バージョンの組み合わせでハマった。試行錯誤ありなので多少不正確な部分はあるかも。
まずは ESP-IDF は 5.0.6。最新版は 5.2.2 だが gc9a01_mpy と合わせてコンパイルできなかった。
ダウンロードはこんな感じ。Ubuntu 上の各種ビルドツールもそれぞれ準備。
mkdir -p ~/esp
cd ~/esp
git clone -b v5.0.6 --recursive https://github.com/espressif/esp-idf.git
Micropyhon の ESP-IDF サポート状況はここ。(5.2.0 をサポートしているようだが。。)
gc9a01_mpy の情報はここ。Micropython は 1.23.0 を使用。
# git clone -b v1.23.0 git@github.com:micropython/micropython.git
# git clone https://github.com/russhughes/gc9a01_mpy.git
ビルド及びファームウェアの書き込みは S3 を追加。
# cd micropython/ports/esp32
# make \
BOARD=ESP32_GENERIC_S3 \
BOARD_VARIANT=SPIRAM \
USER_C_MODULES=../../../../gc9a01_mpy/src/micropython.cmake \
FROZEN_MANIFEST=../../../../gc9a01_mpy/manifest.py \
clean submodules all
# make \
BOARD=ESP32_GENERIC_S3 \
BOARD_VARIANT=SPIRAM \
USER_C_MODULES=../../../../gc9a01_mpy/src/micropython.cmake \
FROZEN_MANIFEST=../../../../gc9a01_mpy/manifest.py \
erase deploy
REPL から gc9a01 をインポートしてエラーが出なければ成功!
>>> import gc9a01
>>>
サンプルファイルは以下の Sample demo からダウンロードできる。
ESP32 は色々面白そうなハードウェアが多く魅力的だが開発環境を揃えるのは大変なのかもと思いました。。あと技適付きで販売してくれることを祈るばかり。