Getting started with the Maxbotix sonar sensor – quick start guide

Maxsonar-Ez1 Lrg-1
The MaxSonar EZ1 provides very short to long-range detection and ranging, in an incredibly small package. It can detect objects from 0-inches to 254-inches (6.45-meters) and provides sonar range information from 6-inches out to 254-inches with 1-inch resolution. (Objects from 0 inches to 6-inches range as 6-inches.) The interface output formats included are pulse width output (PWM), analog voltage output (Vcc/512 volts per inch), and serial digital output (9600 baud). A good sensor for when a Sharp IR distance sensor won’t cut it.

Pt 1997
If you’re a pro cut straight to the data sheet – if not, here’s a quick start guide on using the Maxbotix sonar sensor

Things you’ll need:
An Arduino
A half size breadboard
A piezo buzzer
MaxSonar sensor

All of these are available in the Adafruit store.

Solder it up!
Pt 2002
Solder 3 wires to the Maxbotix sonar sensor. Ground, power and analog. That’s all we’ll need for this simple test, and for the most part if you’re just using this sensor with an Arduino it’s all you’ll likely use.

Wire it up!
Pt 2001
For this example we’re going to use a half size bread board, some wires and a piezo buzzer with the MaxSonar and Arduino.

Run some code!
The MaxSonar EZ1 outputs analog voltage with a scaling factor of (Vcc/512) per inch. A supply of 5V yields ~9.8mV per inch. On the other hand, the Arduino’s analog-to-digital converter (ADC) has a range of 1024, which means each bit is ~4. 9mV. For that reason, to convert the number returned by the ADC to inches, we have to divide by 2.

// using the maxsonar quick start http://www.adafruit.com
// http://www.adafruit.com/index.php?main_page=product_info&cPath=35&products_id=172

int sonarPin = 0; //pin connected to analog out on maxsonar sensor
int piezoPin = 9; 
int inchesAway; 

void setup() {
  pinMode(piezoPin, OUTPUT);


void loop() {
  inchesAway = analogRead(sonarPin) /2;
  if (inchesAway < 24) { // if something is 24 inches away then make a 1khz sound
    digitalWrite(piezoPin, HIGH);
    digitalWrite(piezoPin, LOW);

Xposted to Instructables

Join 7,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython in 2018 – Python on Microcontrollers is here!

Have an amazing project to share? Join the SHOW-AND-TELL every Wednesday night at 7:30pm ET on Google+ Hangouts.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Follow Adafruit on Instagram for top secret new products, behinds the scenes and more https://www.instagram.com/adafruit/

Maker Business — American startups are having an increasingly smaller share of the market

Wearables — Switch the advantage

Electronics — Don’t float!

Biohacking — Optimizing the Warm Up

Python for Microcontrollers — CircuitPython 3.0.0 released!

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !


  1. hah, I have one of these but never noticed the cross and the jesus-fish printed on the back.

  2. You should link this blog entry from the sensor page on your store if possible. Or, if you did I missed it entirely…

Sorry, the comment form is closed at this time.