03 UART - geo-tp/ESP32-Bus-Pirate GitHub Wiki
UART mode allows communication over a standard serial interface using TX/RX pins.
This mode is useful for probing unknown serial devices, sending and receiving data, or bridging traffic.
Command | Description |
---|---|
scan |
Attempts to detect the correct baud rate using known probe strings |
ping |
Sends probes and collects replies to test if a UART device is responsive |
read |
Continuously reads from UART until [ENTER] is pressed |
write <text> |
Sends the specified text to the connected device over UART |
bridge |
Starts a real-time full-duplex UART bridge (ESP32 to device) |
spam <text> <ms> |
Continuously write text every given ms until ENTER is pressed |
glitch |
Placeholder for future glitch-based timing attacks (not yet implemented) |
xmodem <recv/send> <path> |
Transfer file using XMODEM protocol (send or receive from SD) |
config |
Interactive configuration: RX/TX pins, baud rate, data bits, parity, etc. |
['Hello' r:64] ... |
Sends custom instruction sequences using bytecode-like syntax |
-
scan
uses entropy and ASCII analysis to guess baudrate automatically. -
ping
sends predefined probes and analyzes responses to detect UART activity. -
spam
can send special chars like \n. -
bridge
connects the terminal input/output to the device in real-time. Press any ESP32 button to stop. -
xmodem
send and receive operations require an SD card, as files are read from or written to the SD. -
xmodem
at 115200 baud (≈11.5 kB/s), transferring a 1 MB file over XMODEM takes approximately 90 seconds. -
config
supports full UART parameter customization:- RX/TX pins
- Baudrate
- Data bits (5–8)
- Parity (None, Even, Odd)
- Stop bits (1 or 2)
- Inversion (for certain logic-level devices)
- The custom instruction syntax (
['Hello' r:64]
) lets you build sequences of writes, delays, and reads manually.
mode uart
config # Configure pins and settings
scan # Try to find the right baud rate
ping # Send probes for a response
write AT # Send AT text
write Hello\n # Send Hello with a line return
read # View device output
bridge # Real-time serial passthrough
spam Hello 1000 # Write Hello every second
spam \n 5 # Send ENTER every 5ms
xmodem send /file.txt # Send a file via XMODEM from SD
xmodem recv /file.txt # Receive a file via XMODEM to SD
['AT' r:64] # Send 'AT' and read 64 bytes
