ESP-SATDUMP
GPS satellite tracker firmware for ESP32 with a 4" TFT display.
Important
This is a development version. The codebase is subject to frequent and significant changes. Stable versions will be provided as packages later via Milestones.
Table of Contents
- Overview
- Hardware
- Firmware Pages
- Flashing
- TFT_eSPI Setup
- Required Libraries
- CLI GPS Visual Tool
- Project Structure
- Serial Output
- Documentation Index
- License
Overview
ESP-SATDUMP reads NMEA data from a u-blox GPS module and renders multiple satellite/fix views on an ST7796S TFT display.
Hardware
| Component | Part |
|---|---|
| MCU | ESP32 |
| Display | LAFVIN 4.0" ST7796S TFT 480x320 (SPI) |
| GPS | u-blox NEO-6M (UART2) |
| Encoder | KY-040 rotary encoder |
Wiring reference: docs/pinout.md
Firmware Pages
| # | Name | Description |
|---|---|---|
| 1 | Sky View | Polar satellite plot (azimuth / elevation) |
| 2 | Signals | SNR bar chart per satellite |
| 3 | Fix Info | Latitude / longitude / altitude / speed / time |
| 4 | NMEA Raw | Scrolling raw NMEA sentence stream |
Encoder navigation:
- Clockwise: next page
- Counter-clockwise: previous page
Flashing
# Auto-detect serial port and flash
./flash.sh
# Specify port explicitly
./flash.sh /dev/ttyUSB0Requires arduino-cli and the
esp32:esp32 board package.
TFT_eSPI Setup
Copy firmware/ESP_SATDUMP/User_Setup.h into your TFT_eSPI library folder
(replacing the active setup), or configure User_Setup_Select.h to point to
that file.
Required Libraries
arduino-cli lib install "TFT_eSPI"CLI GPS Visual Tool
A Rich-based live terminal dashboard is available for serial GPS debugging.
-
Tool starter:
tools/run_gps_visual_test.sh -
Full tool documentation:
docs/gps_visual_cli.md
Project Structure
ESP-SATDUMP/
├── firmware/
│ └── ESP_SATDUMP/ # Arduino sketch and source files
├── tools/
│ ├── run_gps_visual_test.sh # GPS visual tool launcher
│ └── gps_visual_test.py # Rich CLI GPS dashboard
├── docs/
│ ├── architecture.md # High-level architecture
│ ├── gps_module.md # GPS module notes
│ ├── pages.md # Firmware page behavior
│ ├── pinout.md # Wiring details
│ └── gps_visual_cli.md # GPS visual tool documentation
├── flash.sh # Build + upload helper
├── monitorv2.sh # Serial monitor helper
├── HARDWARE_PINOUT_EN.md # Alternate pinout reference
└── Display_Pinout.txt # Pinout notes
Serial Output
After boot, firmware prints [ESP-SATDUMP] boot at 115200 baud and then
forwards GPS debug output.
Use monitorv2.sh or any serial terminal at 115200.
Documentation Index
License
This project is licensed under the MIT License - see the LICENSE file for details.
Pushbuttons (AHH-1.0)
- Pushbutton 1: GPIO26
- Pushbutton 2: GPIO27
