/telemetry-system

Telemetry system for balloon, rocket and other things that can fly high

Primary LanguageCGNU General Public License v3.0GPL-3.0

Telemetry System
Cloud-build Local-build

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


The project consists of:

  • Ground station (RX)
  • Transmitting module (TX)

Ground station (RX)

Block diagram

This is a module that includes one PCB:

  • LoRa transceiver (E19-868M30S) - 1W power output
  • MCU STM32F405
  • OLED display
  • Lipo charging chip
  • Data loger - logging of received information to MicroSD

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)


Transmitting module (TX)

Block diagram

This is a module that includes separate PCB modules for scalability:

  • GPS module (Matek M8Q) and SMA connectors for antennas
  • TX module: LoRa transceiver (E19-868M30S) - 1W power output, MCU STM32F405, logging data to MicroSD card (black box)
  • IMU module ( acc, gyro, pressure, sensor )
  • Servo module - to control flight stabilization (MCU STM32F405)
  • Power module - for power supply of all modules

For details see WiKi - Transmitting module (RX)


Protocol specifications


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


How to build

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

How to flash

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


Releases

Open releases versions


Open Source / Contributors

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