3ds Google Maps changelog
v2.0 · Apr 15, 2026
What's New in v2.0
Offline Tile Caching
- Tilepack format — download thousands of tiles on your PC and pack them into a single
.tilepackfile for your SD card - PC download tool (
tools/download_region.py) — bulk tile downloader with 8 parallel workers and SHA-256 deduplication - In-app Download Region — download tiles for your current map view directly on the 3DS (Settings > Data tab)
- Auto-loading — the app checks for
sat.tilepackandstreet.tilepackon startup
New Tile Source
- Esri World Street Map — switchable alongside OSM and Esri satellite in the Tiles settings tab
Other
- Comprehensive README rewrite with offline caching docs
- Updated .gitignore
Installation
- Copy
3ds_google_maps.3dsxtosdmc:/3ds/3ds_google_maps/on your SD card - (Optional) Generate tilepacks with
python tools/download_region.pyand copy them tosdmc:/3ds_google_maps/tiles/ - Launch via Homebrew Launcher
v1.0.0 · Apr 3, 2026
🗺️ 3DS Google Maps — v1.0.0 (Initial Release)
A fully-featured interactive maps application for Nintendo 3DS homebrew.
✨ Highlights
• No proxy required — map tiles are downloaded directly over HTTPS on-device using libcurl + mbedTLS
• Dual-screen display — top screen shows the map, bottom screen shows the interactive UI panel
• GPS tracking via your phone — the 3DS runs a TLS HTTPS server; scan a QR code with your phone to stream live GPS coordinates back to the console
🗺️ Map & Navigation
• OpenStreetMap street tiles over HTTPS (tile.openstreetmap.org)
• Switchable satellite imagery via Esri World Imagery
• Place search — search for addresses and places via Nominatim geocoding
• Route planning — enter start & destination, route drawn on the map
• Reverse geocoding — tap “Identify” to find out what’s at the map center
• Favorites — save and recall locations (persisted to SD card)
• Recents — last 10 viewed locations remembered in-session
• Night mode for low-light use
🎮 Controls
• Touch panning — drag on the bottom screen to pan
• D-pad & Circle Pad — directional and smooth continuous panning
• L/R buttons — zoom in/out
• Red crosshair always marks the center of the map
• Debug overlay shows zoom level, tile stats, and FPS
📡 GPS Phone Bridge
• 3DS runs a TLS 1.2 HTTPS server on port 8443 (mbedTLS)
• QR code displayed on the top screen — scan with your phone to connect instantly
• Phone streams GPS coordinates to the 3DS every second via POST /location
• Also supports NMEA TCP client mode (GPS2IP / similar apps)
• Map auto-centers on your live position when tracking is enabled
🗂️ Tile Caching
• SD card cache — tiles saved to sdmc:/3ds_google_maps/tiles/ for instant offline reload
• RAM cache — up to 64 tiles held in memory
• Prefetch ring — configurable ring of tiles prefetched around the current view
⚙️ Settings & UI
• Full settings panel with tabs: View, Tiles, Data, GPS
• Status bar showing current action
• Basic Street View panorama viewer (requires proxy)
🛠️ Build Info
• Language: C
• Toolchain: devkitARM (devkitPro)
• Libraries: libcurl 8.4.0, mbedTLS 2.28.8, libpng, citro2d/citro3d, libctru
• Output: 3ds_google_maps.3dsx
📋 Installation
- Copy 3ds_google_maps.3dsx to sdmc:/3ds/3ds_google_maps/ on your SD card
- Launch via the Homebrew Launcher
- Connect to WiFi before starting
⚠️ Known Issues
• GPS server uses a self-signed cert — browsers will show a security warning (tap “Advanced → Proceed”)
• TLS handshake on Original 3DS takes ~300-500ms (normal)
• Tile downloads can be slow on O3DS (~2-4s per tile at high zoom) — hardware limitation
• libcurl on 3DS uses HTTP/1.1 only (no HTTP/2)
🔮 Planned
• Custom markers and points of interest
• Offline map pack support
• Additional map styles (terrain)
