Breadboard for "Motor"


Fritzing diagram: motor.fzz


Run this example from the command line with:

node eg/motor.js
const {Board, Motor} = require("johnny-five");
const board = new Board();

board.on("ready", () => {
  // Create a new `motor` hardware instance.
  const motor = new Motor({
    pin: 5

  // Inject the `motor` hardware into
  // the Repl instance's context;
  // allows direct command line access

  // Motor Event API

  // "start" events fire when the motor is started.
  motor.on("start", () => {
    console.log(`start: ${}`);

    // Demonstrate motor stop in 2 seconds
    board.wait(2000, motor.stop);

  // "stop" events fire when the motor is stopped.
  motor.on("stop", () => {
    console.log(`stop: ${}`);

  // Motor API

  // start([speed)
  // Start the motor. `isOn` property set to |true|
  // Takes an optional parameter `speed` [0-255]
  // to define the motor speed if a PWM Pin is
  // used to connect the motor.

  // stop()
  // Stop the motor. `isOn` property set to |false|


Component Classes in this example:

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