# rwaldron/johnny-five

JavaScript Robotics and IoT programming framework, developed at Bocoup.

Repository: https://github.com/rwaldron/johnny-five
Canonical: https://ross.abutalabs.com/products/johnny-five
Homepage: http://johnny-five.io
Language: JavaScript
License: NOASSERTION
License Family: other
Topics: javascript, arduino, tessel, raspberry-pi, chip, photon, pcduino, gpio, i2c, adc, dac, pwm, spi, serial, 1-wire, bluetooth, iot, robotics, beaglebone-black, intel
Last push: 2023-10-24T22:18:06+00:00

## Health v2 (maintenance only)
Score: 23/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 5269, "days_push": 1044, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 13413, forks 1730 (observed 2026-08-28T04:11:03.268373+00:00)

## What it is
Johnny-Five is a Firmata protocol-based JavaScript robotics and IoT programming framework for Node.js. It provides composable, consistent APIs for controlling LEDs, motors, sensors, and other hardware across many boards including Arduino, Raspberry Pi, Tessel 2, and Particle Photon.

## Use cases
- blink an LED on an Arduino from JavaScript
- control motors and servos for a robot with Node.js
- read sensor data from a Raspberry Pi in JavaScript
- build IoT prototypes without writing C/C++
- teach hardware programming to beginners with NodeBots
- interface with I2C, SPI, or serial peripherals from JavaScript

## When to choose
- you want to program Arduino-compatible or single-board hardware in JavaScript/Node.js
- you need a consistent API across multiple board platforms
- you're teaching or learning robotics and electronics
- you want a mature library with extensive examples and platform support

## When to avoid
- you need hard real-time control or microsecond timing
- you're working in a language other than JavaScript/Node.js
- you need a very small footprint on constrained microcontrollers
- you require actively developed cutting-edge features, as development has slowed

## Facets
- artifact type: framework
- maturity: maintenance
- function: iot, robotics, embedded, sdk
- domain: iot, robotics, embedded-systems, hardware, developer-tools
- platform: cross-platform, embedded, iot
- tags: firmata, arduino, gpio, nodebots, raspberry-pi, tessel, hardware-programming, javascript, nodejs

## Member repositories
- rwaldron/johnny-five (main) score 23

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:11:03.268373+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:13:19.237511+00:00, confidence not recorded.
  - readme: https://github.com/rwaldron/johnny-five (fetched 2026-08-28T04:11:03.268373+00:00, sha 12e84b4f0170)
  - homepage: http://johnny-five.io (fetched 2026-08-29T08:08:33.456104+00:00, sha 3754a298dab3)
- Data as of 2026-08-30T08:39:29.467469+00:00.
