Easy-to-build DIY controller for your Ford USA vehicle that enables top dash display to show some useful information when stock head unit is removed.
Full source code and assembly instructions are published on GitHub. Ready-made devices are tested on ~10 Ford Escapes and Mercury Mariners in Russia. May support other Ford vehicles with FDIM display, volunteers are welcome.
Functionality
- display current speed, RPM, engine temperature, tires pressure, tires temperature, current time
- configurable display units (km/miles for speed, Celsius/Fahrenheit for temperatures, psi/bars/kPa for pressure, 12h/24h for clock)
- full functionality offered with aftermarket head unit (with no other modules using dash display)
- support for CAN-enabled aftermarket head units (may require minor additional power wiring)
- very early preliminary support for stock head units
- semi-configurable display layout for different head unit types
- configuration made on the fly via serial terminal
As a next step of FDIM controller evolution I'm trying to use ESP32 board as its heart. That should allow to read and write some cool text info as track names or navigation hints - and get this data via WiFi link or Bluetooth connection. Code compiles, but may need modification to Sodaq_DS3231 library - inclusion of pgmspace.h should be surrounded by ESP32 macro check (exactly as in can-clock.ino file)
Recently reverse engineered headlights status in MS CAN messages. Already used in my other CAN project - CAN relay. But also can be used for this controller.
On September 9th I've made a workshop "How to build DIY automotive electronics" at Moscow Mini Maker Faire. Been the only workshop with 16+ audience rating. Try to find me - should be easy even for non-Russian speakers :). Maybe next time I need to have more hacking rather than DIY audience, dunno. If you host car hacking conference and want me to talk on it - contact me :)
There has been a great deal of value to me in my involvement with the project. Would like to share it with the sprinter van expediting team so they can also read it and implement something new.
Not yet, I'm polishing the code to make it work on ESP32. One of the early controller versions used ESP8266 for WiFi and getting text to print. But later I simplified the schematics. ESP32 may be interesting thing to experiment on, but it's the matter of free time :)
There has been a great deal of value to me in my involvement with the project. Would like to share it with the sprinter van expediting team so they can also read it and implement something new.