Skip to content

About

Visualizer for .csv and mjpeg formatted video files from video telemetry project.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Telemetry Dashboard

A desktop app that plays back synchronized video and sensor data from a flight or recording session. As the video plays, you can watch live readings for temperature, pressure, altitude, humidity, and orientation — plus a rotating 3D model that shows the device's attitude in real time.


What You See

Element Description
Video feed Frame-by-frame playback of the recorded footage
Telemetry readouts Temperature, pressure, altitude, humidity, roll, pitch, yaw
3D model Rotates in sync with the real orientation data
Slider Scrub to any point in the recording
Play / Pause Start or stop automatic playback

Requirements

You need Python 3.8 or newer installed on your computer. If you don't have it, download it from python.org — make sure to check "Add Python to PATH" during installation.

Install the required libraries

Open a terminal (search for Command Prompt or PowerShell on Windows) and run:

pip install PyQt5 pandas numpy matplotlib trimesh

This only needs to be done once.


How to Run

  1. Double-click main.py (or run python main.py in a terminal from this folder).
  2. A folder picker dialog will open. Navigate to your session folder and click Select Folder.
  3. The dashboard will open automatically.

Tip: You can also drag main.py onto a Python launcher shortcut, or right-click it and choose Open with → Python.


Session Folder Format

Each recording session lives in its own folder. The folder must contain:

my_session/
├── data.csv          ← telemetry data (required)
├── IMG_0.jpg
├── IMG_1.jpg
├── IMG_2.jpg
└── ...               ← one JPG per frame (required)

The data.csv file must have these columns (in any order):

Column Description
timestamp_ms Time of the reading in milliseconds
temperature_C Temperature in degrees Celsius
pressure_hPa Atmospheric pressure in hectopascals
alt_ft Altitude in feet
humidity_% Relative humidity percentage
pitch_deg Pitch angle in degrees
roll_deg Roll angle in degrees
yaw_deg Yaw (heading) angle in degrees

The number of rows in data.csv should match the number of JPG frames in the folder.


Files That Must Stay Together

Keep these two files in the same folder at all times:

  • main.py — the application
  • model.obj — the 3D model used for the orientation display

Your session data folders can be stored anywhere on your computer — you'll browse to them each time you open the app.


Troubleshooting

"No module named PyQt5" (or similar) Run pip install PyQt5 pandas numpy matplotlib trimesh again in your terminal.

"Could not find data.csv" Make sure your session folder contains a file named exactly data.csv (lowercase, no spaces).

"No .jpg image files found" Make sure your image frames are saved as .jpg or .JPG files inside the session folder.

"model.obj not found" Make sure model.obj is in the same folder as main.py. Do not move or rename it.

The 3D model looks wrong or frozen This is normal if the orientation data has very small changes — the model only redraws when the angle changes by more than 0.5 degrees.

About

Visualizer for .csv and mjpeg formatted video files from video telemetry project.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages