Johnny-Five is a JavaScript framework for robotics that allows programming of robots and microcontrollers like Arduinos from JavaScript code. It uses Firmata, an open-source protocol, to communicate between Node.js scripts and microcontrollers over serial connections. Johnny-Five supports functions like digital reads/writes, analog reads, PWM, servo control, and more on boards like Arduino, Raspberry Pi, Intel Galileo and Tessel. The framework has a large community of developers contributing to its continued development and support for new hardware.