Live status
Nominal Warning Critical Stale / no data Invalid value
Alarms
Alarm history
Fault injection — test the alarms
Faults act on the simulated spacecraft, not on the display: the ground segment only sees the packets that result, exactly as it would in orbit.
Latest readings
—Live orbit & ground track
SIMULATEDSpacecraft state
- Latitude
- —
- Longitude
- —
- Altitude
- 550 km
- Velocity
- 7.59 km/s
- Illumination
- —
- GS elevation
- —
- Orbit #
- —
- Next UAE pass
- —
Subsystems
Event log
Battery state of charge
%Power: generated vs consumed
WTemperatures
°COnboard storage used
MBBloom watch — chlorophyll-a (NDCI) map
DEMO DATACoastal asset alerts
Alerts trigger when mapped chl-a within 15 km of an asset exceeds 10 mg/m³ (watch) or 20 mg/m³ (warning). Values shown are a seeded demo field until MARSAD-1 prototype imagery is processed.
| Asset | Peak chl-a | Status |
|---|
How detection works
- AS7341 samples water-leaving light at 445–680 nm + NIR during the 10-min nadir window.
- ESP32-S3 computes NDCI = (R708 − R665) / (R708 + R665) onboard.
- Pixels above threshold are tagged; a compact alert packet goes down over LoRa at the next UAE pass.
- Full OV5640 images are stored and downlinked selectively for confirmation.
Concept of operations — one 95-minute orbit
Power by subsystem
mWEnergy per orbit by mode
mWhMass by subsystem
gCost by subsystem
AEDMargins
Bill of materials
Telemetry data contract
v1 · JSON lines · 1 Hz · 115200 baudEvery packet is one JSON object per line. The same format comes from the simulator, the Tinkercad sketch and the ESP32-S3 flight firmware, so the dashboard never needs to know which one it is talking to. Fields marked required must be in every packet; optional fields show No data until they arrive.
Example packet
Ground rules
- A field is stale 3 s after its last update; its tile turns grey and its chart line breaks.
- No packet for 3 s → link STALE; for 10 s → link LOST (critical alarm).
- Values outside the sensor's physical range, or of the wrong type, are shown as INVALID and never plotted.
- Lines that are not valid JSON are counted as rejected and logged.
- Alarms latch with a UTC timestamp, stay in the history when they clear, and can be acknowledged.
Mission statement
Team Kanban
Tinkercad circuit
Arduino stand-in of the flight computer: TMP36 (A0), sun sensor (A1), battery-voltage pot (A3), heater/imaging/downlink LEDs (D13/D7/D4) and antenna-deployment servo (D9). Open the circuit in Tinkercad →
Prototype link
Flash firmware/marsad_telemetry/marsad_telemetry.ino to the ESP32-S3 prototype, plug it in over USB and press Connect prototype. The dashboard switches from simulated to live telemetry (Web Serial, Chrome/Edge).