Skip to the content
PCBKitNew board
2 layers64 × 38 mmLedctl, the printed circuit board in 3D

12–24 V LED şeritleri WiFi üzerinden açıp kapatan ve PWM ile dimleyen küçük bir kontrol kartı. Proje KiCad donanım dosyalarını, iki firmware seçeneğini (ESPHome / PlatformIO) ve 3D yazıcıyla basılabilen bir kutuyu…

Size
64 × 38 mm
Copper layers
2
Thickness
1.6 mm
Parts
36
Nets
31
Pads
137
Tracks, vias
287, 38
Pours
2
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
8 Oct 2026
Updated
8 Oct 2026

Overview

Ledctl is an open-source printed circuit board by BilginistAdam, from the BilginistAdam/esp32-led-controller repository on GitHub. It is a 2-layer board of 64 × 38 mm with 36 parts on 31 nets, routed with 287 tracks and 38 vias.

It is built around the ESP32-C3-WROOM-02-H4, AP63203WU and AO3400A, with the SMAJ28A, SS14 and SS34 among its other parts. Its parts include 9 resistors, 8 capacitors, 4 diodes, 4 connectors and 2 ICs. It belongs with the ESP32 and RISC-V boards of this library.

Main components

6

README

README.md

LED Controller · Bilginier

LED Controller — ESP32-C3 LED Şerit Kontrolcüsü

12–24 V LED şeritleri WiFi üzerinden açıp kapatan ve PWM ile dimleyen küçük bir kontrol kartı. Proje KiCad donanım dosyalarını, iki firmware seçeneğini (ESPHome / PlatformIO) ve 3D yazıcıyla basılabilen bir kutuyu içerir.

Kutu

PCB üstŞematik
PCBŞematik

Özellikler

  • Kontrol: ESP32-C3-WROOM-02 (WiFi + BLE). Programlama dahili USB üzerinden USB-C ile yapılıyor, ayrı bir USB-UART çipi yok.
  • Giriş: 12–24 V DC. PTC sigorta ve TVS ile korunuyor. AP63203 buck regülatör 3.3 V üretiyor.
  • Besleme: D1/D2 diyotlarıyla kart adaptörden ya da sadece USB'den beslenebiliyor, yani programlarken adaptör gerekmiyor.
  • LED sürme: LED şeridini low-side AO3400A MOSFET anahtarlıyor. 20 kHz PWM kullanılıyor, böylece duyulabilir vızıltı olmuyor. Gate'teki pull-down sayesinde LED boot sırasında kapalı kalıyor.
  • Arayüz: RESET butonu, BOOT/kullanıcı butonu ve durum LED'i var.
  • Kart: 64 × 38 mm, 2 katman, 4 × M3 montaj deliği.

Klasör yapısı

text
hardware/          KiCad projesi (şematik, PCB, proje sembol kütüphanesi)
  BOM.md / BOM.csv malzeme listesi (okunabilir tablo / üretici formatı)
  ledctl-gerbers.zip   üreticiye (JLCPCB/PCBWay vb.) doğrudan yüklenebilir
  fabrication/     Gerber, drill, pick-and-place (pos) dosyaları
  scripts/         şematik/PCB'yi üreten Python betikleri (design.py = tek kaynak)
firmware/
  esphome/         Home Assistant için ESPHome konfigürasyonu
  platformio/      bağımsız Arduino firmware'i (web arayüzü + REST API)
    prebuilt/      derlenmiş factory imajı (0x0 adresine yazılır)
enclosure/         OpenSCAD kaynak + basılmaya hazır STL'ler
docs/              şematik PDF, PCB montaj PDF'i, görseller
  logo/            Bilginier logosu (SVG) + üretici betik (PCB, kutu ve banner aynı kaynaktan)

Malzeme listesi (BOM)

Ayrıntılı liste için hardware/BOM.md, makineli montaj için hardware/BOM.csv dosyasına bak.

