serialport/node-serialport
Access serial ports with JavaScript. Linux, OSX and Windows. Welcome your robotic JavaScript overlords. Better yet, program them! observed · 2026-08-28
Health v2 · maintenance only
51/100
- Activity 62
- Release rhythm 8
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: n/a
- age_days: 5839
- days_rel: 617
- days_push: 228
- n_releases_24m: 1
Adoption not part of the score
5991 stars · 1013 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded
Node SerialPort is a JavaScript/TypeScript library for reading from and writing to serial ports in Node.js and Electron. It provides cross-platform bindings for Linux, macOS, and Windows, a Node Stream interface, and parser packages for turning raw binary data into usable messages.
Use cases
- talk to an Arduino from JavaScript
- read data from a serial device in Node.js
- build a NodeBot or robot controller
- create an Electron desktop app that communicates with hardware
- parse binary serial data into messages
- test serial communication with a mock binding
- diagnose or control devices over RS-232/USB serial
When to choose
- you need serial port access from Node.js or Electron on Linux, macOS, or Windows
- you're building robotics, IoT, or hardware projects in JavaScript
- you want a stream-based API with pluggable parsers and mock bindings for testing
When to avoid
- you need serial access in the browser without Electron
- your project is in Python, C, or another non-JavaScript language
- you need Bluetooth, USB HID, or other non-serial device protocols
Facets
library · maturity stable
sdk file-system parser testing iot hardware robotics developer-tools cross-platform windows cross-platform serial-port nodebots arduino hardware-access stream-api typescript mock-bindings nodejs linux macos electron
10 sources
- readme: https://github.com/serialport/node-serialport · fetched 2026-08-28 · 75460064ac41
- homepage: https://serialport.io · fetched 2026-08-29 · d7a7f29ae3c9
- site_page: https://serialport.io/docs · fetched 2026-08-29 · 45d1d897e138
- site_page: https://serialport.io/docs/next · fetched 2026-08-29 · 5d8170d73f33
- site_page: https://serialport.io/docs/11.x.x · fetched 2026-08-29 · c51a841a015f
- site_page: https://serialport.io/docs/10.x.x · fetched 2026-08-29 · 3dae3c6ac7c2
- site_page: https://serialport.io/docs/9.x.x · fetched 2026-08-29 · d416cc1861e0
- site_page: https://serialport.io/docs/8.x.x · fetched 2026-08-29 · 4abb45015a33
- site_page: https://serialport.io/docs/7.x.x · fetched 2026-08-29 · e101e667dbbc
- site_page: https://serialport.io/docs/code-of-conduct · fetched 2026-08-29 · 1c8d8cb8b55e
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| serialport/node-serialport | main | 51 |
For agents
markdown · JSON · MCP: product_card(name="serialport/node-serialport")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem