Flight Software & Embedded Systems
Flight software and embedded systems.
Custom development
We develop firmware and flight software for CubeSats, SmallSats, payloads and subsystem electronics. Work spans low-level hardware control, onboard services, fault management and integration with the ground segment.
- Bare metal / RTOS
- Customer hardware support
- Ground integration
Key features
Hardware and execution platform
- Bootloaders, board support packages and device drivers.
- Bare-metal and RTOS applications for time-critical control.
- Embedded Linux integration for selected payload-processing architectures.
- Task scheduling, time budgets, bounded queues and resource management.
- Memory protection and isolation where supported by the target hardware.
- FPGA register interfaces, DMA data paths and processor/logic coordination.
- Timekeeping, synchronization and payload event timestamps.
Spacecraft services
- Telecommand validation, acceptance, execution and reporting.
- Housekeeping acquisition, telemetry packaging and event reporting.
- Parameter management, persistent configuration and controlled updates.
- Stored command sequences and time-tagged activity scheduling.
- Operating-mode management and subsystem coordination.
- Payload data acquisition, buffering, file management and downlink preparation.
- CSP, CCSDS packet services, selected PUS services and CFDP integration.
- Mission-specific command and telemetry databases shared with ground tools.
Fault handling and maintenance
- Task, device, communication and resource-health monitoring.
- Watchdog servicing based on actual software progress.
- Escalating recovery from service restart to device reset, power cycle or safe mode.
- Retry limits, fault counters and persistent diagnostic records.
- Protected recovery image, image-integrity validation and controlled boot selection.
- Trial image activation, acceptance checks and rollback.
- Interrupted upload, interrupted boot and persistent-data migration handling.
- Authenticated commands and authenticated update paths with defined key handling.
Configuration and integration options
| Area | Development options |
|---|---|
| Target hardware | Bosphorus electronics, customer boards or third-party subsystem processors |
| Execution | Bare metal, RTOS or selected payload Linux platform |
| System architecture | Centralized flight software, distributed subsystem services or mixed architecture |
| Spacecraft interfaces | CAN/CAN FD, serial links, SpaceWire, Ethernet and device buses |
| Autonomy | Time-tagged actions, event responses, mode transitions and fault-recovery sequences |
| Ground integration | Command dictionaries, telemetry definitions, parameter tools and test endpoints |
| Updates | Image validation, staged activation, recovery image and rollback |
| Development tools | Build environment, interface libraries, command-line utilities and test harnesses |
CubeSat and SmallSat architectures
Compact CubeSat software coordinates functions sharing one processor while protecting essential control paths. Distributed SmallSat software manages multiple computers and subsystem controllers through explicit ownership, timing, interfaces and fault-containment boundaries.
Verification
Reviews, static analysis, unit tests and integration tests are combined with execution on the target hardware. Timing, processor and memory loading, reset behavior, malformed commands and recovery sequences are exercised in representative mission scenarios. Hardware in the loop tests connect software behavior to real interfaces.
Delivery
Software releases, binaries, configuration data, interface documentation, deployment tools and verification records accompany the implemented system. The software baseline identifies the matching hardware revision, build configuration and supported operating modes.