ESP8266 - Ultrasonic Sensor - Piezo Buzzer
This tutorial instructs you how to use ESP8266 and ultrasonic sensor to control piezo buzzer. In detail:
- ESP8266 produces a sound when the object is near the ultrasonic sensor.
- ESP8266 ceases the sound when the object is far from the ultrasonic sensor.
- ESP8266 play a melody of a song when the object is close to the ultrasonic sensor.
Hardware Preparation
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Additionally, some of these links are for products from our own brand, DIYables .
Overview of Piezo Buzzer and Ultrasonic Sensor
If you are unfamiliar with piezo buzzer and ultrasonic sensor (including pinout, functioning, programming, etc.), the following tutorials can help:
Wiring Diagram

This image is created using Fritzing. Click to enlarge image
You can also build this circuit without a breadboard. Here is the same wiring:

This image is created using Fritzing. Click to enlarge image
See more in ESP8266's pinout and how to supply power to the ESP8266 and other components.
ESP8266 Code - Simple Sound
Detailed Instructions
To get started with ESP8266 on Arduino IDE, follow these steps:
- Check out the how to setup environment for ESP8266 on Arduino IDE tutorial if this is your first time using ESP8266.
- Wire the components as shown in the diagram.
- Connect the ESP8266 board to your computer using a USB cable.
- Open Arduino IDE on your computer.
- Choose the correct ESP8266 board, such as (e.g. NodeMCU 1.0 (ESP-12E Module)), and its respective COM port.
- Connect your ESP8266 to your computer using a USB cable.
- Launch the Arduino IDE and select the appropriate board and port.
- Copy the code provided and open it in the Arduino IDE.
- Click the Upload button in the Arduino IDE to compile and upload the code to the ESP8266.
- Wave your hand in front of the sensor.
- Listen to the sound coming from the piezo buzzer.
Code Explanation
Check out the line-by-line explanation contained in the comments of the source code!
ESP8266 Code - Melody
Detailed Instructions
- Wire the components as shown in the diagram.
- Connect the ESP8266 board to your computer using a USB cable.
- Open Arduino IDE on your computer.
- Choose the correct ESP8266 board, such as (e.g. NodeMCU 1.0 (ESP-12E Module)), and its respective COM port.
- Copy the code and open it with the Arduino IDE.
- Create the pitches.h file On Arduino IDE by:
- Either click on the button just below the serial monitor icon and choose New Tab, or use Ctrl+Shift+N keys.
- Give file's name pitches.h and click OK button
- Copy the below code and paste it to the created pitches.h file.
- Click the Upload button on the Arduino IDE to send the code to the ESP8266.
- Move your hand in front of the sensor.
- Hear the tune that the piezo buzzer is playing.
- This code is intended for learning purposes. The ultrasonic sensor is very sensitive to noise. If you want to use it in practice, you should filter noise for the ultrasonic sensor. See how to filter noise for ultrasonic sensor for more information.


Code Explanation
Check out the line-by-line explanation contained in the comments of the source code!
※ NOTE THAT: