
Andy Valentine spent a month reliving a childhood experience in his 350Z. He created a mini-map navigation system that uses the iconic GPS display from Need for Speed Underground 2 and runs on a $20 microchip. His bespoke dashboard setup in the Nissan 350Z tracks GPS position, loads map parts on the fly, and even includes a car symbol that spins in the direction he’s traveling.
Valentine was interested in using the ESP32-P4 because of its graphical capabilities, which enabled him to pursue his crazy idea. The whole setup fits snugly into the leftmost location on a custom digital dash, paired with a 3.4 inch Waveshare display with an 800 by 800 pixel resolution. A GPS module provides him with location data, while a 236 GB SD card stores his maps, which cover over half of the United Kingdom’s roads and trails at zoom level 16, totaling over 2 million tiles. Each tile loads in a tenth of a second, keeping the frame rate between 40 and 50 FPS.
- 4K FRONT + 1080P REAR RECORDING – ROVE R2-4K DUAL dash cam offers dual-channel recording capabilities, capturing footage simultaneously from both...
- SONY STARVIS 2 SENSOR/SUPER NIGHT VISION – Equipped with a Sony IMX675 STARVIS 2 Image Sensor for the front camera, this dash cam delivers...
- ULTRA FAST 5G WIFI/ UP TO 20MB/s DOWNLOAD SPEED – With its built-in dual-band 5GHz and 2.4GHz WiFi, you can use the ROVE dash cam app to view and...
Getting all of this map data began with scrounging out some free resources. He used Ordnance Survey for road maps, the UK Department of Transport for significant areas of interest, and OpenStreetMap for supplemental information such as where to find a filling station. Then he used a Python script to search through a 2 GB file for the coordinates labeled “amenity=fuel,” which would tell him where the gas stations were. He then used QGIS to break it all up into individual tiles, an operation that took him 35 hours, then 18 more to reformat it all into a format that the ESP32 could read, and a further 22 hours to copy it all onto the SD card, all before he could even fire it up.

The code runs in C++ on the ESP32 and relies heavily on the LVGL library for all image and overlay operations. The map defaults to a north-up view, but the car symbol can rotate to follow the direction you’re going. That’s a significant change because attempting to rotate the map itself would result in a 4 FPS display, which isn’t that useful. To keep it quick and seamless, he’s introduced lazy loading, which pulls in new tiles as you travel, moving old tiles into memory and reducing SD card accesses. Even the loading animations are done in the background to avoid triggering any system watchdogs that could crash the thing.

He’s framed the entire display in a nice little circle, leaving the edges black to avoid clashing with the other gauges while still displaying the other warning lights for vital legal reasons. You can currently see a 3 by 3 grid of tiles, however changing to a 5 by 5 grid might make greater use of the screen. He’s still toying with the markers that show the nearest sites of interest, and he intends to move them to the ring’s perimeter soon. Next, he plans to replace bitmaps with vector images, which will allow for smoother zooming and spinning.

In a twenty-three-minute video, a certain Valentine demonstrates how to go from a breadboard prototype to carving up the parking lot. A startup locks on the GPS and then takes off, performing a circle of the roundabout and reaching the main roadways. The overhead drone images brilliantly complement the screen action as our hero snakes around the twists and over the hills. Petrol stations appear just as expected, and the entire routine plays smoothly, with no stutters. The entire affair is an excellent instance of how normal drives can benefit from the game’s enchantment.
Anyone can reproduce or tweak this project; the source is available on GitHub and includes scripts for producing the tiles and the ESP32 firmware. Valentine made everything open-source so that individuals could make maps for their own communities, change the visual styles, and add multiplayer, sharing via servers. The nice aspect is that the files scale perfectly, requiring little adjustment whether we’re talking about UK roads or somewhere else entirely.
Future updates have already hinted at more to come. With vector tiles on the way, we should expect to use much less storage space and scale more effectively. And the markers will be able to layer on top of one other independently; additionally, with public servers, people will be able to drop pins for their friends. Valentine is already planning to take it all the way to a full-fledged NFS dashboard, and this is only the beginning – with each tiny modification, it gets closer to looking and feeling like a complete game. And it is all being done one drive at a time.
[Source]