AdetRefParçaLCSC
1U2ESP32-C3-WROOM-02-N4C2934560
1U1AP63203WU-7 (3.3 V buck)C780769
1Q1AO3400AC20917
1L1FNR4030S4R7MT, 4.7 µHC167874
1 / 1 / 1D1 / D2 / D3SS34 / SS14 / SMAJ28AC8678 / C2480 / C353458
1D4Yeşil LED 0603C72043
1F1PTC 1812 (bkz. BOM.md notu)—
1C110 µF 50 V 1206C13585
3C2, C3, C7100 nF 50 V 0603C14663
2C4, C522 µF 25 V 0805C45783
1 / 1C6 / C810 µF 0805 / 1 µF 0603C15850 / C15849
4R1–R410 kΩ 0603C25804
1 / 1 / 1R5 / R6 / R7100 Ω / 100 kΩ / 1 kΩ 0603C22775 / C25803 / C21190
2R8, R95.1 kΩ 0603C23186
2J1, J2Phoenix 1715721, 2P 5.08 mmC480516
1J3USB-C HRO TYPE-C-31-M-12C165948
1J41×4 pin header (opsiyonel)C2337
2SW1, SW2TS-1187A-B-A-BC318884
4—M3 × 20 vida (kutu)—

JLCPCB montaj için hazır dosyalar: hardware/fabrication/ledctl-bom-jlcpcb.csv ve ledctl-cpl-jlcpcb.csv.

Pin haritası

GPIOİşlev
IO4LED PWM → R5 → Q1 gate
IO9BOOT / kullanıcı butonu (aktif düşük)
IO10Durum LED'i (aktif yüksek)
IO18 / IO19USB D− / D+ (USB-C)
IO20 / IO21UART RX / TX (J4, opsiyonel)

Firmware

Seçenek A: ESPHome (Home Assistant)

bash
cd firmware/esphome
cp secrets.yaml.example secrets.yaml   # WiFi bilgilerini gir
esphome run ledctl.yaml                # ilk yükleme USB-C üzerinden

Bu seçenek Home Assistant'a "LED Serit" adlı, dimlenebilir bir ışık olarak eklenir. Butona basınca LED açılıp kapanır, durum LED'i WiFi bağlantısını gösterir.

Seçenek B: PlatformIO (bağımsız)

bash
cd firmware/platformio
pio run -t upload        # USB-C
pio device monitor
  1. WiFi kurulumu: İlk açılışta kart LedCtrl-Setup adında bir WiFi ağı açar. Bu ağa bağlanıp açılan sayfadan kendi WiFi bilgilerini gir.
  2. Web arayüzü: Kurulumdan sonra http://led-ctrl.local adresinden aç/kapat ve parlaklık ayarı yapılabilir.
  3. REST API:
    bash
    curl http://led-ctrl.local/api/state
    curl -X POST http://led-ctrl.local/api/state -d '{"on":true,"brightness":60}'
    curl -X POST http://led-ctrl.local/api/toggle
  4. Buton:
    • Kısa basış: aç/kapat
    • Basılı tutma: parlaklığı 100 → 75 → 50 → 25 → 10 sırasıyla değiştirir
    • 8 saniye basılı tutma: WiFi ayarlarını siler
  5. Durum LED'i:
    • Sürekli yanık: bağlı
    • Yavaş yanıp sönme: bağlanıyor
    • Hızlı yanıp sönme: kurulum modunda
  6. Diğer: Son durum NVS'e kaydedilir, elektrik kesilip gelince geri yüklenir. Ayrıca OTA güncelleme (ArduinoOTA) destekleniyor.

Hazır imajı yazmak için:

bash
esptool.py --chip esp32c3 write_flash 0x0 firmware/platformio/prebuilt/ledctl-factory.bin

Yükleme başlamazsa: BOOT'a basılı tutarken RESET'e bas ve bırak. Kart indirme moduna geçer. Normalde USB üzerinden otomatik reset yeterli olur.

Kutu (3D baskı)

