Firmware for the OE5XRX Remote Station System, providing embedded software for modular hardware components such as:
- FM Transceiver Module (SA818-based)
firmware/
├── cm4/ # Firmware for CM4 carrier board
├── fm/ # Firmware for FM transceiver module
├── bus/ # Firmware for the bus board
├── tester/ # Firmware for the device tester
├── common/ # Shared code (e.g. logging, CLI, drivers)
└── docs/ # Optional documentation
This project uses CMake and Dev Container to build the firmware.
- Modular FreeRTOS architecture
- Static memory allocation and more or less dynamic heap usage
- Unified CLI over USB via TinyUSB
- Built-in diagnostics and command shell
- Optional runtime stats and task monitoring
- Target platform: STM32F302CBT6
- Communication: USB CDC
- Debugging via SWD and serial console
- Unit testing via Cpputest
- static code analysis via Cppcheck
- Docker
- Editor with devcontainer support (VSCode)
Open the Devcontainer in our editor or start it via docker:
docker run -it -rm ghcr.io/oe5xrx/<IMAGE>:latest bashThere are multiple options to build the firmware and unittests.
cmake --workflow --fresh --preset cross-compile-<release/build>cmake --workflow --fresh --preset unittest-<release/build>