The Standard for JavaScript Robotics Programming

View project

Johnny-Five is a framework for controlling hardware components across a variety of popular microprocessors and system-on-a-chip platforms using JavaScript. Released at Bocoup in 2012 by Rick Waldron, the library and collection of resources is maintained today by a world-wide community of passionate software and hardware developers.


Developers have imagined controlling the physical world from the convenience of their browsers for quite some time. Programming robotics devices has typically been the domain of systems programmers with experience in low-level languages such as C. With birth of the node-serialport module in 2011, Bocoup saw the potential of bringing the expressive, event-based JavaScript programming model to software for controlling physical devices such as servos, potentiometers, and LED displays. To realize the full potential of an open ecosystem of connected devices and hardware programming tools, web developers would need a standard framework to communicate across the broad spectrum of components available today.

Johnny-Five brings familiar JavaScript programming paradigms and techniques into the real world, with an idiomatic, object-oriented, jQuery-like API that makes the process of moving a robotic arm like that of animating an element on a webpage. With built-in support for Firmata protocol compatible boards and a suite of other IO-Plugins, Johnny-Five does the work of abstracting communication so that components behave the same regardless of the platform being used. Because so much of building projects with Johnny-Five involves physically connecting and working with hardware, we also provide extensive documentation and examples (with diagrams) of how to connect and debug components on the Johnny-Five website. We stand behind Johnny-Five, rigorously testing and maintaining it to ensure its reliability whether you're prototyping or in production.

Johnny-Five is helping to democratize robotics and IoT programming through the accessibility of the JavaScript language. With the advent of these "nodebots," enthusiastic makers regularly gather in communities worldwide to build, experiment, and learn together using Johnny-Five. Johnny-Five is regularly featured within industry events such as the Make Intel Developer Roadshow, where a number of contributors to Johnny-Five demo-ed their work to control drones, hexapods, sumobots, and more.

Johnny-Five is broadening the applications and audience for robotics and IoT so that web developers have the power to create projects meant to be experienced outside the confines of a screen.

Contact Us

We'd love to hear from you. Get in touch!


P.O. Box 961436
Boston, MA 02196