So, lately I’ve been working this text UI automatic map tiles downloader project.
The main goal was that user would be able to select only particular continents, countries and states or regions, whichever he wants. The project will then fully automate and parallelize the download process of map tiles. The output goes to tiles directory in your home directory. Once you’re satisfied with all countries/regions downloaded, copy the maps to the SD card. Awesome devices like LILYGO T-Deck Plus and T-Pager are insanely useful for off-grid messaging and GPS position sharing with projects like Meshtastic, and MeshCore.

My app Map Tiles Downloader helps you fetch map tiles very fast for offline use. You can pick areas using a simple text user interface (TUI), choose tiles provider (and optionally enter provider’s API key), map styles and zoom level. Then you’re able to download the exact areas that you’ve selected / ticked on the TUI. Select / unselect with spacebar and continue to next screen with Enter/Return key.

When the download starts, app shows the download progress, speed, ETA, downloaded size on disk, etc… It also estimates how much disk space will the complete download use.
If you interrupt the download, it’s not an issue. The app will automatically resume partial downloads, it skips all tiles that are already downloaded and resumes the downloading process. In this manner you can also sequentially create “composite” custom maps for your devices. Just always select the areas that you want, desired zoom level for that areas and map style. After the download completes (or is interrupted by i.e. internet outage, disconecctions, etc…), you’re able to:
- Start the app with same areas, zoom level, selected provider & map style and you can continue in interrupted download
- Choose any additional / different areas, the program will resume, appending all new tiles

The source code lives on my GitHub repository: tekk/map-tiles-downloader, but you can easily install the project with pipx:
On Windows
First install latest Python from the Windows Store, then open Terminal (Win+X and click on Terminal/Powershell), and enter these commands one-by-one:
pip install pipx
python -m pipx ensurepath # then close and restart Terminal
pipx install mt-downloader
mt-downloaderOn MacOS
brew install pipx
pipx ensurepath # then restart your terminal
pipx install mt-downloader
mt-downloaderOn Linux
If you’re using Linux, I don’t think that I need to explain, how to install this 😀
You can also download ready-made pre-compiled binaries from the Releases page of the project, but the reomended way of installing is via pipx. Also, the release packages for MacOS are not digitally signed, so the system will complain (just search for a fix). 😉
I hope that this project will be useful for anyone out there. Please, don’t forget to share your custom downloaded maps! We’ll keep the bandwidth of OpenStreetMaps / ThunderForest lower when we’ll share and others may re-use your downloads. And don’t forget that there’s a limitation of an 32GB SD card on the T-Deck Plus and T-Pager.
Best luck and 73, Peter “Tekk” OM7TEK.
If you like my work, you can donate here, so I can create more content like this:

