LittleVGL drivers for Adafruit 480x320 featherwing and web browser
Posted: Tue Feb 25, 2020 9:39 pm
I've written a pair of LittleVGL (https://littlevgl.com/) drivers, one for the Adafruit 480x320 pixel FeatherWing (HX8357 LCD driver and STMPE610 resistive touch), and the other using websockets to display in a web browser. They are available for people to use or modify without warranty, etc.
Code for the Adafruit board can be found at https://github.com/danjulio/lv_port_esp32.
Code for the websocket driver can be found at https://github.com/danjulio/lv_port_esp32_web.
The websocket driver is still a work in progress. It's a bit heavy, and slow if your GUI forces LittleVGL to redraw a lot of the screen all the time, but it works well for updating simple controls, etc. It could be a good way to use the same code to display on either a LCD or web browser (with security caveats).
Both should work with any ESP32 module. The Adafruit featherwing uses SPI and needs two CS pins along with Reset and the LCD D/C pin. The websocket driver uses a bit of memory so you may have to think about things like buffer sizes, etc when setting display resolution and screen size.
Code for the Adafruit board can be found at https://github.com/danjulio/lv_port_esp32.
Code for the websocket driver can be found at https://github.com/danjulio/lv_port_esp32_web.
The websocket driver is still a work in progress. It's a bit heavy, and slow if your GUI forces LittleVGL to redraw a lot of the screen all the time, but it works well for updating simple controls, etc. It could be a good way to use the same code to display on either a LCD or web browser (with security caveats).
Both should work with any ESP32 module. The Adafruit featherwing uses SPI and needs two CS pins along with Reset and the LCD D/C pin. The websocket driver uses a bit of memory so you may have to think about things like buffer sizes, etc when setting display resolution and screen size.