A python program that reads, parses, and visualizes rocket's sensor data in real-time.
Technologies used: Python, Matplotlib, Spyder, Arduino
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
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
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
Gyro updating in real-time
Telemetry display with all graphs loaded
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.
victortaksheyev@gmail.com