As always I started a simple and quick project just as a tablet holder for using Spotify and Waze, and then I wanted to get the steering wheel controls to work, and then add a rearview camera (even though the car is tiny, I'm terrible at parking, so why not?), maybe dip my toes into the can bus to get useful information? How about voice commands? Yeah, it is never a quick and simple project 😅
This project is split into three pieces:
- An old Samsung tablet: It serves the purpose of the head unit itself running a custom launcher app with some useful features such as navigation, music control, rearview camera, and in the future some car information too. It does not depend on the rest so if everything stops working I still have navigation and music
- The "car gateway" is a box containing an esp826 with an MCP2515 module to talk to the can bus, two relays to manage power and safely shut everything down after the car is turned off, and, an orange pi to get the car state via serial from the esp8266, so, basically, the esp receives the can messages and passes only the useful stuff to the orange pi via serial so the pi sends commands to the tablet via adb (but I'm planning to change to emulate a keyboard in the near future), also the orange pi receives the rearview camera signal and streams it via webrtc.
- Lastly, there's a cloud server to store all my next destinations so I can set where I'm going using my cellphone beforehand, then when the tablet is connected to the internet it launches Waze with the set destination without the need to stop at the middle of the street to type the address, this is useful because my car is parked three levels underground so no signal to search it beforehand. In the future, I'm planning to use it as a management dashboard with fuel consumption, service history, vehicle status, and more