ParçaDosyaBaskı yönü
Gövdeenclosure/ledctl_case_base.stltaban aşağıda
Kapakenclosure/ledctl_case_lid.stlyüzü aşağıda (dosya zaten bu yönde)
  • Önerilen baskı ayarları: PETG veya PLA, 0.2 mm katman, %20–30 doluluk. Destek gerekmiyor.
  • Montaj: 4 adet M3 × 20 vida kapaktan girer, PCB'yi sıkıştırır ve gövdedeki direklere tutunur. Vidalar plastiğe kendi yolunu açabilir; isteğe bağlı olarak pilot_d = 4.0 ile heat-set insert de kullanılabilir.
  • Duvara montaj: Tabanda 20 mm aralıklı iki anahtar deliği var, en fazla 8 mm başlı vida uygun. USB-C aşağı bakacak şekilde asılır.
  • Bantla montaj: Taban tamamen düz olduğu için çift taraflı bantla da yapıştırılabilir.
  • Butonlar: RESET ve BOOT butonları kapaktaki esnek dillerle basılır. Durum LED'inin ışığı kapaktaki tüpten görünür.
  • Terminaller: Vidalarına kapaktaki deliklerden tornavidayla erişilir.
  • Ölçüler: enclosure/ledctl_case.scad içindeki parametrelerden (tolerans, duvar kalınlığı, yükseklik) değiştirilebilir.
bash
openscad -D 'part="base"' -o enclosure/ledctl_case_base.stl enclosure/ledctl_case.scad
openscad -D 'part="lid"'  -o enclosure/ledctl_case_lid.stl  enclosure/ledctl_case.scad

Üretim

  1. hardware/ledctl-gerbers.zip dosyasını PCB üreticisine yükle. Ayarlar: 2 katman, 1.6 mm, 1 oz bakır.
  2. Montaj için hardware/BOM.csv (okunabilir hali: hardware/BOM.md) ve hardware/fabrication/ledctl-pos.csv dosyalarını kullan.
  3. ESP modülünün anteni kartın sağ kenarından yaklaşık 6 mm dışarı taşar. Bu bilinçli bir tercih: antenin altında bakır olmaması gerekiyor. Kutu bu taşmaya göre tasarlandı.

Tasarım notları ve sınırlar

  • Akım: AO3400A ile kart yaklaşık 3 A LED akımı için uygun. 24 V'ta bu yaklaşık 70 W, 12 V'ta yaklaşık 36 W eder. Daha yüksek akım için daha güçlü bir MOSFET kullanılmalı ve LED izleri genişletilmeli.
  • Gerilim: AP63203 en fazla 32 V girişe dayanır. 24 V adaptörlerde sorun yok. TVS (SMAJ28A) kısa süreli darbelere karşı korur, ama sürekli aşırı gerilimden korumaz.
  • F1 sigorta: 3 A / 24 V için 1812 kılıfta uygun bir PTC yok. Seçenekler hardware/BOM.md notunda anlatılıyor.
  • Routing: İzler Freerouting ile otomatik çizildi. DRC'de elektriksel hata yok, sadece kozmetik silkscreen uyarıları var. Sipariş vermeden önce KiCad 8/9'da ERC ve DRC'yi kendin de çalıştır.
  • Yeniden üretme: hardware/scripts/ içindeki betikler şematik ve PCB'yi design.py ve placement.py dosyalarından üretir. Logo ve isim en son add_branding.py ile silkscreen'e eklenir. Bunun için KiCad 7+ Python (pcbnew) ve otomatik routing için Freerouting gerekir (FREEROUTING_JAR ortam değişkeni).

Lisans

MIT. Donanım dosyaları, firmware ve kutu dahil projenin tamamı bu lisansla yayınlanır.

Parts

