Skip to content

v0.1.3

Choose a tag to compare

@nuraci nuraci released this 06 Nov 06:33

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
  • audio no longer loses its I2S callback. audio.stalls is 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.bin

Without 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.