CartoTUI

August 3, 2026 ยท View on GitHub

Interactive map viewer for the terminal with vector or raster tiles rendered as ASCII, Unicode quadrants, or braille.

Recording 2026-07-13 161020 (2) weather2 Screenshot 2026-07-13 110100

Setup

Windows (PowerShell):

.\setup.ps1

macOS / Linux:

./setup.sh

This makes a venv, installs CartoTUI, and builds the native renderer if a C compiler is present (otherwise the Python renderer is used). It then offers to set up the ADS-B connection; skip that step with -SkipAdsb (or --skip-adsb). Then run:

python -m cartotui --mvt-url "https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}" --lat 43.2081 --lon -71.5376 --zoom 14

ADS-B live traffic

CartoTUI can overlay live aircraft on the map. Pick and test a source:

.\configure.ps1 adsb      # Windows
./configure.sh adsb

No hardware

The quickest path is a free public feed, no receiver required:

./configure.sh adsb --source api

It follows the map centre as you pan. Providers: airplanes.live (default), adsb.lol, adsb.fi.

Your own receiver

SourceWhat it is
apiFree public feed over the internet. No hardware
sbs1dump1090 / readsb / PiAware, local or on the network (SBS-1, TCP 30003)
lakesharkLakeShark receiver on a USB serial port
lakeshark_tuiLakeShark receiver, ESP_LOG console format
replayPlay back a recorded .jsonl capture
./configure.sh adsb --source sbs1 --host 192.168.1.50 --port 30003
./configure.sh adsb --source api --provider adsb.lol --radius 150
./configure.sh adsb --test          # re-probe the saved source
./configure.sh adsb --list-ports    # show serial ports
./configure.sh adsb --disable

Setting up a receiver server

CartoTUI only reads ADS-B, something has to decode 1090MHz off an SDR and serve it. To see what this machine has, and what it could install:

./configure.sh adsb --server-status
./configure.sh adsb --install-server              # shows the plan only
./configure.sh adsb --install-server --yes        # actually runs it
HostBackend
Raspberry Pi (ARM Debian: bullseye/bookworm/trixie)dump1090-fa from the FlightAware repo. Serves SBS on 30003 out of the box
Debian/Ubuntu amd64dump1090-mutability, where the distro still ships it
Anything else Linuxreadsb via the wiedehopf install script
WindowsGuided only - see below

FlightAware builds dump1090-fa for armhf/arm64 Debian only, so it is not offered on amd64 or Ubuntu, where apt could not resolve it.

--install-server prints the exact commands and does nothing without --yes.

On Windows there is no packaged ADS-B server, and the SDR's driver must be replaced with WinUSB via Zadig, an admin GUI step no script can safely drive. --install-server prints the steps instead. Once dump1090.exe --net --net-sbs-port 30003 is running, point CartoTUI at it:

.\configure.ps1 adsb --source sbs1 --host localhost --port 30003

Settings

Edit config.json without hunting for the file:

.\configure.ps1 set ui.theme dark      # Windows
./configure.sh set render.vector_scale 8
./configure.sh list --flat
./configure.sh themes

Documentation

Full documentation is in docs/wiki.

InstallationSetup, the native renderer, where files live
KeybindingsEvery key
RenderingView modes, palettes, dither, thresholds, Looks
Image adjustBrightness, contrast, gamma, saturation, levels
ThemesBuilt-in themes and writing your own
ConfigurationEverything in config.json
ADS-BLive aircraft, sources, receivers
OverlaysWeather radar
WidgetsThe floating panels
SnapshotsPNG and HTML export
TroubleshootingWhen something is wrong
ArchitectureHow the code fits together

License