Confronted with the need of plotting high-speed (or high number of data) signals, typically for embedded systems applications and real-time, research engineers at the Saarland University, Germany have developed their own software called ESPlot.
ESPlot communicates with microcontroller boards over a custom serial protocol. In applications where the microcontroller is executing a real-time process, signals can be streamed to a computer in a synchronous way and data can be sent to the real-time process in an asynchronous way.
ESPlot allows recording and plotting signals to screen by means of time plots, FFT plots and X/Y plots.
ESPlot has been developed in Qt to support multi-platform and it is OpenGL hardware accelerated.
Since it has been designed to provide high performance, it needs systems with a multicore CPU with 4 GB RAM and a dedicated GPU supporting OpenGL 3.2.
Features of ESPlot
Here are the main features of ESPlot:
Streaming and recording of real-time signalsTime plots, XY-Plots, FFT plotAble to send commands to the microcontrollerCommunication over serial interfacesOscilloscope functionality, e.g. Trigger, Autoscale, ScreenshotExternally controllable record functionExport data to Matlab for further processingMultimonitor-Support with fully screen capabilityFully personizable GUIOpenGL-AccelerationMulti-threading supportPlatform independent (Library is written in C)Supports Windows 10 64-bit, Linux 64-bit, Software can be compiled for ARM (e.g. Raspberry Pi)
At present, ESPlot is available for Windows and Linux. The macOS version is under development.
For Linux, there is a tar xz file available. You can download it, extract it and run the executable file.
The software can actually interface with the majority of microcontrollers, but code for the classic Arduino boards is also available.
All of these stuff can be downloaded from its webpage:
In the end …
Since most of the other 3d-hardware accelerated plots are expensive and not always customizable, ESPlot would be a good choice for people in this field if it fulfills their need.
I am not involved in this embedded system and microcontrollers, so it wasn’t possible for me to test it out. But don’t let that discourage you from trying it yourself.