This video shows how I built an ultrasonic tape measure using an Arduino Duemilanove, a PING))) sensor, and a 7-Segment Shield. As someone guessed in the comments, I developed this distance sensor as a component in my Arduino Nerf sentry gun project.

As soon as I get a chance to clean up the code, I’ll post my Arduino sketch here on Make: Online.

In the Maker Shed:

PING))) sensor

7-Segment Shield

John Edgar Park

John Edgar Park

John Edgar Park likes to make things and tell people about it. He works at Disney Research and writes for Make and Boing Boing. He is training for American Ninja Warrior. You can find him at and twitter @johnedgarpark — if you like that sort of thing.

  • pete

    Great video John, What is limiting your display resolution to 1″? Is that your sketch or the Ping)) sensor’s resolution?

    Also, in the Maker Shed the specs for the sensor list:

    * Supply Current: 30 mA typ; 35 mA max
    * 20 mA power consumption

    Am I reading this wrong or are these conflicting specifications?

    • John Park

      Hi Pete, the PING code in my sketch is built around this one: which returns inches and centimeters. I’m sure you could keep squeezing the formula until you determined how granular it is, but I haven’t tried that yet. I couldn’t tell from the data sheet what the resolution was either. Anyone know?

      The manufacturer, Parallax, lists those same supply current and power consumption specs as well, so I’m not sure what to make of it.

  • ohmboy


    How do i get your Arduino sketch? I want to try your ultrasonic sensor on an irrigation storage tank i have. I am new to programming so it may be a stretch for me without your program. I want to convert the output to gallons based on the distance, instead of inches. I assume that the inches can be converted with a little math?


  • baci

    HI John,

    i am thinking of making the following and need your advice on how to proceed:

    -using the two sensors at 90 deg to each other to measure the distance at 45 deg (between them).

    -repeated discrete measurements ~about 3 readings.

    -wireless transmission of data for logging

    can you help to advice on whether its possible to be done and what approach could i use?

    thanks a billion!