This is the yoRadio Fusion project, adapted to support a 2.8″ 320×240 TFT display based on the ST7789 controller.
Device is built using single rotary encoder. A second encoder is connected to a custom-built toggle switch based on a 555 Timer IC and it’s used to power the radio on and off. The switching element is a 5V-powered relay.
The enclosure used in this project comes from the (https://makerworld.com/pl/models/1634283-yoradio-enclosure). However, it requires resizing to accommodate the selected 2″ speakers and the 2.8″ display. Additionally, the original MakerWorld project does not fit within the standard P1S printer’s plate (256 mm × 256 mm × 256 mm) and has to be customized. All of my customizations done to the genuine Pietras81 version is also added to this repository.
The original project did not work correctly with the TFT display and the ST7789 controller. Adding the line #define DSP_MODEL DSP_ST7789 to the myoptions.h file caused compilation errors in the Arduino IDE environment. It seems that not all officialy supported displays are handled consistently.
In this particular case, the compilation error was related to a missing method in the weather display class. The simplest solution that came to mind was to disable the weather display feature. Therefore, do not expect weather support in this version of yoRadio. If you have the time and motivation, you can improve the code. I simply did not need this functionality.
I also added a view template generated by the YoRadio! Theme Editor.
Modified code, modified enclosure, connection diagram and remaining required files are available on my Github Account
Please keep in mind the current requirements for the audio amplifier. Ensure a sufficiently large cross-section of the power supply traces for the amplifier and supply the 5V power source directly.
The PCM converter should also be powered from an independent 5V voltage source. Using the 3.3V supply from the ESP32 board caused significant AUDIO signal distortion in my case.
Jakub/SP5TOF