Skip to content

Latest commit

d54034f · · Sep 29, 2026

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
Sep 29, 2026
Sep 29, 2026
Sep 28, 2026
Sep 29, 2026
Sep 29, 2026
Sep 4, 2026
Sep 28, 2026
Sep 29, 2026
Sep 28, 2026

Repository files navigation


Ledify

A super small addressable LED controller with USB-C PD up to 100W, a switchable 5V/12V output and Bluetooth!

KiCad Espressif MicroPython

Key Features • PCB • Firmware • Credits • License

Ledify Render

Key Features

  • ESP32-C6 microcontroller with Wi-Fi 6 and Bluetooth LE
  • 16MB flash (W25Q128JVP)
  • USB-C PD up to 100W with the FUSB302B
  • Switchable 5V/12V LED output from a 10A buck converter (LM61495), selected in software
  • Addressable LED pads (VCC / SIG / GND) for WS2812B, WS2811 and WS2815 strips
  • IMU and Barometer - BMI323 (6-axis) and BMP581 pressure sensor
  • PCB trace antenna with an impedance matching network
  • 3.3V buck converter (AP63203) for the logic side
  • ESD protection on the USB data lines
  • Reset and boot buttons and a mounting hole
  • 4-layer PCB design with optimized RF layout and routing

Ledify Flyer

PCB

Designed in KiCad with attention to RF design and high current power delivery. The board is 4 layers with a solid ground plane under the ESP32, the flash and the antenna feed, and the LED buck follows the layout in the LM61495 datasheet.

Schematic

Schematic

Layout

PCB Layout

Pinout

GPIO Net Function
2 LED_SW_V LED voltage select (low = 5V, high = 12V)
3 LED_ENABLE LED buck enable
15 LED_CON LED data (SIG pad)
10 USB_PD_SDA FUSB302B I2C data
11 USB_PD_SCL FUSB302B I2C clock
16 USB_PD_INT FUSB302B interrupt
18 SPI_MISO Sensor SPI
19 SPI_MOSI Sensor SPI
20 SPI_SCK Sensor SPI
21 CS_IMU BMI323 chip select
22 CS_BARO BMP581 chip select
12 DN USB D-
13 DP USB D+
9 CHIP_BOOT Boot button
8 - Strapping pin, pulled up to 3V3

JLCPCB Quote

JLCPCB Quote

Firmware

The boilerplate in firmware/main.py is written in MicroPython. It advertises over Bluetooth as Ledify with the Nordic UART service, so any BLE UART app (nRF Connect, Bluefruit Connect) can control the strip.

Command Action
on Turns on the LED buck
off Clears the strip and turns off the LED buck
rgb R G B Fills the strip with a color (0-255 each)
volt 5 Selects 5V, turns the output off first
volt 12 Selects 12V, turns the output off first

The output always boots at 5V and off. Set NUM_LEDS and MAX_LEVEL at the top of the file for your strip.

Flashing

  1. Flash the MicroPython ESP32-C6 firmware over USB with esptool
  2. Copy the boilerplate to the board:
mpremote cp firmware/main.py :main.py
  1. Press RST and connect to Ledify over Bluetooth

To run the parser self-check on your computer:

python3 firmware/main.py

Credits

This project uses:

You may also like...

  • Cyberboard – A Raspberry Pi Pico-sized STM32 development board
  • CyberCard – A Cyberpunk themed NFC hacker card
  • Ember – USB-C PD Powered Hotplate
  • Trace – An ruler for engineers
  • Athena – A flight controlelr with a triple MCU architecture

License

MIT


notaroomba.dev  ·  GitHub GitHub @NotARoomba  · · 

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Languages