UART Assistant Pro is a cross-platform serial debugging tool built with Python (aiohttp) and modern Web technologies. It combines all the functionalities of a traditional serial assistant with a modernized UI design, real-time data visualization, a protocol builder, and a sensor dashboard specifically designed for IoT development.
Whether for embedded development, hardware debugging, or IoT teaching demonstrations, it provides an exceptionally smooth experience.
- Extreme Aesthetics: Uses the Apple San Francisco font stack with frosted glass effects and smooth animations, offering a native app-like visual experience.
- Multi-Theme Support: Built-in 12 exquisite color schemes including Apple Gray, Sakura, Mint, Ocean, etc., switchable at will.
- Responsive Layout: Perfectly adapts to various screen sizes, supporting split-view layouts.
- Full Parameter Configuration: Supports Baud Rate, Data Bits (5-8), Stop Bits (1/1.5/2), Parity (None/Odd/Even/Mark/Space), and Flow Control (RTS/CTS, XON/XOFF).
- Multi-Encoding Support: Real-time switching between UTF-8, GBK, ASCII, and Latin-1 encodings, eliminating garbled text issues.
- Smart Packet Splitting: Supports custom Frame Header/Tail splitting for HEX data packets, making data streams clear at a glance.
- Protocol Builder: Built-in TX builder that automatically calculates checksums (SUM/XOR/CRC8) and supports custom headers, function codes, and sequence numbers.
- Quick Command Library: Supports adding, editing, importing/exporting frequently used commands, with keyboard shortcut bindings (F1-F12).
- Loop Sending: Supports automatic loop sending with millisecond-level precision.
- Real-time Statistics: Monitors RX/TX bytes, packet counts, and transmission rates in real-time.
- Traffic Charts: Built-in Chart.js powered real-time traffic distribution doughnut chart.
- IoT Dashboard: A sensor dashboard designed for demonstrations, supporting:
- ADC Sensors: Dynamic progress bars for Sound, Moisture, Pressure, etc.
- IIC Display: Simulates real 7-segment display effects.
- GPIO Control: Interactive LED switch with status feedback indicator.
- Cool Log View: Geek-style log printing, distinguishing between RX/TX/System/Error message types.
- Bi-directional Sync: System and error messages are synchronized to both TX and RX windows, ensuring no key status is missed.
- Precise Timestamping: Millisecond-level timestamps, perfectly aligned.
Minimalist left-right split design: configuration and quick commands on the left, logs and send controls on the right.
Real-time monitoring of communication traffic and rates.
Interactive sensor data visualization panel.
- Python 3.8+
- Modern Browser (Chrome, Edge, Firefox, Safari)
git clone https://github.com/yourusername/uart-assistant-pro.git
cd uart-assistant-propip install -r requirements.txtIf requirements.txt is missing, please install:
pip install aiohttp pyserial
python app.pyOpen your browser and visit:
http://localhost:8080 (Default port)
- Connect Device: Select the serial port on the left (supports auto-refresh), configure baud rate, etc., and click "Connect".
- Send Data:
- Basic Send: Input content in the right text area, supports HEX sending and auto-newline.
- Protocol Send: Switch to the "Protocol" tab, configure address, function code, and data to automatically generate protocol frames with checksums.
- View Data:
- HEX View: Check "HEX View" in the top right.
- Packet Split: Click the ⚙️ icon to set Frame Header/Tail (e.g.,
7B...7D) for automatic split display.
- Dashboard Demo:
- Send data in
SENSOR:45,60,1024format to update ADC charts. - Send
LED:ONorLED:OFFto control the switch status.
- Send data in
Issues and Pull Requests are welcome! Feel free to share your ideas.
This project is licensed under the MIT License. See the LICENSE file for details.


