Rocket Telemetry

A python program that reads, parses, and visualizes rocket's sensor data in real-time.


Technologies used: Python, Matplotlib, Spyder, Arduino

The Idea

source: Spaceport America Cup

My university's rocketry team is competing in the Spaceport America Cup, and I'm working on the telemetry system for that rocket. The only requirement from the competition is to store the altimeter data on a micro sd card for judges to verify that our rocket reached 10,000 ft. However, I thought it would be useful to program a realistic telemetry panel capable of monitoring the rocket as it flies in real-time.

Inspired by SpaceX and NASA telemetry visualization systems

Development

1. Configuring Sensor

The sensor I'm using is not natively arduino-based. To be used, I had to install several arduino libraries to recognize and read data from it. Once I created a connection, it dumped long strings of unformatted data that I needed to process. To do so, I separated each sensor output into a string separated by commas. With every sample, a new string of data is added.

Formatted string outputting 10 sensor datapoints

2. Sending and Reading Data in Python

The strings of formatted data were displayed in Arduino's serial monitor. To send them to Python in real-time, I used the serial library which created a direct connection. The data was already formatted, so I parsed it and stored each number into its respective array.

Splitting and storing recieved data

3. Visualizing Data

Gyro updating in real-time

Telemetry display with all graphs loaded

4. Configuring for Flight

The data from the sensor will be transmitted to my computer's serial using a radio. From there, the python program will take over and visualize the data. If the rocket explodes, data won't be lost as the transmition to my laptop will act as the third redundant system (after two internal sensors). A test flight will occur shortly and the competition will take place on June 18-22 2019.

5. Further Research and Development
  • Development and implementation of system capable of transmitting telemetry in real-time
  • Development of packet parsing algorithm to display useful and reliable data

victortaksheyev@gmail.com