Skip to content

Discovered Hardware Protocols & AsyncAPI Specifications

Below is the complete catalog of auto-discovered hardware UART protocols with detailed parameters, command signatures, and formal AsyncAPI 2.6.0 specifications.

AsciiDevice (v1.0.0)

  • Description: Delimited ASCII command protocol (AT-command style)
  • Framing: DELIMITED | Baudrate: 115200 bps | Commands: 2
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

AT Command Set for a GSM/Cellular Modem (Hayes + 3GPP TS 27.007 subset) (vV.250 / TS 27.007)

  • Description: Plain text command/response lines. No length field, no CRC, and no escaping -- a delimiter-framed protocol with only an end marker, CRLF, for almost every message. One command (SendSmsBody) is the exception: its body is terminated by Ctrl-Z instead, via endDelimiterOverride -- see its own description.
  • Framing: DELIMITED | Baudrate: 9600 bps | Commands: 62
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

Generic MCU serial bootloader (illustrative, sync-byte auto-baud) (villustrative)

  • Description: Not modelling any specific vendor's exact protocol -- illustrates the auto-baud mechanism common to several real MCU ROM bootloaders.
  • Framing: BINARY | Baudrate: 115200 bps | Commands: 4
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

BACnet MS/TP (Master-Slave/Token-Passing) (vANSI/ASHRAE 135)

  • Description: Building-automation token-passing bus over RS-485. Has TWO independent CRCs in one frame: a header CRC and a separate data CRC -- and the data CRC is entirely absent when there's no data, not just zero-length.
  • Framing: BINARY | Baudrate: 9600 bps | Commands: 1
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

BinarySensorNode (v1.1.0+hw.revB.fw.2.0.1)

  • Description: Binary UART protocol for multi-channel environmental sensor node with CRC16-Modbus
  • Framing: BINARY | Baudrate: 115200 bps | Commands: 3
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

COBS-framed sensor stream (v1.0)

  • Description: Consistent Overhead Byte Stuffing: the encoding itself guarantees the delimiter byte (0x00) never appears in the encoded data, so -- unlike delimiter-framed -- no escapeByte is needed at all.
  • Framing: BINARY | Baudrate: 115200 bps | Commands: 0
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

Serial console (VT100-style CLI), software flow control (villustrative)

  • Description: Many console/CLI serial ports are wired with only TX/RX/GND -- no RTS/CTS lines exist to carry hardware flow control, so XON/XOFF (software, in-band) is the only option when the far end needs to pace output.
  • Framing: DELIMITED | Baudrate: 9600 bps | Commands: 1
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

CustomCrcDevice (v1.0.0+hw.v2.sha29b1)

  • Description: Proprietary embedded device demonstrating fully custom Rocksoft-modeled CRC-16
  • Framing: BINARY | Baudrate: 230400 bps | Commands: 1
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

DMX512 (vUSITT DMX512-A)

  • Description: Unidirectional lighting-control broadcast. Frame boundary is a UART break condition (an extended low period), not a byte value, not silence, and not an identifier lookup -- none of which this schema's framing styles model precisely.
  • Framing: BINARY | Baudrate: 250000 bps | Commands: 1
  • AsyncAPI: YAML Spec | Interactive HTML Viewer
  • Description: SCADA/utility protocol. Its data-link CRC is exactly this schema's existing crc-16-dnp preset -- unused since it was first added several rounds ago. Its real structural novelty: data is chunked into 16-byte blocks, EACH with its own trailing CRC, not one check for the whole frame.
  • Framing: BINARY | Baudrate: 9600 bps | Commands: 1
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

Illustrative Frequency-Hopping Combat Net Radio Control Interface (fictional) (v0.1-illustrative)

  • Description: NOT derived from, or a model of, any specific fielded system's published ICD -- no such document is publicly available. Built only from unclassified, widely-taught operator-level concepts (net ID, hopset/keyset selection by index, time-of-day sync, channel lockout, single-channel fallback) to exercise the schema against this domain without claiming to be real.
  • Framing: BINARY | Baudrate: 115200 bps | Commands: 5
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

Bluetooth HCI UART Transport (H4) (v5.4)

  • Description: Host <-> Bluetooth radio controller link. Includes HCI_Set_AFH_Host_Channel_Classification, which is literally a frequency-hopping control command: it tells the radio which of Bluetooth's 79 hop channels to avoid. No checksum at all -- H4 relies entirely on the underlying UART/transport for integrity.
  • Framing: BINARY | Baudrate: 115200 bps | Commands: 2
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

SAE J1708 (vJ1708)

  • Description: Heavy-vehicle diagnostic multi-drop bus. Fixed 9600 8N1 -- no parity at all, unlike M-Bus's 8E1 or G460's default -- a third distinct combination across the protocols tried so far.
  • Framing: DELIMITED | Baudrate: 9600 bps | Commands: 1
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

LIN Bus (classic checksum) (v2.0)

  • Description: Automotive master/slave bus. Genuinely UART-based (8N1 async bytes) but frame length is looked up by identifier, not sent on the wire.
  • Framing: BINARY | Baudrate: 115200 bps | Commands: 1
  • AsyncAPI: YAML Spec | Interactive HTML Viewer
  • Description: File transfer nested inside a normal MAVLink message: every FTP packet, of whatever kind, is the SAME outer message type, distinguished only by an inner opcode/offset/session sub-header.
  • Framing: BINARY | Baudrate: 115200 bps | Commands: 2
  • AsyncAPI: YAML Spec | Interactive HTML Viewer
  • Description: Drone/autopilot telemetry protocol. Header fields (seq/sysid/compid/msgid) sit between the length field and the region LEN actually counts.
  • Framing: BINARY | Baudrate: 115200 bps | Commands: 5
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

