- DIY
- A
pineTERM — a minimalist yet powerful web terminal for UART
I tried a bunch of software for UART. Everything is annoying. I decided to build my own.
I tried a bunch of software for UART. Everything is annoying. I decided to vibe create my own.
PuTTY - like working in a notepad from '95. No search, no colors, log saved through copy-paste.
Tera Term - works, but looks like torture.
CoolTerm - nice, but you have to dig through the settings for a long time. And it starts to lag with large logs.
I remembered old tools - Ultra Serial Port Monitor and COM Port Toolkit. The first one showed data cool, the second was simple and predictable. But both are for Windows and closed source.
After trying several web terminals, I still didn't find a suitable one.
I decided to create my own. Web-based, so you open the browser and start working right away. Through the Web Serial API - connect USB-UART directly, no drivers needed.
The main thing - it doesn’t lag. Because all terminals die when there are hundreds of thousands of lines in the log.
I also removed the limit on export. The entire log in TXT, no matter how many lines there are. The button shows a counter - you know what you are exporting.
Written in pure JS without frameworks.
Features
JSON scripts - upload JSON with commands, execute a sequence automatically. Supports ASCII/HEX, repeats (times: -1 for infinity), preDelay/postDelay delays between commands
Dynamic input fields - add as many HEX and ASCII fields as you want, each with its own send button
HEX input with auto-formatting - you enter bytes, it automatically adds spaces, filters out garbage, checks validity
Send without clearing the field - after sending, the text remains, can be sent again
Packet timing - adjustable threshold in ms: data with an interval less than the threshold is considered one packet
Displayed line limit - set a limit on the packets on the screen, but everything goes to export
Line counter on the export button - see how many packets will be in the file
Batching DOM updates - does not freeze on large data streams
Theme switching - day/night with saving in localStorage
Last commit date - pulls from GitHub API and shows in the footer
Try it out, maybe you'll like it too :).
https://wespeakenglish.github.io/pineTERM/
Write comment