The device

Clip it on. It finds the baud rate.

BaudHound is an ESP32-S3 on the target's serial pins. It starts its own WiFi network, serves a console you can open from a phone, and listens across the standard speeds until it reads clean text.

Four ways in

Reach the same console however suits the moment.

Web console Join the device's network and a page opens, or browse to 192.168.4.1. Live output, a send box with history, and a baud dropdown.
Telnet, port 23 PuTTY, nc or any telnet client. Up to four clients can watch at once. Line-oriented text, each line capped at 512 characters.
TLS, port 992 The same console inside TLS 1.2, one client at a time. While it is open nobody else can watch or type.
USB It shows up as a COM port. Raw and byte for byte, so menus, arrow keys and binary data all pass through.

Baud detection

It listens until the text comes out clean.

BaudHound listens on each candidate speed over several short passes and locks on to the one that gives clean, printable text. Bursty output, such as one line a second, is gathered across passes. If the console is silent, the wake probe sends an Enter to draw out a prompt.

Scanned rates

9600, 14400, 19200, 28800, 38400, 57600, 74880, 115200, 230400, 460800 and 921600.
Reversed RX and TX? It flips them and recovers on its own, or run ~swap.
Binary data or a non-standard speed cannot be detected: pin the baud with ~baud 115200.
Commands starting with ~ go to BaudHound; everything else goes to the target.

Wiring

Three wires, and the ground is not optional.

3.3 V logic on GPIO16 and GPIO17. For a 5 V target, bring its TX line down to 3.3 V first. For read only, connect just the target's TX and ground.

BaudHound (ESP32-S3)          Target device
GPIO16 (RX)   <----------------  TX
GPIO17 (TX)   ---------------->  RX   (leave off for read only)
GND           <--------------->  GND  (required)

Hardware

A small ESP32-S3 board and nothing else.

The reference board is a Teyleten ESP32-S3-N16R2 with 16 MB flash and 2 MB PSRAM; any ESP32-S3 dev board works. It runs from USB or 5 V. The onboard RGB LED shows the network state, and an optional external RGB LED shows the link state.

LEDs

Onboard green: its own network is up, not joined to WiFi.
Onboard blue: joined to your WiFi network.
Onboard red flash: serial data on the wire.
External LED: scanning, locked, or RX and TX swapped. ~ledtest checks the colours.