Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Honestly, that post triggered me. I've had really horrible experiences using LVGL on low powered devices.


Would you mind sharing why? We are adopting LVGL for PineTime Smart Watch, hope we won't fall into a trap. Thanks!


I was using it here[1] because the TTGO libraries were using it and it looked like a solid GUI. Unfortunately I took the TTGO samples and extended them instead of doing things from scratch and tbh the code for AWatch is an embarrasing mess that just happens to function enough to pass as working.

However... When I was doing all this, TTGO used LVGLv6. LVGL had just released 7, changed everything on their site and all their support. Documentation were pointing to a mix of v6 and v7 items, and there are breaking changes.

When I say breaking changes I mean the entire freaking toolkit is different in the way styles and widgets are handled. I have to rewrite everything by hand to go from 6 to 7.

Lilygo updated to v7 recently but I haven't had a chance to update the AWatch code for it, nor am I inclined to. For a do-over. I get that LVGL is good for say, Arm project size stuff but on ESP32 in the Arduino IDE it's no fun, a sentiment well expressed here in the current docs[2].

One other pitfall I found was that I wanted to be able to dynamically draw items on the screen so I could create a decent Protracker VU-meter for AWatch and possibly a little finger note thing. I ended up falling down a Canvas[3] rabbit hole. Do not touch Canvas if you can avoid it, especially on a low memory platform like ESP32. I had massive memory problems with it. Again, this was 6, not 7 so YMMV but it's put me off for life.

I'm looking for something simpler with limited inheritence. I don't forsee a need for something as complex as LVGL on a simpler watch like the TTGO T-Watch series.

[1] - https://github.com/stevelord/AWatch

[2] - https://docs.lvgl.io/latest/en/html/get-started/espressif.ht...

[3] - https://docs.lvgl.io/latest/en/html/widgets/canvas.html




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: