Repository navigation
v0.1.3
ESP32-4848S040 only: smoother LVGL, and two bugs fixed. The other boards are unchanged: use v0.1.0.
The periodic display timer kept MicroPython's schedule queue full during time.sleep_ms(), and anything else scheduled was dropped with no error. It is now a one-shot timer, armed again after each lv.timer_handler().
| Measure | v0.1.2 | v0.1.3 |
|---|---|---|
| 15 min soak, LVGL redraws per second | 39.1 | 47.6 |
| Longest animation gap during a download | up to 1015 ms | up to 215 ms |
| Sounds that never ended, during long sleeps | 20 of 24 | 0 of 24 |
audiono longer loses its I2S callback.audio.stallsis gone: it counted those losses.- In an application with a UI, read sockets non-blocking: LVGL stays at 50-54 redraws per second during a download, against 13-48 with a blocking read, which can wait 100 ms at a time without running the scheduler.
Known issues: gaps of 100-200 ms remain during downloads, and download speed varies from 0.35 to 6 Mbit/s between runs, cause not found. HTTPS not tested.
Not on boards with the relays fitted: audio and buzzer use the relay pins (GPIO 1, 2, 40).
Tested on hardware: t05_perf.py, t06_wifi.py, t07_audio.py, 4 runs with soft resets. The 15 min soak ran with the same code loaded as files, before the build.
Flash, on a board that had other firmware (this erases everything on it, your files too):
esptool.py --chip esp32s3 -p <port> erase_flash
esptool.py --chip esp32s3 -p <port> -b 460800 write_flash 0x0 ESP32_4848S040-v0.1.3.binWithout erase_flash the board can stop at boot with "The filesystem appears to be corrupted". To update a board already on v0.1.0, v0.1.1 or v0.1.2 and keep its files, skip erase_flash.