To communicate with embedded projects (such as Arduino, ESP32, STM32 projects) I almost always use UART or Virtual ComPorts as serial communication. On the PC side I used the Arduino Serial Monitor and Serial Plotters which are part of the Arduino IDE. However, some features are missing in my opinion. For example:
- Simultanously plotting data and printing the raw text
- Interactive Plots
- ...
Thus I created my own version which comes with many more features:
- Plotting and printing of data simultaneously
- Interactive plot
- Smart data parser, works with ", " or ", " or ":" or ": "
- History of the past sent commands (navigate through with up/down arrows)
- Low CPU Usage, lightweight
- Clear history options
- Data Window width is adjustable
- Cross-platform, fully written in Rust. GUI is made using egui
There are still some TODOs:
- Save text to file
- Save Plot to file (needs egui plot feature?)
- Smarter data parser
- allow to put in labels for the different data columns (instead of column 1, 2,...)
- make serial print selectable and show corresponding datapoint in plot
- COM-Port names on Windows (display manufacturer, name, pid or vid of device?)
- make side panel and plot/serial prompt be resizeable (snappy?)
- current command entered is lost when navigating through the history
- command history is currently unlimited (needs an upper limit to prevent huge memory usage)
- ...
If anyone wants to contribute or wants to report bugs, please submit a git issue.
Comments