Skip to the content
PCBKitNew board
2 layers56.6 × 25 mmLuftctl, the printed circuit board in 3D

small esp32-c3 based pwm fan controller which powers from usb

Size
56.6 × 25 mm
Copper layers
2
Thickness
1.6 mm
Parts
41
Nets
30
Pads
141
Tracks, vias
213, 24
Pours
6
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
26 Jan 2022
Updated
26 Jan 2026

Overview

Luftctl is an open-source printed circuit board by ansemjo, from the ansemjo/luftctl repository on GitHub. It is a 2-layer board of 56.6 × 25 mm with 41 parts on 30 nets, routed with 213 tracks and 24 vias.

It is built around the ESP32-C3-WROOM-02-H4, LMR62014XMF and MIC5504-3.3YM5, with the USBLC6-4SC6 among its other parts. Its parts include 10 capacitors, 10 resistors, 5 connectors, 4 ICs and 3 diodes. It belongs with the ESP32 and RISC-V boards of this library.

Main components

4

README

README.md

luftctl

Small ESP32-C3 controller board to power two 12V PWM fans from a single USB-C plug.

hardware

Schematic and PCB design can be found in hardware/. It is a KiCAD 6 project.

The schematic is available as a PDF.

For hand-soldering, you can use the interactive BOM viewer.

firmware

micropython

The first simple test just loops through {5V/off, 5V/on, 12V/off, 12V/on} with every button press.

Download MicroPython from micropython.org/download/esp32c3-usb/ and flash it with:

text
esptool.py --chip esp32c3 --port /dev/ttyACM0 erase_flash
esptool.py --chip esp32c3 --port /dev/ttyACM0 --baud 460800 write_flash -z 0x0 esp32c3-*.bin

Then install a virtualenv with adafruit-ampy and upload the main.py:

text
ampy -p /dev/ttyACM0 put main.py
ampy -p /dev/ttyACM0 reset --hard

The red LED will blink upon every state change.

esphome

Since the ESP32-C3 is easily supported by ESPHome, you can also add it in your HomeAssistant automation using the provided example YAML.

images

Parts

41
QtyValueFootprintReferences
410kΩResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR3, R6, R7, R8
4TestTestPoint:TestPoint_THTPad_D1.5mm_Drill0.7mmTP1, TP2, TP3, TP4
3100nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC5, C9, C11
210µFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC8, C10
21µFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC3, C4
24.7µFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1, C7
25.1kΩResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR4, R5
2PWM FanConnector:FanPinHeader_1x04_P2.54mm_VerticalJ4, J5
110µHInductor_SMD:L_Bourns_SRN6045TAL1
1113kΩResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1
113kΩResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR2
11N5819Diode_SMD:D_SOD-123D1
12.2kΩResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR10
1220pFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC6
1220ΩZInductor_SMD:L_0805_2012Metric_Pad1.15x1.40mm_HandSolderFB1
1660ΩResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR9
1BootloaderButton_Switch_SMD:SW_SPST_PTS810JP1
1ESP32-C3-WROOM-02RF_Module:ESP-WROOM-02U4
1G***kibuzzard-61E47F36kibuzzard-61E47F36
1I2CConnector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_HorizontalJ3
1LMR62014XMFPackage_TO_SOT_SMD:SOT-23-5U1
1MIC5504-3.3YM5Package_TO_SOT_SMD:SOT-23-5U2
1PWRLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderD3
1ResetButton_Switch_SMD:SW_SPST_PTS810SW1
1UARTConnector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_HorizontalJ2
1USBLC6-4SC6Package_TO_SOT_SMD:SOT-23-6U3
1USB_C_Receptacle_USB2.0Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J1
1USRLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderD2

Questions

How big is the Luftctl PCB?

It measures 56.6 × 25 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Luftctl use?

41 parts, built around the ESP32-C3-WROOM-02-H4, LMR62014XMF, MIC5504-3.3YM5 and USBLC6-4SC6. 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 Luftctl KiCad files?

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

Can I use the Luftctl design in my own project?

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

Similar boards

  • 2 layers43.5 × 46.9 mmSchaltplan Ultraschallsensor, the printed circuit board in 3D

    Schaltplan Ultraschallsensor

    Tinkerforge/distance-us-v2-bricklet-techniker

    This repository contains the firmware source code and the hardware design files. The documentation generator configs can be found at https://github.com/Tinkerforge/generators

    54 parts2
  • 2 layers30 × 97 mmHelix vape, the printed circuit board in 3D

    Helix vape

    stevensun369/helix-vape-pcb

    KiCad design for an ESP32-C6 buck-boost vape mod power board — LM5175 stage, 1.0–10 V @ 80 W, with full JLCPCB production files.

    83 parts1
  • 2 layers70 × 45 mmRobotBalanceador, the printed circuit board in 3D

    RobotBalanceador

    AlexRuizDiaz/RobotBalanceador

    Robot balanceador de PSM2

    73 parts
  • 2 layers109 × 100 mmPcbtc, the printed circuit board in 3D

    Pcbtc

    MarcoBravoG/BobinaTeslaMusical

    For documentation, please see (and like ;) my Hackaday project: https://hackaday.io/project/165112-pcbtc-gan-edition

    101 partsGPL-3.0
  • 4 layers42 × 42 mmStmsp, the printed circuit board in 3D

    Stmsp

    rene-dev/stmbl

    AC Servo Driver for STM32F4

    134 parts990GPL-3.0