Avionics
KEEL.
On-board computer, power, and camera for OrcaSat-1. Later missions update this stack instead of starting over.
What it is
KEEL is the on-board computer, electrical power system, imaging payload, and the firmware that ties them together. They share a power rail, a software stack, a thermal envelope, and a mutex that keeps the UHF transmitter and the camera from drawing power at the same time.
CubeSat programs often rewrite software every flight. KEEL is built so OrcaSat-4, if it flies, still has code that started on Demo-1.
- Mass
- 223–307 g
- Cost
- $2.8k–$8.2k
- Power
- 0.39 W avg
- Tasks
- 7 FreeRTOS
1U stack
Organized around two buses and one mutex. SPI for sensors, SD, camera, and radio. I²C for housekeeping. A FreeRTOS binary semaphore prevents the UHF transmitter and the camera from drawing power at the same time.
| Slot | Z | Subsystem | Role |
|---|---|---|---|
| −Z deepest | 0–22 mm | EPS board (incl. battery) | KEEL — power core |
| Middle-low | 22–34 mm | OBC board (NanoMind class) | KEEL — compute core |
| Middle-high | 34–45 mm | UHF radio board | Peripheral — not KEEL |
| Upper-mid | 45–57 mm | ADCS sensor board | Peripheral — not KEEL |
| +Z deploy face | 57–68 mm | Camera carrier (OV5647) | KEEL — imaging core |
Versions
KEEL-1
OrcaSat-1
Baseline. STM32F405 OBC + GomSpace P31u-class EPS + OV5647 camera. ~$2.8k–$8.2k, 223–307 g.
KEEL-2
OrcaSat-2
Higher-capability OBC for the Kalman filter. Larger battery and EPS regulator for S-band TX bursts. Same camera carrier, narrower lens. Triple-lock mutex.
KEEL-3
OrcaSat-3
Zynq-class OBC for X-band processing. Quad-lock mutex. Sub-degree pointing ADCS heritage from OrcaSat-2.
KEEL-4
OrcaSat-4
KEEL-3 plus sail-aware ADCS extensions and deep-space thermal qualification. Deployment safe-mode handles three inertia-tensor states.
What never changes
- FreeRTOS task topology — names, priorities, message-passing patterns
- Telemetry packet schema — version-tagged, backward compatible
- TX/camera mutex pattern — extended in scope, never removed
- OV5647 + ArduChip imaging pipeline — same driver across all four
- EPS housekeeping I²C protocol and INA-class voltage/current/temperature reports
- Safe-mode supervisor state machine — same triggers, same recovery
- Watchdog kick pattern — lowest-priority FreeRTOS task kicks IWDG
- SD card filesystem layout — sequential filenames, FatFS, image + sensor partitions
Seven tasks
- 01Sensor sampling
- 02Telemetry framing
- 03Command parsing
- 04Image capture
- 05JPEG compression
- 06Downlink scheduling
- 07Watchdog / safe-mode
The TX/camera mutex is held by whichever of camera-compression or radio-TX is currently executing. The other blocks until release.