DIY car navigation on Raspberry Pi with OpenMapTiles
Published Oct 08, 2018
What started as a need for a rear camera for older car turned into a complete car system. Fabrice Aneche builds own car navigation with Raspberry Pi using OpenMapTiles as a base map in his spare time as a do-it-yourself project.
Raspberry Pi, LCD screen and a bunch of determination is needed to create a car system
After Fabrice bought his car, he realized how badly he is missing a rear cam. Instead of throwing a pile of money at the nearest car shop, he decided, as a true geek, to make own DIY system. And that’s how everything has begun.
As a heart of the system, he chose Raspberry Pi 3, an inexpensive single-board computer. It is connected to the Eleduino Raspberry Pi LCD screen, the video signal from the rear camera was captured using a USB adapter.
My Car, from 2011, only has an LCD display and no rear camera, so I bought a PAL rear camera, we passed some cables from the rear window to the front then everything begun.
The Raspberry Pi is powered by Linux with LXQTt desktop environment. After installing mplayer, the camera was running out of the box. Since everything worked, he thought about what to do next.
A rear cam. Photo © Fabrice Aneche
Maps powered by OpenMapTiles
Since Fabrice has a GPS receiver around, he decided to utilize the screen for showing the actual position of the car on the map. As a map system, he chose OpenMapTiles for its’ ability to run offline on a device with scarce resources. Because the project is open-source, he hacked the code to serve precisely his specific needs.
For serving map tiles, he wrote own server called mbmatch in Go programming language. He chose one of the default styles for a day map and created his own for a nigh, which is based on Solarized color pallet.
This project is an excellent demonstration of the power of OpenMapTiles offline use.
OSRM was selected as a backend for routing and the selected route was again displayed on the map.
The complete car system is available under an open-source license on GitHub.
A map with the actual position. Photo © Fabrice Aneche