SerialPilot

v1.0 · MIT · Linux · macOS · Windows

Talk to hardware. From JavaScript.

A composable serial-port toolkit for Node.js. Open a port, pipe its stream through a parser, and ship the result. Native bindings handle the wire; mocks let you test without one.

Packages
21
Parsers
11
Bindings
C++ · Mock · Rust
Node
≥ 20
parser-readline line-by-line text parser-delimiter split on a byte sequence parser-byte-length fixed-size frames parser-inter-byte-timeout quiescence framing parser-packet-length length-prefixed packets parser-cctalk coin / bill validators parser-regex split on a pattern parser-ready wait for sentinel parser-slip-encoder RFC 1055 framing parser-spacepacket CCSDS Space Packet parser-start-end STX / ETX frames parser-readline line-by-line text parser-delimiter split on a byte sequence parser-byte-length fixed-size frames parser-inter-byte-timeout quiescence framing parser-packet-length length-prefixed packets parser-cctalk coin / bill validators parser-regex split on a pattern parser-ready wait for sentinel parser-slip-encoder RFC 1055 framing parser-spacepacket CCSDS Space Packet parser-start-end STX / ETX frames

/01 — what you get

A small core, with the right edges sharpened.

/02 — first contact

From npm install to first byte.

# Install the meta package — bindings, stream, parsers
$ npm install serialpilot

# Or pick what you need
$ npm install @serialpilot/bindings-cpp @serialpilot/stream
$ npm install @serialpilot/parser-readline

Three commands away from a working integration test. The same parsers work against the mock and against real silicon.

/03 — try it live

Plug something in. This page can read it.

WebSerial lets the browser open a USB-CDC port directly. Connect an Arduino, an FTDI cable, or any serial device — frames stream straight into the console below. Don't have hardware handy? Run the mock instead — same parser pipeline, no wire.

idle

Heads up: WebSerial isn't supported in this browser (Safari and Firefox don't ship it yet). The mock stream below works everywhere and uses the same parser pipeline you'd run against a real port — no hardware required.

— waiting for bytes —

/04 — the matrix

Twenty-one packages. Take what you need.

/05 — deployment roster

One toolkit. A thousand wires.

  1. R/01 Robotics bench → sky

    Powers NodeBots.

    The bridge between your JavaScript and the firmware on thousands of devices — from an Arduino on the bench to a swarm of drones overhead. Same stream, same parsers, same shape.

    • firmata
    • johnny-five
    • arduino
    • raspberry-pi
    • drones
  2. R/02 Consumer counter → cartridge

    From kitchen counters to game cartridges.

    Pancake-printing arms. Hallway IoT widgets. Homebrew handhelds. Pair with Electron and the road from breadboard to shipped app stays one Node process wide.

    • electron
    • iot
    • hobby
    • homebrew
    • maker
  3. R/03 Commercial subsea → ICU

    Underwater, underground, under audit.

    Subsea sensors. Cargo drones. ATMs at three a.m. Forklift telematics. Bedside monitors. SerialPilot wears its MIT licence into rooms that don't usually let open source in — and patches flow back.

    • maritime
    • aerospace
    • fintech
    • industrial
    • medical

Plug something in.
See what it says.

SerialPilot is built & maintained by one person. If it saves you a weekend, buy me a coffee ☕