Basic ESP32-C3 RGB LED Controller

Tell us about your projects. Update us regularly.
Post Reply
parkview
Guru Maker
Posts: 585
Joined: Tue Jun 24, 2014 8:25 pm
Location: Busselton
Contact:

Basic ESP32-C3 RGB LED Controller

Post by parkview » Wed Sep 07, 2022 9:45 am

A while back I did a ESP32 based simple RGB LED controller, but there was no onboard UART, so it had to be programmed via an external USB to UART cable. Now that the ESP32-C3 MCU is available and has been ported into Arduino, I thought it was time to spin out a version based on the C3. The C3-Mini is about two thirds of the size of a ESP32, so using a sprinkling of 0603 and 0402 sized components, I have managed to shrink the PCB down by about a third smaller than the previous controller board.

Features:
  • ESP32-C3 MCU
  • USB C connector which provides more current
  • Haptic motor connector
  • two strands of RGB LEDs, ie: WS2812 or a derivative
  • onboard ambient light sensor
  • side activated Mode switch
  • extra user/boot mode switch
  • provision for a i2C based OLED screen
  • onboard Red/Green user LEDs
This is a colorful and fun project board to play around with:
IMG_1827.jpg
IMG_1827.jpg (105.69 KiB) Viewed 924 times

parkview
Guru Maker
Posts: 585
Joined: Tue Jun 24, 2014 8:25 pm
Location: Busselton
Contact:

Re: Basic ESP32-C3 RGB LED Controller

Post by parkview » Sun Feb 05, 2023 10:15 am

This version of the RGB (WS2812) LED Controller even smaller, just 35mm x 26mm. It has the same ambient light simple photo transistor sensor as the 2-Port board, but the RGB power output is switched via a MOSFET. This means I can isolate the boards power from the RGB light strip and run the strip via external power. All under software control and has a smaller footprint than using a 0.1" header ping jumper. The haptic motor has been dropped, as there was no room for the connector. All of this and still on a 2 layer PCB, so it will be cheap to panelise if I want lots of these later on. All the passive components are 0402 sized. Getting all the text onto the PCB was a challenge:
Basic_1-Port_Controller-Annotated.png
Basic_1-Port_Controller-Annotated.png (95.08 KiB) Viewed 344 times

All the GPIO info need to program the board is on the backside:
Basic_1-Port-v2.1_backside.png
Basic_1-Port-v2.1_backside.png (139.94 KiB) Viewed 344 times

I program it in Arduino via Visual Source Code PlatformIO plugin and it uploads to the board via the USB C connector. Very easy and fun to play with.

When is a project ever finished? There is a small blank area to the right hand side of the USB connector. Might be a perfect spot for a Hall Effect sensor? That way perhaps you could switch modes via a small magnet, ie: mounted in a ring?

You can find the 1 Port PCB design files and example code here: https://gitlab.com/parkview/ESP32-C3_1- ... Controller

Post Reply