M-Bus (EN 13757-2/3), long/control frame (vEN 13757-2)

  • Description: START L L START C A CI DATA CHECKSUM STOP -- the length is sent twice and the start byte repeats after it, both as on-wire redundancy checks; a STOP byte closes the frame after the checksum too.
  • Framing: BINARY | Baudrate: 300 bps | Commands: 0
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

M-Bus (EN 13757-2/3), short frame (vEN 13757-2)

  • Description: Utility meter readout bus. 8E1 -- even parity, a format neither G460 nor any earlier test used -- at one of several fixed baud rates the spec enumerates (300/600/1200/2400/4800/9600).
  • Framing: DELIMITED | Baudrate: 300 bps | Commands: 1
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

Generic MCU normal operation (illustrative) (villustrative)

  • Description: Minimal stand-in application-mode protocol, existing only to demonstrate a fully-specified relatedInterfaces transition into the auto-baud bootloader above.
  • Framing: BINARY | Baudrate: 115200 bps | Commands: 2
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

Modbus ASCII (v1.0)

  • Description: Modbus over serial, ASCII transmission mode. Every logical byte is sent as 2 ASCII hex characters, framed between ':' and CRLF.
  • Framing: DELIMITED | Baudrate: 115200 bps | Commands: 1
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

Modbus RTU (v1.0)

  • Description: Modbus over serial, RTU transmission mode. Frame boundaries are marked by line silence rather than sync bytes or a length field.
  • Framing: DELIMITED | Baudrate: 115200 bps | Commands: 6
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

9-bit UART multidrop addressing (vgeneric (common 8051/PIC UART mode))

  • Description: RS-485 multidrop scheme common on small microcontroller UARTs: a 9th data bit (not parity) flags whether a byte is an ADDRESS (bit=1) or DATA (bit=0), so slaves can filter in hardware without the CPU inspecting every byte. dataBits=9 was already a valid enum value but never actually exercised until now.
  • Framing: BINARY | Baudrate: 9600 bps | Commands: 1
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

NMEA 0183 (v4.11)

  • Description: ASCII, delimiter-framed sentence protocol used by GPS/marine navigation equipment. No commands/responses in the request-reply sense -- the device streams sentences unsolicited.
  • Framing: DELIMITED | Baudrate: 4800 bps | Commands: 0
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

PPP (HDLC-like async framing, RFC 1662) (vRFC 1662)

  • Description: Escapes any occurrence of the flag/escape bytes (and, by default, control chars <0x20) by transmitting escapeByte then (originalByte XOR 0x20) -- a general transform rule, not SLIP's fixed substitute-byte-pair table.
  • Framing: DELIMITED | Baudrate: 115200 bps | Commands: 1
  • AsyncAPI: YAML Spec | Interactive HTML Viewer
  • Description: Same async HDLC framing as plain PPP, but hardware flow control isn't optional here: the underlying radio/modem can stall mid-transmission, and without RTS/CTS pacing the host will overrun its buffer.
  • Framing: DELIMITED | Baudrate: 115200 bps | Commands: 1
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

SCPI (Standard Commands for Programmable Instruments) over RS-232 (vSCPI-99 / IEEE 488.2)

  • Description: ASCII line-based instrument control (oscilloscopes, PSUs, DMMs). Baud is configured manually on both sides -- no auto-negotiation -- and commonly must match exactly or the instrument just doesn't respond, with no error reported at all. Chains multiple independent commands onto one physical line via ';', which compoundMessageDelimiter exists specifically for.
  • Framing: DELIMITED | Baudrate: 9600 bps | Commands: 6
  • AsyncAPI: YAML Spec | Interactive HTML Viewer
  • Description: A genuine single shared data line, not just RTS/CTS omitted -- both sides' TX and RX are the same open-drain/tri-state pin, common on microcontroller debug or bootload pins wired for minimal pin count.
  • Framing: BINARY | Baudrate: 115200 bps | Commands: 1
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

SLIP (Serial Line Internet Protocol) (vRFC 1055)

  • Description: Pure framing protocol -- carries an arbitrary encapsulated packet (typically IP) with no application-level commands or integrity check of its own.
  • Framing: DELIMITED | Baudrate: 115200 bps | Commands: 1
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

SmartActuator (v2.0.0)

  • Description: Servo actuator protocol with CRC32 integrity checking and status reporting
  • Framing: BINARY | Baudrate: 921600 bps | Commands: 1
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

u-blox UBX (v34)

  • Description: GPS/GNSS receiver binary protocol. class+id sit between the sync pattern and the length field -- before the length-counted region, unlike MAVLink's after.
  • Framing: BINARY | Baudrate: 4800 bps | Commands: 6
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

XBee API Mode (vS2C Zigbee firmware)

  • Description: Digi XBee radio module binary command protocol, including an AT Command frame setting ATCH (the RF channel/frequency).
  • Framing: BINARY | Baudrate: 115200 bps | Commands: 3
  • AsyncAPI: YAML Spec | Interactive HTML Viewer

XMODEM (checksum variant) (vclassic)

  • Description: File transfer over a serial link. Mixes 128/1024-byte framed data blocks (selected by leading byte, not a length field) with completely bare single-byte control codes -- no envelope at all around ACK/NAK/EOT/CAN.
  • Framing: BINARY | Baudrate: 115200 bps | Commands: 4
  • AsyncAPI: YAML Spec | Interactive HTML Viewer