Tauno Serial Plotter
Serial Plotter for Arduino and other embedded devices.
Features
- Simple user interface
- Plotting of multiple variables, with different colors for each
- Can plot both integers and floats
- Can plot negative values
- Auto-scrolls the Time scale (X axis)
- Auto-resizes the Data scale (Y axis)
Install
Snap
Install Snap:
sudo snap install tauno-serial-plotter
Run Snap:
snap run tauno-serial-plotter
If no ports show up. Then close the app and run these commands. And open the app again:
sudo usermod -a -G dialout $USER
sudo snap connect tauno-serial-plotter:raw-usb
Uninstall Snap:
sudo snap remove tauno-serial-plotter
Flatpak
Install Flatpak:
flatpak install flathub art.taunoerik.tauno-serial-plotter
Run Flatpak:
flatpak run art.taunoerik.tauno-serial-plotter
Uninstall Flatpak:
flatpak uninstall art.taunoerik.tauno-serial-plotter
Windows
Windows version can be found under Releases.
Data
Incoming data should be string. Ending with new line character. Numbers (int and float) can be separated with almost any character. Like:
label2la15be17el28/31/42/54 78
or
a2b1.5c1.7d2.8/3.1/4.2/5.4 7.8
But not with - unless it is a negative number:
5-10-22-33-40-55-62-75
Script will extracts all numbers and generate graph.
Example Arduino code
Serial.print(variable1);
Serial.print(",");
Serial.print(variable2);
Serial.print(",");
Serial.println(last_variable);
To stop the plotter from auto-scaling add a 'min' and 'max' line.
Serial.print(variable1);
Serial.print(",");
Serial.print(variable2);
Serial.print(",");
Serial.println("Min:0,Max:1023");
Plot settings
Once the plot (graph) is created it is possible to change the additional plot settings. Like to disable auto-resize on x or-axis y-axis. Or to export data.
Right-click on the plot area.
Screenshots
Tested on Ubuntu 20.10.
And on Windows 10
Dialout group
In order to access USB devices on Linux, you need to add your user to the dialout group. Open a terminal window, run the following command and reboot your computer.
sudo usermod -a -G dialout $USER
udev.rules
Linux users have to install 99-platformio-udev.rules to accesse serial devices.
curl -fsSL https://raw.githubusercontent.com/platformio/platformio-core/master/scripts/99-platformio-udev.rules | sudo tee /etc/udev/rules.d/99-platformio-udev.rules
Restart “udev” management tool:
sudo service udev restart
More info: https://docs.platformio.org/en/latest/faq.html#faq-udev-rules
Run Python script
Requirements
Requirements if you use python script to run it.
Python 3.7, PyQt5, pyserial, pyqtgraph
sudo apt install python3-pip python3-pyqt5
pip3 install pyserial pyqtgraph
Run
cd src/
chmod +x tauno-serial-plotter.py
./tauno-serial-plotter.py
or
python3 ./tauno-serial-plotter.py
Copyright 2021-2022 Tauno Erik https://taunoerik.art