node.js serial port driver.


Node.js serial port driver. Works on Windows, OSX, and linux.


npm install serialport2

Quick Example

var SerialPort = require('../').SerialPort;
var port = new SerialPort();
port.on('data', function(data) {
port.on('error', function(err) {
});'COM4', {
  baudRate: 9600,
  dataBits: 8,
  parity: 'none',
  stopBits: 1
}, function(err) {
  port.write("hello world");
var sp = require('../');
sp.list(function(errports) {


Creates the serial port.

Open the serial port.


  • portName - The name of the port to open. Example: Windows 'COM1', Linux '/dev/ttyUSB0'.
  • options - Options for open
    • baudRate - The baud rate [default: 9600]
    • dataBits - The data bits [default: 8]
    • parity - The parity, can be (none, odd, even) [default: 'none']
    • stopBits - The number of stop bits, can be (1, 1.5, 2) [default: 1]
    • flowControl - Enable flow control (true, false) [default: false]
  • callback(err) - Callback called after opening the port.

Writes data to the serial port.


  • buffer - This can be a node Buffer object or a string.
  • callback(err, byteWritten) - Callback called after writing bytes.

Closes the serial port.


  • callback(err) - Callback called after the port is closed.

Event emitted by SerialPort when data is available. The first argument will contain a Buffer with the data.

Event emitted by SerialPort if an error occurs. The first argument will contain the error.

Lists the serial ports on the machine.


  • callback(err, ports) - Callback called after the list is retrieved.