/uart_serial_plotter

Python application using PyQt5 and PyQtGraph for fast real-time plotting and analysis of CSV-formatted logs coming over the serial port.

Primary LanguagePythonMIT LicenseMIT

uart_serial_plotter

This project provides pyqtgraph based applications for real-time plotting and analysis of timeseries data

Features

  • Fast, real-time plotting of time series data
  • Plot timeseries data received over UART
  • Plot timeseries data read from CSV file
  • Dynamically change the serial port being monitored
  • Detect new USB devices connected to system and automatically update available serial ports
    • Currently only implemented for Windows
  • Export the plot / scane to PNG, SVG, CSV etc.
  • Load previously exported CSV files of plot / scene
  • Zoom into parts of the plot, reset the view, export/screenshot select portions of the plot
  • Reset the connected device using DTR/RTS hardware flow control
    • Tested on ESP32

Setup

brew install qt5
brew install pyqt5
python3 -m venv env
source env/bin/activate
pip install -r requirements.txt

Creating an Installer

source env/bin/activate
cd src
pyinstaller uart_serial_plotter.spec 

Quick Start

source env/bin/activate
python src/main.py

Notes: