
LTC3 Charge Controller
psas/launch-tower
CAD files and software for the launch tower computer (LTC)

USB-PD to 12V PWM fan with speed control
Fan adapter is an open-source printed circuit board by wormyrocks, from the wormyrocks/fan-adapter repository on GitHub. It is a 2-layer board of 30 × 69 mm with 43 parts on 42 nets, routed with 179 tracks and 21 vias.
It is built around the CH32X035G8U6, SY8201ABC and BSS138, with the BZT52C13 among its other parts. Its parts include 15 resistors, 9 diodes, 6 capacitors, 2 ICs and 2 transistors. It belongs with the power and interfaces and adapters boards of this library.
This is a completely untested, mostly routed PCB that uses a cheap MCU to trigger a 12V USB-PD sink, to drive a computer box fan. Entire BOM cost should only be $2-$3, no uncommon components. Might have to hand-solder the fan header. You could also use an angled fan header if you wanted.
I started designing this because I was annoyed about not having a desktop fume extractor that I could easily run off a laptop charger. I got busy / lazy and don't actually want to finish it, but if someone wants to adopt it that would be awesome! I have a handful of the CH32X035 preordered on JLCPCB, so the riskiest $10 of the project budget is already a sunk cost.
I designed this with 12V PWM fans in mind, but it occurs to me that if you want an amount of static pressure appropriate for fume extraction the move might be to use a 20V PDO. The SY8201 step-down should be able to support that no problem. Just make sure you don't plug it into a 12V fan then.
It is a Kicad 7 project. You could open and save it in Kicad 8 and force push it if you wanted, I don't care.
Designed to be as cheap as possible, using the CH32X035 MCU.
99% of this design is derived from Stefan Wagner's repos: https://github.com/wagiminator/Development-Boards https://github.com/wagiminator/CH32X035-USB-PD-Adapter
Most firmware development could be done using the inbuilt USB bootloader or the UCPD adapter sample code from Stefan Wagner. More simple example firmwares for CH32X035 live here: CH32V003fun examples
There are LEDs to indicate the fan speed and two touch buttons to make it go faster and slower. Since there's a tach pin, you could do some pretty delightful UI stuff by making the line of LEDs strobe at the exact speed that the rotors are turning, which would make this into a fun desk toy.
I don't do a lot of work with motors and maybe would like someone to take a second look at the fan drive circuit. I followed this white paper. Do I need a flyback diode or something? More decoupling capacitors?
I remember spending a comically long time trying to find an in-stock LCSC alt for the 4-pin 2.54mm fan connector (Molex 470533000), it looks like it might be in "Molex actually defends that patent" territory. Oh well. Buy them on Amazon and solder them yourself, or knock yourself out on Aliexpress. On the plus side, this means there are no through-hole parts, which will knock a day and a couple dollars off the final JLCPCB bill.
Evan Kahn 2025
| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | LED | LED_SMD:LED_0402_1005Metric | D1, D2, D3, D4, D5, D6, D7, D9 |
| 6 | TEST_PAD | TestPoint:TestPoint_Pad_1.0x1.0mm | TP1, TP2, TP3, TP4, TP5, TP6 |
| 5 | 5.1K | Resistor_SMD:R_0402_1005Metric | R5, R12, R13, R14, R15 |
| 4 | 100K | Resistor_SMD:R_0402_1005Metric | R2, R3, R7, R10 |
| 3 | 0.1uF | Capacitor_SMD:C_0402_1005Metric | C1, C4, C6 |
| 3 | 100R | Resistor_SMD:R_0402_1005Metric | R1, R4, R11 |
| 3 | 10uF | Capacitor_SMD:C_0805_2012Metric | C2, C5, C7 |
| 1 | 10K | Resistor_SMD:R_0402_1005Metric | R9 |
| 1 | 22K | Resistor_SMD:R_0402_1005Metric | R6 |
| 1 | 3401 | Package_TO_SOT_SMD:SOT-23 | Q2 |
| 1 | 4.7uH | Inductor_SMD:L_1210_3225Metric | L1 |
| 1 | 470533000 | Connector:FanPinHeader_1x04_P2.54mm_Vertical | J1 |
| 1 | 71K | Resistor_SMD:R_0402_1005Metric | R8 |
| 1 | BSS138 | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | BZT52C13 | Diode_SMD:D_SOD-123 | D8 |
| 1 | CH32X035G8U6 | footprints:QFN-28_L4.0-W4.0-P0.40-BL-EP2.8 | U1 |
| 1 | SY8201ABC | Package_TO_SOT_SMD:SOT-23-6 | U2 |
| 1 | USB_C_Receptacle_USB2.0_14P | Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J2 |
It measures 30 × 69 mm and has 2 copper layers, 1.6 mm thick.
43 parts, built around the CH32X035G8U6, SY8201ABC, BSS138 and BZT52C13. 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.
From the wormyrocks/fan-adapter repository on GitHub, at the commit this page was made from: the board is fan-adapter.kicad_pcb and its schematic fan-adapter.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask wormyrocks before reusing the design.

psas/launch-tower
CAD files and software for the launch tower computer (LTC)

Jana-Marie/MiniBee
Some smol Zigbee endpoint to integrate addressable LEDs (e.g. SK6812, WS2812) into existing smart lighting systems (e.g. Philips Hue).

eauel/openzmeter
openzmeter (oZm) is an Open Source system designed for power quality analysis and smart energy metering in power networks. It has been designed to comply with international standards IEC 61000-4-30 and EN 50160.

punkfab/pcb-corpus
235 real KiCad boards from open-source hardware repositories, prepared as a placement and routing benchmark


LeoDJ/USB-C_PD_PSU
A 5-60V bidirectional buck-boost-converter, also capable of 240W USB PD EPR (48V 5A)

AnterCreeper/pdaltmode
USB Power Delivery Alt-mode Negotiation using CH32X035

wszeto9/ESP32-S3-HUB75-Driver
This board serves as the Matrix Display driver for MIT's 2.007 gameboards in Spring 2024 and Spring 2025. The board can take 4 button inputs, Stemma-QT I2C sensors, and breaks out 8 GPIO pins for future use.