node package manager
Orgs are free. Discover, share, and reuse code in your team. Create a free org »


What's this? : これは何?


Nice guy that you can manipulate the Arduino from node.js.


No programming of Arduino. application can make only node.js.

How to use : 使い方

Only 3 steps.

1. Get the source code : ソースコードの取得

npm install arduinode

2. Write the program to Arduino : スケッチをArduinoに書き込む

Open the Sketch(sketch/arduinode/arduinode.ino) in Arduino IDE, write to the Arduino.

3. Write the node.js code! : プログラミングじゃぁ!


var Arduinode = require("arduinode").Arduinode;
// How to find the serial port? 
// ls /dev | grep usb 
var portName = "/dev/tty.usbmodem1411";
var arduinode = new Arduinode(port, function(err, result){
    return console.log(err);
  // Read analog port value. 
  arduinode.analogRead(0, function(err, result){
      return console.log(err);
    // { msg: "OK", port: 0, val: 401 } 


Analog read, write support

arduinode.analogRead(port, callback);
arduinode.analogWrite(port, value, callback);

Didital read, write support

arduinode.digitalRead(port, callback);
arduinode.digitalWrite(port, value, callback);

Port change interrupt support

// num  : Interrupt number. 0 or 1 
// mode : "CHANGE" or "RISING" or "FALLING" or "LOW" 
arduinode.attachInterrupt(num, mode, callback)
arduinode.detachInterrupt(num, callback);
// Receive interrupt event. 
arduinode.on("event", function(data){

Timer overflow Interrupt support

digitalStreamOn(port, intervalMiliSec, callback);
digitalStreamOff(port, callback);
// Receive interrupt event. 
arduinode.on("event", function(data){


API document を見る!

Example application

arduinode.js + WebSocket( + express

Come here!