High-speed realtime streaming engine demo using ESP32 devices.
This project demonstrates a reliable serial data pipeline:
ESP32-WROOM → ESP32-S3 → PC
with COBS framing, CRC16 validation, and live visualization.
Designed for stress-testing embedded streaming systems.
Realtime draw streaming over UART (921600 baud) with live CRC/sequence monitoring.
To build and validate a high-reliability, high-throughput embedded streaming pipeline for real-time visualization and stress testing.
- COBS framing (0x00 delimited packets)
- CRC16-CCITT integrity check
- Sequence number validation
- High-rate draw stress generator
- Live visualization on PC (Python + matplotlib)
- Throughput and error statistics
ESP32-WROOM (Generator) | UART @921600 | ESP32-S3 (Bridge) | USB CDC | PC Viewer
bpu-stream-engine/
├─ s3_uart_bridge/
│ └─ s3_uart_bridge.ino
│
├─ bpu_r4_safe.ino
├─ bpu_r4.cpp
├─ bpu_r4.h
│
├─ bpu_decode.py
├─ bpu_draw_viewer.py
├─ bpu_mat_viewer.py
│
├─ demo.gif
└─ README.md
| File | Description |
|---|---|
| bpu_r4_safe.ino | Main firmware entry |
| bpu_r4.cpp | Core stream engine |
| bpu_r4.h | Engine definitions |
Runs on ESP32-WROOM.
- Open bpu_r4_safe.ino
- Select board: ESP32 Dev Module
- Select correct COM port
- Upload firmware
Upload s3_uart_bridge/s3_uart_bridge.ino
Board: ESP32-S3 Dev Module
WROOM TX → S3 RX
WROOM RX → S3 TX (optional)
GND → GND
Baudrate: 921600
pip install pyserial matplotlib numpy
python -m serial.tools.list_ports
python bpu_mat_viewer.py COM11
(Change COM port if needed)
- Realtime draw points
- PPS / DPS
- CRC errors
- Sequence gaps
Stable example:
crc=0 seqGap=0 drop=0
[MAGIC | TYPE | SEQ | LEN | PAYLOAD | CRC16]
MAGIC = 0xB2
CRC = CCITT
COBS framed, 0x00 delimited.
UART: 921600
1000+ pkt/s
10k+ pts/s
Zero CRC errors
Streaming: Stable
Validation: Verified
Viewer: Working
Stress: Enabled
- Bidirectional control
- Compression
- Web viewer
- Sync
- FPGA offload
- Flash firmware to ESP32-WROOM
- Flash bridge firmware to ESP32-S3
- Connect UART (TX/RX/GND)
- Connect S3 to PC via USB
Run viewer:
pip install pyserial matplotlib python bpu_mat_viewer.py COM11
MIT License
Himchan Choi
Embedded Systems Engineer
High-Speed Data Streaming & Visualization
GitHub: https://github.com/choihimchan
