Rick Waldron edited this page Aug 19, 2018 · 18 revisions

The Relay class constructs objects that represent a single digital Relay attached to the physical board.

See also:


  • pin A Number or String address for the pin.

  • options An object of property parameters.

    Property Type Value/Description Default Required
    pin Number, String Any Pin. The Number or String address of the Relay pin yes
    type String “NO”, “NC”. Normally Open or Normally Closed. “NO” no


Property Name Description Read Only
id A user definable id value. Defaults to a generated uid No
pin The pin value. No
isOn true or false. Yes
type "NO" or "NC". Yes

Component Initialization

Normally Open (default)

// Pin only
new five.Relay(10);

// Options object with pin property
// Defaults to Normally Open: "NO"
new five.Relay({
  pin: 10

Relay Open

Normally Closed

// Options object with pin and type properties
new five.Relay({
  pin: 10, 
  type: "NC"



var five = require("johnny-five");
var board = new five.Board();

board.on("ready", function() {
  var relay = new five.Relay(10);

  // Control the relay in real time
  // from the REPL by typing commands, eg.
  // relay.on();
  // relay.off();
  // OR...
  // relay.open();
  // relay.close();
    relay: relay


  • open() Open the circuit.

  • close() Close the circuit.

  • toggle() Toggle the circuit open/close.


Relay objects are output only and therefore do not emit any events.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.