Ping Proximity example that uses an HCSR04 ultrasonic sensor and an I2C backpack (see backpack documentation.

Breadboard for "Proximity - HC-SR04 I2C Backpack"


Fritzing diagram: proximity-hcsr04-i2c.fzz


Run this example from the command line with:

node eg/proximity-hcsr04-i2c.js
const { Board, Proximity } = require("johnny-five");
const board = new Board();

board.on("ready", () => {
  const proximity = new Proximity({
    controller: "HCSR04I2CBACKPACK",
    freq: 100,

  proximity.on("change", () => {
    const {centimeters, inches} = proximity;
    console.log("Proximity: ");
    console.log("  cm  : ", centimeters);
    console.log("  in  : ", inches);


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