A local-first desktop "mission control" for wireless IoT and embedded development — starting with the ESP32 ecosystem, built to extend to Nordic/RISC-V and beyond.
TPT BaseStation consolidates the tools an embedded/IoT developer normally juggles separately — a serial monitor, a flasher, a BLE provisioning app, a packet sniffer — into one Tauri desktop app with a modular dashboard of "Cards." Everything runs locally: no cloud accounts, no telemetry, works air-gapped.
See spec.txt for the full design/vision doc and TODO.md for the up-to-date milestone log, including which features are mock-only vs. verified against real hardware.
- Serial Console — real-time streaming console with sparkline graphing
- Hardware Discovery (HAL) — capability-based device detection (VID/PID → manifest → firmware handshake → boot-text fingerprint)
- Wi-Fi Provisioning — send credentials to devices over BLE
- Flash & OTA Manager — flash firmware over serial, or serve it via a local OTA HTTP server
- On-Device Filesystem — browse/pull/push a LittleFS partition, plus create/edit/delete/rename files (root and subdirectories, inline and large/CTZ-encoded) — real-hardware-verified; see
TODO.mdfor exact scope (e.g. nomkdiryet) - Community Manifest Sync — pull device manifests from a self-hosted registry (plain HTTPS + TOML) and merge them into your local manifest set, opt-in via the
registrycargo feature - Radio Coexistence Visualizer — Wi-Fi/BLE timeslicing graph (mock-only, pending TPT Probe hardware)
- Matter/Thread Topology Mapper + Mesh Doctor — mesh visualization, weak-link diagnosis, PDF reports (mock-only, pending real Border Router integration)
- Matter/Thread Commissioning — one-click local commissioning flow (simulated handshake)
- Local Energy Visualizer — MQTT/Modbus energy flow dashboard
Design principles: local-first (no cloud), hardware-agnostic core, mock-first development (every hardware-facing subsystem ships a mock alongside the real implementation), and no unverified device-mutating writes.
Cargo workspace + pnpm workspace:
core(tpt-core) — transport-agnostic hardware logic: serial/BLE transports, flashing, OTA server, filesystem/LittleFS, mesh/probe/energy data modelshal(tpt-hal) — capability-based device discovery and manifestscli(tpt) — command-line interface overcore/halgui— Tauri v2 + React + TypeScript + Tailwind desktop app
See CLAUDE.md for a deeper architectural walkthrough.
Requires Rust (stable) and Node/pnpm.
# Rust workspace
cargo build --workspace
cargo test --workspace
# CLI
cargo run -p tpt-cli -- serial --mock
# GUI
pnpm install
pnpm gui:dev # launch the Tauri dev app
pnpm gui:build # production buildMost subsystems have a --mock/mock-source path (CLI flags, or mock data sources in the GUI) so you can exercise the app without real hardware attached.
Pre-1.0, actively developed. Track progress and open items in TODO.md.