Hey everyone,
I’m starting a new project and could really use some guidance! I’m building an Arduino-powered map system that will display my GPS location on a TFT LCD screen and show map tiles of my surroundings. The system will use a GPS module for location tracking, and I plan to download and display tiles from OpenStreetMap.
Here’s the plan for the project:
Arduino Uno: The main controller of the system.
NEO-6M GPS Module: For tracking the current location.
TFT LCD Display (2.8” or 3.2”): To display the map with the current location.
SD Card Module: To store map tiles.
ESP32 (optional): For Wi-Fi functionality (fetching online map tiles in the future)
I plan to use OpenStreetMap and download map tiles for my city. I’ll use a tile generator to get the map tiles at zoom level 15, storing them on an SD card.
I’ll be writing a sketch that reads GPS data from the NEO-6M GPS module and displays my location on a map on the TFT LCD. The tiles will be stored on an SD card, and the program will need to load the right tile based on the GPS coordinates.
Initially, the map tiles will be pre-loaded onto the SD card, but I might explore using Wi-Fi (via the ESP32) to fetch online map tiles in the future.
Where I need help: I’m concerned about the Arduino Uno’s memory limits. Will it be enough to store and render the map tiles, or should I upgrade to something like the Arduino Mega or the ESP32 for more memory?
I plan to use SPI for both the TFT display and the SD card module. Has anyone successfully displayed map tiles from the SD card on a TFT screen? Any advice on wiring them up and handling the storage?
Once I have the tile numbers (based on latitude and longitude), how can I ensure the Arduino fetches and displays the right tile quickly? Does anyone have experience using Arduino with map tiles (especially PNG files) on a TFT display?
What’s the best way to handle offline tiles efficiently? I’m thinking of pre-loading them on the SD card, but I’m open to suggestions. If I want to use online maps with Wi-Fi in the future, what would be the best approach for fetching and managing the tiles?
Any tips on making sure the map rendering and GPS updates are smooth? I want to avoid lag and ensure the system runs as efficiently as possible with the available resources.
I’m just about to starts, so any pointers before I dive in would be great!