ESP32 based LED driver designed for use with ESPHome
Find a file
2024-07-02 16:39:16 +02:00
assets Update readme 2024-06-20 15:43:45 +02:00
starfish Update mechanical 2024-06-19 20:51:53 +02:00
.gitattributes Initial commit 2023-02-17 18:45:15 +01:00
.gitignore Update readme 2024-06-20 15:43:45 +02:00
LICENSE Initial commit 2023-02-17 18:45:15 +01:00
README.md Update README.md 2024-07-02 16:39:16 +02:00

LED Driver - Starfish

ESP32 based LED driver designed for use with ESPHome.

The pcb is designed with KiCad and has a ESP32-S3 with power and usb circuit. A total of four N-Channel FETs allow to switch 12V appliances (LED) upto 4.4A each. The four channels allow multiple LED strips or ones with RGBW etc.

starfish-b-renderstarfish-b-render

Features

  • ESP32-S3 for use with ESPHome

  • 4 Open-Drain Channels for RGBW

  • 2 Buttons for user input

  • WS2812 LED

  • Multiple headers for further peripherals (I2C, 3V3, 5V, GPIOs)

  • 6V to 15V Input

ESPHome Code

YAML configuration for ESPHome. Adapt as you need for your setup. Code is relevant for latest version (rev B).

Base

substitutions:
  dev_name: Kitchen

esphome:
  name: kitchen-starfish
  friendly_name: kitchen-starfish
  comment: ESP32 based LED driver for 12 V LED Strips

  on_boot:
    light.turn_on:
      id: status_led
      brightness: 20%
      green: 30%
      
esp32:
  variant: esp32s3
  board: esp32-s3-devkitc-1
  framework:
    type: arduino

Internal LED

light:
  - platform: esp32_rmt_led_strip
    id: status_led
    rgb_order: GRB
    pin: GPIO38
    num_leds: 1
    rmt_channel: 0
    chipset: ws2812
    name: "Status"
    internal: true

PWM Output

output:
  - platform: ledc
    id: output_component1
    pin: GPIO6
    frequency: 19531

  - platform: ledc
    id: output_component2
    pin: GPIO5
    frequency: 19531

Dimmable Light

light:
  - platform: monochromatic
    name: ${dev_name} Ceiling
    output: output_component1

Buttons

binary_sensor:
  - platform: gpio
    pin: 
      number: GPIO8
      inverted: True
    name: ${dev_name} BTN_1

  - platform: gpio
    pin: 
      number: GPIO11
      inverted: True
    name: ${dev_name} BTN_2

I2C Header

i2c:
  scl: GPIO9
  sda: GPIO10