A more recent project of mine is to utilize a 7" Raspberry Pi touch screen as an interface for a mesh networking radio. This screen recieves its video signal from it's controller over a Display Serial Interface (DSI) Cable, and has its backlight controlled over I2C. The rough structure of the project which ended up not working out (more on that later) was to have a meshcore radio such as the Heltec V3 flashed with the stock serial client firmare, communicate with a Man In The Middle devboard which would handle the screen and commands. After a little bit of researching boards which could utilize and DSI connection I found the ESP32P4. Which is available in many packages, but in the end I settled on the Pico from waveshare due to its castelated edges, and slim form factor. Writing firmware for this proved a larger task than I had at first wanted, but offered a few learning opportunities. Firstly the Pico is not yet fully usable in the Arduino or Platform.io IDE's. This left me with using the Espressif IDF system, but this too was also somewhat complicated. It turned out the the specific board I got had an engineering release of the P4 chipset, this meant I needed to use the older ESP-IDF v5.3 release, once I figured that out, building and flashing was quite simple, but the command line for ESP-IDF is somewhat bulky, leading me to finally use the the Espressif IDE, which is itself a modification of the Eclipse IDE. This prooved to be a decent workflow for building firmware for the P4, though it is quite alot more involved but I was able to cobble together some software to interact with the V3, but in the end the PSRAM limitations of the PICO seemed to be a bit small for the framebuffer of the display. I am now currently working on implementing the system with a raspberry pi, which is substantially overkill, but has much better support, and is alot more familier, especially when compared to writing what comes close to assembly.
I recently started a small project to mess around with the ESP-32 "Cheap Yellow Display" after seeing it used on a berm peak youtube video. So far it has proven to be quite a capible device. One thing I wanted to try was finding a more effecient way of designing user interfaces, especially ones that work with the light and versitile graphics library.
After doing a little bit of research I came across a few tools, but they were all closed-source, with quite pricy subscriptions. This lead me to ask an llm to do a quick search for toolsets which had simaler abilities, but were free and open source. This lead me to come across EEZ Studio.
While it takes a little bit of setup, using this tool in conjunction with PlatformIO for ESP-32 development is quite easy, and makes good UI's very accessible. So far my toolchain has involved designing the graphics in Inkscape and importing them into my eez studio project. Then when I build the UI all the files are where they need to be in the platform.io project. There is also a system called EEZ flow that I have yet to learn, which allows some of the UI actions to be programmed graphically with a node chart, which is then included in the platform io build.
Once the project is farther along I will post an update, or an overview page going over it, and how it was done.