This example demonstrates how to blink a LED using GPIO or RMT for the addressable LED, i.e. WS2812.
- A development board with ESP32/ESP32-S2/ESP32-S3/ESP32-C3 SoC (e.g., ESP32-DevKitC, ESP-WROVER-KIT, etc.)
- A USB cable for Power supply and programming
Some development boards use an addressable LED instead of a regular one. These development boards include:
Board | LED type | Pin |
---|---|---|
ESP32-C3-DevKitC-1 | Addressable | GPIO8 |
ESP32-C3-DevKitM-1 | Addressable | GPIO8 |
ESP32-S2-DevKitM-1 | Addressable | GPIO18 |
ESP32-S2-Saola-1 | Addressable | GPIO18 |
ESP32-S3-DevKitC-1 | Addressable | GPIO48 |
Open the project configuration menu (idf.py menuconfig
).
In the Example Configuration
menu:
- Select the LED type in the
Blink LED type
option.- Use
GPIO
for regular LED blink. - Use
RMT
for addressable LED blink.- Use
RMT Channel
to select the RMT peripheral channel.
- Use
- Use
- Set the GPIO number used for the signal in the
Blink GPIO number
option. - Set the blinking period in the
Blink period in ms
option.
Run idf.py -p PORT flash monitor
to build, flash and monitor the project.
As you run the example, you will see the LED blinking, according to the previously defined period. For the addressable LED, you can also change the LED color by setting the pStrip_a->set_pixel(pStrip_a, 0, 16, 16, 16);
(LED Strip, Pixel Number, Red, Green, Blue) with values from 0 to 255 in the blink.c
file.
The pixel number indicates the pixel position in the LED strip. For a single LED, use 0.
- If the LED isn't blinking, check the GPIO or the LED type selection in the
Example Configuration
menu.
For any technical queries, please open an issue on GitHub. We will get back to you soon.