A Node.js module to read serial port data

node.js serialport npm sublimeText screenshot

Serialport is a node.js module that reads the serial port data. It opens up a lot of doors for javascript such as… switching on the living room light or… communicate with a drone !

Using it is pretty straightforward

npm install serialport


Serialport installation requires
python 2.x and Xcode command line tools
For the Command line tools, no need to download the whole Xcode app (which is a few Gygabytes), you may download only the command line tools here

We’ll then create a server named server.js and copy the following code into. You may need to replace the baudrate, 57600 is the default baudrate for Ardupilot on APM. You will very likely need to replace “tty.usbserial-A6023L0J” with the name of your device. On macOS and GNU/Linux  ls /dev/tty.*  to show connected devices.

The following lines in App.js are configuring and initalizing the websocket connection :
var io = require(‘socket.io’).listen(server);
io.sockets.on(‘connection’, socket);

Let’s launch the server :  node server.js

If an APM with Ardupilot or an equivalent device is connected to your computer, the terminal should display the console.log which looks like that :

node.js serialport

Serialport allows you not only to read but also write data on the serial port, which let envision many possible uses. If you are interested, here are two interesting posts on the subject. The first one about controlling an Arduino with Node.js and the second one on Javascript and Robotics by the Author of the serialport module :