Hi guys, this is my first post on this forum, happy to be part of the community!
So I wanted to share my bachelor project and ask for feedback. I have been working on a graphical display for VESC, something like SVD - Simple Vesc Display. So my first idea was to create a graphical display for my e-bike, before I used a simple segmented LCD display and after some time I wanted something more, so I started looking for easy to use graphical libraries for embedded systems and stumbled upon lvgl. So I started experimenting, my first prototypes were based on ESP32 and ili9488, it was quite a simple and cheap setup, but due to the SPI speed limitation the refresh rate was slow for me. So I switched to the ESP32-4827S043 TFT display module which is amazing for the price, ESP32-S3, good refresh rate, good enough documentation and much more I can only recommend!
So the project is currently being developed on the ESP32-4827S043 TFT module and the planned functions are similar to a Bafang display, so you what you can see on the main screen:
-Speed
-Telemetry
-Vesc temperature
-Motor temperature
-Battery level (percentage or voltage optional)
-Trip (relative distance, elapsed time) - so besides showing the distance travelled and the elapsed time, the main idea here was to have a system that allows logging at a certain point, so we activate this system and the timer starts counting and a mcu starts writing telemetry data intermittently to an sd card. This helps to analyse different Vesc settings on different terrains.
-Odometer
In the settings you can set
-Imperial/metric
-Wheel size
-Display brightness
I've also modified the VescUart lib so that I can edit App conf and Motor conf.
The project is still in development and there's still a lot to be done, I'm just curious what you guys think about it.
PS: The name of the project is an acronym of my name Roli + OS, I thought it would sound good
View attachment 347661
View attachment 347660
Update!
So for the last few weeks I've been working on getting a stable version ready for testing, the current state is that the system can currently communicate with VESC, but what's missing at the moment is converting the data from VESC into visible output on the screen.
It's not a very hard task, but I had to change my system architecture because it wasn't working as it should, now that the new architecture is done, development will be faster. The project currently looks like this:
Link to a video:
View attachment 349764
Finally, the 3D-printed case is done and ready for testing

.
View attachment 351421View attachment 351422View attachment 351423View attachment 351701
Alternative simplified screen