Johnny-Five is the JavaScript Robotics & IoT Platform. Originally created by Rick Waldron in 2012, Johnny-Five is maintained by a community of passionate software developers and hardware engineers. Over 75 developers have made contributions towards building a robust, extensible and composable ecosystem.

Hello World!

Microcontrollers and SoC platforms like to say "Hello World" with a simple blinking LED; the following demonstrates how to do this with the Johnny-Five framework.

  1. Install Node.js (Prefer LTS!).
  2. Setup your board.
  3. Get Johnny-Five: npm install johnny-five *
  4. Run your program! node blink.js
Arduino | Tessel 2 | Raspberry Pi | Intel Edison | Particle Photon | See All...
var five = require("johnny-five");
var board = new five.Board();

board.on("ready", function() {
  var led = new five.Led(13);
Browse more examples

* There are likely to be other steps involved in preparing your target platform, the best place to start is by looking at Platform Support.

<--TODO: I don’t know what this thing is.-->

Platform Support

Johnny-Five has been tested with a variety of Arduino-compatible Boards. For non-Arduino based projects, platform-specific IO Plugins are available. IO Plugins allow Johnny-Five code to communicate with any hardware in whatever language that platform speaks!

Arduino Uno SparkFun RedBoard Arduino Leonardo Arduino Mega Arduino Fio Arduino Micro Arduino Mini Arduino Nano Arduino Pro Mini BotBoarduino chipKit Uno32 Spider Robot Controller DFRobot Romeo Teensy 3 BeagleBone Black CHIP Blend Micro v1.0 Electric Imp April Intel Galileo Gen 1 Intel Galileo Gen 2 Intel Edison Arduino Intel Edison Mini SparkFun Edison GPIO Block SparkFun Arduino Block Intel Joule 570x (Carrier Board) LightBlue Bean Linino One pcDuino3 Dev Board Pinoccio Scout Raspberry Pi 3 Model B Raspberry Pi 2 Model B Raspberry Pi Zero Raspberry Pi Model A Plus Raspberry Pi Model B Plus Raspberry Pi Model B Rev 1 Raspberry Pi Model B Rev 2 Particle Core (Spark Core) Particle Photon Sparkfun Photon RedBoard Tessel 2

Cover of 'JavaScript on Things: Hardware for Web Developers'

JavaScript can be used to control hordes of small robots, creative maker projects, and IoT devices. With the Node.js ecosystem at hand, hardware prototyping gets fun, intuitive and fast.

JavaScript on Things is the first step into the exciting world of programming for small electronics. This fully-illustrated, hands-on book teaches readers how to get going with platforms like Arduino, Tessel 2, and Raspberry Pi.

Use the Manning discount code gardnerb for 37% off!

Project author: Lyza Danger Gardner

Cover of 'Make: JavaScript Robotics'

JavaScript Robotics is on the rise. Rick Waldron, the creator of the Johnny-Five platform and lead author of Make: JavaScript Robotics, is at the forefront of this movement. This book brings together fifteen innovative programmers, each creating a unique Johnny-Five robot step-by-step, and offering tips and tricks along the way. Experience with JavaScript is a prerequisite.

Project authors: David Resseguie, Raquel Velez, Anna Gerber, Lyza Danger Gardner, Kassandra Perch, Susan Hinton, Andrew Fisher, Sara Gorecki, Julian David Duque, Jonathan Beri, Donovan Buck, Emily Rose, Bryan Hughes, Pawel Szymczykowski

Cover of 'Learning JavaScript Robotics'

Design, build, and program your own remarkable robots with JavaScript and open source hardware!
There has been a rapid rise in the use of JavaScript in recent times in a variety of applications, and JavaScript robotics has seen a rise in popularity too. Johnny-Five is a framework that gives NodeBots a consistent API and platform across several hardware systems.
This book walks you through basic robotics projects including the physical hardware builds and the JavaScript code for them. You'll delve into the concepts of Johnny-Five and JS robotics.

Project author: Kassandra Perch

Fork me on GitHub

Hi! The Johnny-Five community is building new projects every day. We made this newsletter to tell you about what's new, what's good, and what's next for Open Source robotics. Join us in exploring what we can make together.

Fork me on GitHub