CampusPilot

ⓘ data flow
ESP32-WROOM (always WiFi + MQTT)
   │  publish ~5 s  campuspilot_01/<thing>/telemetry
   ▼
AWS IoT Core ──MQTTS──▶ cp_dashboard ──WebSocket──▶ this page

Trip start  ("Start trip + Motor ON" below)
   → publish campuspilot_01/<thing>/trip {action:"start", engage_motor:"ON"}
   → ESP32  cloud_task.cpp:97   setJetsonRail(true)  [GPIO26 LOW, Jetson rail ON]
                                setMotorRail(true)   [GPIO27 LOW, motor rail ON]
   → Jetson boots, cloud_bridge_node.py publishes {state:"jetson_active"}
   → ESP32 drops to heartbeat; Jetson publishes telemetry (adds EKF fields)

Trip stop
   → Jetson publishes {state:"jetson_idle"}
   → ESP32 cuts Jetson rail 2 s later (GPIO26 HIGH)

Sources: ESP32_C3_M8N_Compass/src/{mqtt_client.cpp:229, cloud_task.cpp:97-124}
         cp_jetson_ros_python/src/cloud_bridge/cloud_bridge_node.py:51,99,238
Online
never
Telemetry
GPS Fix
Battery
volts
Motor
15 V LDO
Trip
Joystick
gamepad
Recording
RB+B / RB+X
🛰️
Waiting for GPS fix…
Map appears once the device reports valid coordinates

Trip control

Recording control

Raw MQTT payloads

Last status

Last telemetry

Greengrass deployments

ComponentVersionGroup StatusWhenBy
Open this tab to load deployments…
Select a recording to view its trajectory.
Checking FastAPI…
Pick a dataset and checkpoint.
Select a run to view its checkpoints, inference grid, and ONNX exports.