Hello, This is my project that replaced my entire OEM radio, I had the oem sync 3 with the 8 inch screen, non premium.
I'm loving this software so far.
This is by no means perfect, This is the first big project I've done like this, I did some coding, 3D design and the electrical circuit. So far everything that works is android auto, gauges, and some other things.
I'm using a usb sound card to Optical audio to a DSP that then goes to 2 separate amplifiers a 4 channel for my door (mids and highs) and a monoblock for my subwoofer
Future plans:
Steering wheel controls OEM (I have a canbus adapter on the way) - The canbus hasn't been able to sniff the controls, I have to go about this a different way now.
Rotary knob of some sorts.
Backup camera
Actual radio (RTL-SDR)
I'm sure ill add more.
BOM:
Hudiy
Raspberry Pi 5
52pi 7-inch Touch Capacitive screen
Aoicrie PC817 1 channel optocoupler isolation module (power safe shut down)
DROK Time delay relay (power shut down)
Geekworm X1001 Pcie to M.2 Hat
PlusRoc DC 12v/24v to 5V 5A step down converter (Supply stable power to the pi) -
Cm106 like usb Sound card
I would like to add the ability to watch my plex server, but im not great at coding and im having some issues understanding webview and such, any help is appreciated.
2014 Ford Escape SE
2014 Ford Escape SE
You do not have the required permissions to view the files attached to this post.
Re: 2014 Ford Escape SE
Here's some more progress, added a esp32 rotary knob for a physical button. Unfortunately I wasn't able to sniff out the canbus signals. But this was way more fun.
It does the following
Volume, mute, next, previous, pause, play, source change, eq.
The knob does a few other things, such as show song title and artist on the media screen. As well as the idle screen with the clock, I have a custom boot screen, with a custom sound from the headunit.
It does the following
Volume, mute, next, previous, pause, play, source change, eq.
The knob does a few other things, such as show song title and artist on the media screen. As well as the idle screen with the clock, I have a custom boot screen, with a custom sound from the headunit.
You do not have the required permissions to view the files attached to this post.
Re: 2014 Ford Escape SE
Update: the knob I used has become more problematic with encoder bounce then I like. I have the knob now receiving album art work as well as live updates from the song time and more.
You do not have the required permissions to view the files attached to this post.
Re: 2014 Ford Escape SE
That’s a really interesting integration. Regarding the encoder bounce issue, have you tried handling the debouncing directly on the ESP32 (using a timer or software filtering) rather than just at the application level? Given the number of functions you’re having it manage, that could also prevent double inputs during rapid rotation. The result—with the album art and real-time info display—looks really clean.
He who is always looking elsewhere forgets what he possesses here.
Re: 2014 Ford Escape SE
Kaiis wrote: Thu Sep 10, 2026 11:03 am That’s a really interesting integration. Regarding the encoder bounce issue, have you tried handling the debouncing directly on the ESP32 (using a timer or software filtering) rather than just at the application level? Given the number of functions you’re having it manage, that could also prevent double inputs during rapid rotation. The result—with the album art and real-time info display—looks really clean.
I have tried it like that, currently the way that works the best is using a lockout interrupt.
I've tried delay timers, tried a few things, and the knob's encoder just has to much bounce, I have two of them, and they act pretty similar.
Re: 2014 Ford Escape SE
Kaiis wrote: Thu Sep 10, 2026 11:03 am That’s a really interesting integration. Regarding the encoder bounce issue, have you tried handling the debouncing directly on the ESP32 (using a timer or software filtering) rather than just at the application level? Given the number of functions you’re having it manage, that could also prevent double inputs during rapid rotation. The result—with the album art and real-time info display—looks really clean.
I actually changed the album artwork to look more round, like a vynal record, I also did figure out the bounce situation, I spent some time last night to find the example code the knob came with to figure out how they did it so smoothly, and the results are crisp switching with 0 bounce.
// POLLING VARIABLES
volatile int encoder_diff = 0;
uint8_t last_pin_a_state = HIGH;
unsigned long last_turn_time = 0;
lv_indev_t * encoder_indev;
lv_group_t * g;
Re: 2014 Ford Escape SE
Here's some updates.
Working on cleaning up the UI and making the ux better as I go.
Got the encoder bounce leveled out with code.
Added some other things just for fun.
Added a settings menu in the knob.
Added album art to display during and idle screen or the media screen.
Added "theme" colors.
Added different options for the idle screen.
Added a weather screen just to see if I could.
Working on cleaning up the UI and making the ux better as I go.
Got the encoder bounce leveled out with code.
Added some other things just for fun.
Added a settings menu in the knob.
Added album art to display during and idle screen or the media screen.
Added "theme" colors.
Added different options for the idle screen.
Added a weather screen just to see if I could.
You do not have the required permissions to view the files attached to this post.