ESP32 - NeoPixel LED Strip
The NeoPixel strip is like a strip of colorful RGB LEDs, and you can control each LED's color and brightness on its own. In this guide, we'll discover how to use an ESP32 to control the NeoPixel RGB LED strip. To control all the LEDs on the NeoPixel strip, you only need a single pin on the ESP32.
Hardware Used In This Tutorial
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
Introduction to NeoPixel RGB LED Strip
Pinout
The NeoPixel RGB LED strip has three pins:
- GND pin: needs to be connected to GND (0V)
- VCC pin: needs to be connected to 5V of external power supply
- Din pin: is pin that receives the control signal. It should be connected to an ESP32 GPIO pin.
Wiring Diagram
This image is created using Fritzing. Click to enlarge image
If you're unfamiliar with how to supply power to the ESP32 and other components, you can find guidance in the following tutorial: How to Power ESP32.
How To Program For NeoPixel RGB LED Strip
- Declare a NeoPixel object
- Initializes the NeoPixel
- Set color of each individual LED (called pixel).
- Set brightness of all strip.
※ NOTE THAT:
- NeoPixel.setBrightness() is used for all pixel on LED strip. To set the brightness for each individual pixel, we can scale the color value.
- The values set by NeoPixel.setBrightness() and NeoPixel.setPixelColor() only take effect when NeoPixel.show() is called.
ESP32 Code
The following code accomplishes the following tasks:
- It sequentially changes pixels to green, with a pause between each pixel.
- It turns off all pixels for a duration of two seconds.
- It simultaneously sets all pixels to red, maintaining this state for 1 second.
- This entire process is then repeated indefinitely.
Quick Instructions
- If this is the first time you use ESP32, see how to setup environment for ESP32 on Arduino IDE.
- Do the wiring as above image.
- Connect the ESP32 board to your PC via a micro USB cable
- Open Arduino IDE on your PC.
- Select the right ESP32 board (e.g. ESP32 Dev Module) and COM port.
- Click to the Libraries icon on the left bar of the Arduino IDE.
- Search “Adafruit NeoPixel”, then find the NeoPixel library by Adafruit
- Click Install button to install NeoPixel library.
- Copy the above code and open with Arduino IDE
- Click Upload button on Arduino IDE to upload code to ESP32
- Check out the effect of the LED strip
Video Tutorial
Making video is a time-consuming work. If the video tutorial is necessary for your learning, please let us know by subscribing to our YouTube channel , If the demand for video is high, we will make the video tutorial.