36
QtyValueFootprintReferences
410kResistor_SMD:R_0603_1608MetricR1, R2, R3, R4
4MountingHole_3.2mm_M3MountingHole_3.2mm_M3H1, H2, H3, H4
2100nFCapacitor_SMD:C_0603_1608MetricC3, C7
222uF_10VCapacitor_SMD:C_0805_2012MetricC4, C5
25.1kResistor_SMD:R_0603_1608MetricR8, R9
1100RResistor_SMD:R_0603_1608MetricR5
1100kResistor_SMD:R_0603_1608MetricR6
1100nF_50VCapacitor_SMD:C_0603_1608MetricC2
110uFCapacitor_SMD:C_0805_2012MetricC6
110uF_50VCapacitor_SMD:C_1206_3216MetricC1
11kResistor_SMD:R_0603_1608MetricR7
11uFCapacitor_SMD:C_0603_1608MetricC8
14.7uH_3AInductor_SMD:L_Changjiang_FNR4030SL1
1AO3400APackage_TO_SOT_SMD:SOT-23Q1
1AP63203WUPackage_TO_SOT_SMD:TSOT-23-6U1
1BOOT/USERButton_Switch_SMD:SW_Push_1P1T_XKB_TS-1187ASW2
1DC_IN_12-24VTerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_HorizontalJ1
1ESP32-C3-WROOM-02RF_Module:ESP32-C3-WROOM-02U2
1GREENLED_SMD:LED_0603_1608MetricD4
1LED_STRIPTerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_HorizontalJ2
1PTC_3A_hold_30VFuse:Fuse_1812_4532MetricF1
1RESETButton_Switch_SMD:SW_Push_1P1T_XKB_TS-1187ASW1
1SMAJ28ADiode_SMD:D_SMAD3
1SS14Diode_SMD:D_SMAD2
1SS34Diode_SMD:D_SMAD1
1UARTConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ4
1USB-CConnector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J3

Questions

How big is the Ledctl PCB?

It measures 64 × 38 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Ledctl use?

36 parts, built around the ESP32-C3-WROOM-02-H4, AP63203WU, AO3400A and SMAJ28A. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Ledctl KiCad files?

From the BilginistAdam/esp32-led-controller repository on GitHub, at the commit this page was made from: the board is hardware/ledctl.kicad_pcb and its schematic hardware/ledctl.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Ledctl design in my own project?

Its repository states no licence, so its author keeps all rights: ask BilginistAdam before reusing the design.

Similar boards

  • 2 layers169.9 × 102.7 mmStm32h723zet6, the printed circuit board in 3D

    Stm32h723zet6

    mgalleguilloscespedes-png/proyectro-stm32

    en mi afán por el diseño 3d y la electrónica decidí crear mi propia versión de una placa controladora para impresora 3d, basándome en el microcontrolador stm32h723zet6 y la pcb de bigtreetech manta mp8

    587 parts
  • 4 layers100 × 80 mmCharge board, the printed circuit board in 3D

    Charge board

    Franzelfx/vertical-wind-turbine

    Design study: a 3D-printed vertical-axis wind turbine on a timber post, charging a 3S Li-ion pack. Parts, circuit and figures generated by scripts with FreeCAD, KiCad and Blender. Nothing built yet.

    85 parts
  • 4 layers100 × 100 mmArtnet node poe, the printed circuit board in 3D

    Artnet node poe

    Tommie1236/artnet-node-poe

    134 partsMIT
  • 2 layers40 × 22.5 mmPayload PCB, the printed circuit board in 3D

    Payload PCB

    Daksh-Saksena/Street-Safe

    A hackclub Project

    16 partsMIT
  • 4 layers38 × 100 mmDAQ V4.1, the printed circuit board in 3D

    DAQ V4.1

    IlyaasAitSimmou/krakenbane_one_pcb

    This GitHub Repository contains all kiCad files related to the SRAD data aqcuisition flight computer, KRAKENBANE I which was flown at Launch Canada on the Goldeneye rocket by the Turner Fenton Rocketry Association…

    82 parts1
  • 2 layersEeloo Pad, the printed circuit board in 3D

    Eeloo Pad

    YugnatD/Eeloo_Pad

    318 parts
  • 2 layers60 × 40.5 mmEnvironmental Monitoring Node, the printed circuit board in 3D

    Environmental Monitoring Node

    kothanikhil9/Environmental-Monitoring-Node

    The system continuously measures environmental temperature using a digital sensor and processes the data through a microcontroller.

    35 parts
  • 4 layers41 × 59.1 mmTestProject 02, the printed circuit board in 3D

    TestProject 02

    Turboblider55/Project_OpenGauge

    Modular Vehicle Telemetry and Infotainment Companion via OBD-II

    46 parts