ESP32-C3 Dual LED Controller
by vitorccsiqueira in Circuits > Arduino
43 Views, 0 Favorites, 0 Comments
ESP32-C3 Dual LED Controller
A simple ESP32-C3 project to control 02 LED strips via a web interface and a physical push button.
Supplies
- 01 ESP32-C3 Mini board
- 01 Push Button
- 02 Green LED
- 03 220Ω Resistors
- 02 10KΩ Resistor
- 02 N-channel MOSFET able to work with 3.3v logic (e.g.: IRFZ44N)
- 01 P-channel power MOSFET IRF9540N
- 02 LED Strip (12v)
- 01 Power Supply (12v)
- 01 Mini 360 DC-DC Bulk Converter
Schematics
Notes:
- Gate resistor (220Ω) is optional but recommended to prevent spikes.
- Pull-down resistor (10kΩ) between Gate and GND is optional but prevents accidental turn-on during boot.
- IRF9540N is optional but protects against reverse-polarity
The PCB
You can build a protoboard or order a PCB
NOTE: Gerber file is located at Github
The Code
NOTE: We are using PlaformIO IDE instead of Arduino IDE. Platform IO is a plugin for Microsoft Virtual Studio Code. It is a more robust IDE compared to official Arduino IDE. It also allows us to easily create our own private libraries and use a more object oriented code.
1) Create a new project in PlatformIO IDE
2) Find the code at GitHub and place at your project folder
3) The PINs can be customized in the main.cpp
4) Build & Upload the code to your ESP32-C3 board
5) Done!
The Web Interface
Now, you control the LEDs by a Web Interface.
NOTE: Assign a Static IP to your device in your home router.
Sample of Push Button
You can also control the LEDs by a Push Button
Simple API
Additionally, the LED can be controlled via a simple API, making it easy to integrate with home automation (e.g.: set up a cron job to turn it on and off automatically):
NOTE: Change http://192.168.1.190 to your actual device IP. Assign a Static IP to your device in your home router.