SerialUI provides a graphical interface to send and receive text from the serial port, including a serial plotter for displaying numerical data. It offers features beyond the Arduino IDE Serial Plotter.
From an ESP32 we can retrieve about 400kBytes/s. For simple simulated data more than 20k samples/second can be retrieved and plotted.
BLESerialUI is equivalent to SerialUI but uses the Nordic Serial UART on a BLE connection (Experimental)
One liner Windows:
- pip3 install pyqt5 pyqtgraph numpy pyserial markdown wmi bleak qasync
One liner Linux:
- pip3 install pyqt5 pyqtgraph numpy pyserial markdown pyudev bleak qasync
pyqt5
orpyqt6
user interfacepyqtgraph
displaynumpy
data gathering and manipulationpyserial
serial interfacemarkdown
help filewmi
on Windows for USB device notificationspyudev
on Linux for USB device notificationsqasync
andbleak
for bluetooth communication
Installation of PyQt5/6 has its own dependencies. If it fails, read the suggested solution in the error messages.
The main programs are SerialUI.py
and BLESerialUI.py
. The use files in the assets
and helper
folders.
In the Arduino_programs
folder are example programs that simulate data for display.
Urs Utzinger, 2022-2025 (University of Arizona)
Cameron K Brooks, 2024 (Western University)