About Baud
Why I built this
Protocol specifications describe bytes in tables. Tables are precise, but they hide the thing that actually makes protocols click: time. Which bit leaves first? When does the receiver look at the wire? Which header field is read before which?
Baud turns those tables into short motion pieces. You see a UART character leave the wire least-significant bit first, a TCP header arrive and light up field by field, and a handshake play out between two machines. Every number on screen is computed, not typed in: the checksums and CRCs in the examples are real.
How it works
Each protocol is described once as data: a list of fields, bits and messages with English and Japanese text. A small renderer turns that description into an SVG for any moment in time. The server draws the finished diagram so the page is readable without JavaScript; in the browser a player moves time forward and swaps the picture.
Tech stack
- Bun
- Hono (SSR, hono/jsx)
- Cloudflare Workers
- Vite
- Tailwind CSS v4
- TypeScript
- Biome
- Vitest
Sources
The diagrams and explanations are original. They follow the public specifications listed on each protocol page (RFCs, ISO, NXP, MMA, OASIS and others). Example data is made up, except for well-known constants such as the MPU-6050 WHO_AM_I register.
No user data is collected or stored.
- UART — TIA/EIA-232-F (RS-232)
- SPI — Motorola M68HC11 Reference Manual (SPI), Winbond W25Q128 datasheet (JEDEC ID)
- I2C — NXP UM10204: I2C-bus specification and user manual, InvenSense MPU-6000/6050 register map
- CAN — ISO 11898-1 (CAN data link layer), Bosch CAN Specification 2.0
- MIDI — MIDI 1.0 Detailed Specification (MIDI Manufacturers Association)
- Modbus RTU — Modbus Application Protocol Specification V1.1b3, Modbus over Serial Line Specification V1.02
- Ethernet II — IEEE 802.3 (Ethernet), DIX Ethernet II
- ARP — RFC 826: An Ethernet Address Resolution Protocol
- IPv4 — RFC 791: Internet Protocol, RFC 1071: Computing the Internet Checksum
- UDP — RFC 768: User Datagram Protocol
- TCP — RFC 9293: Transmission Control Protocol, RFC 1071: Internet Checksum
- DNS — RFC 1035: Domain Names - Implementation and Specification
- HTTP/1.1 — RFC 9112: HTTP/1.1, RFC 9110: HTTP Semantics
- MQTT — OASIS MQTT Version 3.1.1, OASIS MQTT Version 5.0