ESP32 powered oshw, an e-ink thingy with high-def rendering capability & lua sprite engine.
To get good rendering result with 800x600 resolution & maintaining rather low-power & (low cost of course), an online + offline hybrid system is designed to keep computation complexity at bare minimum on esp32.
In short, the app
pipeline is defined as:
- (Periodic wake) E-Paper thing (esp32) sends request to remote server, requesting latest version of 'app package' if there's any, by comparing stored json.
- Remote server renders various HTML (Design assets) into BMP (upon request) using
headless chrome
. - The BMP is then trimmed & compressed using a modified
RLM
algorithm which allows minimal decoding efforts (JPEG does not perform well here). - These images, along with
lua
files, are packed intotar
& sent to the esp. - ESP32 inflates the
tar
-> runslua
file if requried. - The
lua
file has access to thesprite engine
. - Image is
stitched
quickly & esp goes to sleep.
ESP32 Core firmware, with eink driver (slightly modified), with lua engine & power saving logic
TODO: docs
TODO: docs
TODO: docs
TODO: files & docs