ESP32-S3 N16R8 how to turn on LED RGB

Hello,
I would like to turn on/off the RGB round led of an ESP S3 N16R8 which can have the color red, green or blue, I use ESPHome.
With this code I can only turn the LED to white:

light:
  - platform: esp32_rmt_led_strip
    rgb_order: RBG
    pin: GPIO48
    num_leds: 3
    rmt_channel: 2
    chipset: ws2812
    name: "My Light"

I also couldn’t find any information on the GPIO of the three small LEDs on the board, would you have any information on the subject please.

Bob29

What sort of LED is it? Is it really a WS2812 or just an rgb led? Does it have 3 or 4 legs?

Which board exactly? The esp s3 n16r8 is a chip. It has no LEDs.

What you have is a dev board which has components added. We need to know the dev board.

Also you may need to poke around with a meter to find the led connections.

My mistake its the onboard LED, so you are right just need to add

      - light.turn_on:
          id: led_ww           
          red: 100%
          green: 0%
          blue: 0%
          brightness: 30%

But you may need to check it really is connected to pin 48. Some borads aren’t.

The board is whith REG LED module WS2812 →
Carte de développement ESP32-S3 2.4G Wifi Tech pour Ardu37ESP IDF ESP32-S3-WROOM-1 N8Inter N16R8 44Pin Type-C 8M PSRAM ESP32 S3 - AliExpress

Bob29

Funny, I’ve actualy been trying to do the exact same thing this morning, still haven’t figured it out though…

Here are some useful resources I have found (for my specific board).
My board


Based on this image from the add, the 3 small leds seem to be used to indicate if the board is powered and if there is data being transfered on the TX & RX lines respectively.

With regard to RGB LED on the board it seems to be this module (atleast that is the case for me, also if you scroll down on that website and “View More” on the product details part it has pretty detailed specifications).
Also (for my board) it seems it is connected to GPIO47 and NOT GPIO48, so make sure you check the exact specifications of your board.

My board:

I also found some github posts on the getting the led to work but haven’t figured out how to transfer their findings to esphome. (I can see if I can find them again if you’re interested).

I’m goning to keep playing with this to see if I can get it to work, I’ll let you know if I figure it out :slight_smile:

1 Like

Based on the link you shared it seems like we have the same devkit. Unfortunately I cannot even seem to get the white light to turn ON on my board. Could you share your whole configuration?
(ofc do make sure to remove personal details like keys and passwords etc)

Are you using the esp-idf or arduino framework?
Are there any other components in your configuration besides “light:”?

light:
  - platform: esp32_rmt_led_strip
    id: led_ww
    rgb_order: GRB
    pin: GPIO48
    num_leds: 1
    rmt_channel: 0
    chipset: ws2812
    name: "on board light"

This code works for me which is pretty much the same as yours except for the number of LED’s and channel. I am not using that board though, but it is an S3. My board has the LED on pin 21.

The onboard LED is only one led even though it shows 3 colours.

I thought you wanted to turn it on as part of the code, for a set state, hence my previous posts.

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: arduino

I can say more informations this evening :wink:

Bob29

I think I may have solved it, I have been playing with a new S3 board and the led would not work. Turns out you need to solder a pad to make it work.

There is an in-out pad as well to enable 5v out on the 5v pin.

1 Like

Hello,
It’s ok for the LED :slight_smile:

  on_boot:
    - light.turn_on:
        id: my_light
        red: 100%
        blue: 0%
        green: 0%
        brightness: 60%
        effect: pulse
    - delay: 6s
    - light.turn_on:
        id: my_light
        red: 0%
        blue: 100%
        green: 0%
        brightness: 60%
        effect: pulse
    - delay: 6s
    - light.turn_on:
        id: my_light
        red: 0%
        blue: 0%
        green: 100%
        brightness: 60%
        effect: pulse
    - delay: 6s
    - light.turn_off:
        id: my_light
light:
  - platform: esp32_rmt_led_strip
    id: my_light  
    rgb_order: GRB
    pin: GPIO48
    num_leds: 1
    rmt_channel: 0
    chipset: ws2812
    name: "My Light"
    effects:
      - pulse:
          transition_length: 550ms
          update_interval: 550ms

Thank you

Bob29

2 Likes

Yup that was exactly the case on my board too. I originally thought that spot on the board was a resistor but looking closely its an unconnected pad (multimeter confirmed it). A good lesson to always double check hardware even if you think it is a software issue. (I think I spent 6 hours trying to get the stupid RGB led to turn on only to eventually discover it wasn’t connected :sweat_smile:.)

I even had some other ESP32-S3 boards lying around, those worked first try, should have tested on them much earlier. A good lesson to remember to take a step back every once in a while and evaluate the bigger picture.

Here are some pictures of my board and the unconnected pad incase someone else stumbled on this thread and wants to identify if they also have the same problem. This is what it looks like:


EDIT: also wanted to respond/add-on to this

I think there is also has a third one on the bottom of the board labeled USB-OTG (atleast on my board there is).

That looks like the same board as mine. Even googling for an answer was difficult as the answer was way down the list. Yet it seems a common thing.

1 Like

Thanks, saved me some time to figure it out myself :slight_smile:

Thanks for the excellent work, guys. I have the same development board and this saves me a lot of time. Also the 5V out option is good to know. With the older boards I had to solder a bypass over the onboard diode, this is more convenient

I have exactly the nameplate and I don’t need to solder anything. but the RGB diode is soldered incorrectly and the colors are reversed. I have the same pin as you showed and I didn’t have to solder it

I need to use the ESP-IDF framework to make the module boot correctly but when I try to add the “esp32_rmt_led_strip” I get a compile error.
I posted an issue so maybe someone could help me figure why I get the compile error:

Hi and thanks for the help. I got one of these boards, and the first one I just flashed with ESPHome as soon as I got it. When I later tried to get the RGB LED to work I was sure that it was working while flashing. Tried the solder and that worked great later on, though. I got my second board recently and before flash, it does indeed cycle between colors while no solder has been done. So is it really necessary since the LED should indeed work anyway?

Edit: While the first board was using GPIO47 together with soldering the RGB pads on the board, my second board works with pin 48 without soldering.

Thanks for mentioning solder. Aliexpress had this user comment which was correct for my second board (a clone from aliexpress) . My first directly from espressif had no issues. Looks like the manufacturer designed the board with a solderable patch so you could have an additional GPIO48 if you did not want to use it for the multicolor LED . Looking the board over it seems to have other solder bridgeable patches e.g. one labelled IN-OUT another labelled USB-OTG … no idea what those are for. The oriinal board also has such structures but they are unlabelled.

I bought 3 of these boards. I downloaded the the RGBBlink example from the ESP32 Arduino example and could only get the RGB LED to work on one of the boards. After close inspection between the the two bad boards and the good board, I noticed that by the RGB LED, there was an "RGB" pcb pad that was "open". I very easily put a small amount of solder to connect the "RGB" pcb pad and all started working. Other than that, all appears to be working well.

IN-OUT after connection will be 5V on pin 5Vin