This is a project for transmitting telemetry for a balloon, rocket and other things that can fly high.
The project consists of:

This is a module that includes one PCB:
The display is only needed to display service information, all telemetry is transmitted to a PC via USB to display telemetry in a GUI application, transmission of control commands for the rocket
For details see WiKi - Ground station (RX)

This is a module that includes separate PCB modules for scalability:
For details see WiKi - Transmitting module (RX)
In order not to reinvent the "wheel", the UBX protocol was taken as basis and simplified for the current requirements:
simplicity
scalability
short messages to minimize air latency
In protocol not included ACK and NAK - since this is an overhead in time, if the parcel was not received by the ground station, it's okay, we will received the next message, but will not waste time transmitting package: "success received"
It consists of six blocks, as shown in the picture

You can read more information here WiKi page - Protocol specifications
Depends: gcc-arm-none-eabi cmake
mkdir build
cd build
cmake -DBUILD=GROUND_STATION ..
make -j
make clean
cmake -DBUILD=TX_MODULE ..
make -j
make clean
cmake -DBUILD=SERVO_MODULE ..
make -j
TODO: need update
For flash via USB need use dfu-util - Device Firmware Upgrade Utilities
Install for Ubuntu
sudo apt install dfu-util
Install for MacOS
brew install dfu-util
Or build from source files
https://github.com/siemens/dfu-util
example of flash:
dfu-util -a 0 -s 0x08000000:leave -D your_firmware.bin
or use make flash command after build firmware
Open releases versions
This software that is open source and is available free of charge without warranty to all users.
Big thanks to current contributors:
*the document will be updated as the project develops