
Twin GaN VESC
NovaPrime18/Twin-GaN
Twin motordriver with GaN powerstages, compatible with VESC-Tool

VESC Compatible 230VAC BLDC Driver
CompressorController is an open-source printed circuit board by NovaPrime18, from the NovaPrime18/CompressorController repository on GitHub, published under the CERN-OHL-S-2.0 licence. It is a 4-layer board of 206.9 × 120 mm with 276 parts on 199 nets, routed with 1,347 tracks and 503 vias.
It is built around the INA240A1D, ADUM1201ARZ-RL7 and 74LVC1G66GW, with the TJA1051TK/3/1, IPL60R185C7 and MMSD914 among its other parts. Its parts include 101 resistors, 87 capacitors, 17 diodes, 12 ICs and 5 transistors. It belongs with the robots and motor control boards of this library.
HVAC VESC — A mains-powered, VESC-compatible three-phase motor driver with active Power Factor Correction, built for compressor and HVAC applications.
![]() | ![]() |
This project is an open-hardware, mains-powered (230 V AC) three-phase motor driver that is fully compatible with the VESC firmware ecosystem. It targets compressor and HVAC drive applications and is designed with grid compliance in mind, featuring active Power Factor Correction (PFC) to meet IEC 61000-3-2 harmonic emission limits.
The board takes 230 V AC directly from the mains, rectifies it to a high-voltage DC bus, and drives a three-phase motor through an Infineon IKCM10H60 Intelligent Power Module. A VESC Express (ESP32) module provides wireless connectivity and acts as the CAN/Wi-Fi/BT bridge, while an STM32F405 runs the VESC motor-control firmware.
| Feature | Details |
|---|---|
| Input | 230 V AC single-phase mains |
| HV Bus | Rectified DC bus (~325 V DC nominal) |
| Power Bridge | Infineon IKCM10H60GAXKMA1 IPM — 10 A / 600 V, integrated gate drivers & bootstrap |
| Active PFC | Texas Instruments UCC28180D — CCM PFC controller |
| MCU | STMicroelectronics STM32F405RGTx running VESC firmware |
| Connectivity | VESC Express (ESP32) — Wi-Fi, Bluetooth & CAN bridge |
| USB | USB Type-C (programming / configuration) |
| CAN Bus | Dual isolated CAN interfaces |
| Debug | Tag-Connect SWD header |
| Status LEDs | Red & Green indicators |
| License | CERN Open Hardware Licence v2 |
230 V AC
│
┌───────▼────────┐
│ Power in │ EMI filter, inrush, rectifier
│ (powerin.sch) │
└───────┬────────┘
│ HV DC Bus (~325 V)
┌───────▼────────┐
│ Active PFC │ UCC28180D — CCM boost PFC
│ (pfc.sch) │ IEC 61000-3-2 compliant
└───────┬────────┘
│ Regulated HV Bus
┌───────▼────────┐
│ 3-Phase IPM │ IKCM10H60GAXKMA1
│ (phases.sch) │ 10 A / 600 V, 3-phase bridge
└───────┬────────┘
│ U / V / W
Motor / Compressor
┌──────────────────────────────────────────┐
│ Control Domain │
│ │
│ STM32F405 ◄──► Isolator ◄──► IPM │
│ (VESC FW) (iso.sch) gate sigs │The design is split into focused sub-sheets for clarity and reuse:
| Sheet | File | Description |
|---|---|---|
| Top-level | CompressorController.kicad_sch | Connectors, indicators, sheet assembly |
| MCU | MCU.kicad_sch | STM32F405RGTx, crystal, decoupling, SWD |
| PFC | pfc.kicad_sch | UCC28180D active PFC stage |
| Power in | powerin.kicad_sch | Mains input, EMI filter, bridge rectifier |
| Phases | phases.kicad_sch | IKCM10H60 IPM, current sensing |
| Filters | filters.kicad_sch | ADC anti-aliasing for current & voltage signals |
| Isolator | isolator.kicad_sch | Gate-signal and fault isolation barrier |
| LV Power | lvpower.kicad_sch | 3.3 V / 5 V low-voltage power supply |
| WiFi & BT | express.kicad_sch | VESC Express (ESP32) module |
| CAN | can.kicad_sch | Isolated CAN transceivers |
This board is designed to run the open-source VESC firmware and is configurable via VESC Tool.
Motor parameters, PID gains, current limits, and field-weakening are all configured through VESC Tool over USB-C or wirelessly via the onboard VESC Express (Wi-Fi / BLE).
This design is being developed with the following standards in scope:
| Standard | Scope |
|---|---|
| IEC 61000-3-2 | Harmonic current emission limits (primary — addressed by active PFC) |
| IEC 60335-2-34 | Particular requirements for motor-compressors |
| EN IEC 63000 | RoHS technical documentation |
⚠️ Note: This is an open hardware design. Regulatory certification (CE marking) must be obtained by the integrating party before placing the product on the EU market. The presence of PFC significantly aids IEC 61000-3-2 Class A/D compliance but does not guarantee it without verified measurement.
⚡ HIGH VOLTAGE — MAINS POWERED
This board operates at lethal voltages. The HV DC bus reaches approximately 325–400 V DC from rectified mains. Do not touch the board while powered. Ensure adequate enclosure, creepage/clearance distances, and fusing when integrating into a product. Only qualified persons should work on mains-connected equipment.
This project is released under the CERN Open Hardware Licence Version 2 – Strongly Reciprocal (CERN-OHL-S v2).
You may study, modify, and distribute this design, provided that any derivative works are released under the same licence and that attribution to the original authors is maintained.
© Picobello B.V. — see LICENSE for full terms.
Issues, improvements, and pull requests are welcome. Please open an issue before submitting large changes so the direction can be aligned first.
When contributing hardware changes, include updated schematics (KiCad 10 .kicad_sch format) and a description of what was changed and why.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 37 | 100nF | Capacitor_SMD:C_0603_1608Metric | C1, C3, C13, C14, C15, C16, C17, C19, C24, C25, C26, C29, C30, C32, C33, C35 +21 |
| 24 | 10k | Resistor_SMD:R_0603_1608Metric | R6, R11, R19, R20, R21, R22, R23, R24, R44, R45, R46, R47, R48, R49, R50, R56 +8 |
| 12 | 200k | Resistor_SMD:R_1206_3216Metric | R29, R30, R31, R33, R34, R35, R37, R38, R39, R84, R85, R86 |
| 12 | 22 | Resistor_SMD:R_0603_1608Metric | R1, R4, R5, R13, R14, R15, R16, R17, R18, R42, R43, R79 |
| 9 | 1k | Resistor_SMD:R_0603_1608Metric | R2, R3, R25, R67, R72, R78, R80, R96, R100 |
| 7 | 10uF | Capacitor_SMD:C_0805_2012Metric | C2, C8, C34, C41, C46, C55, C65 |
| 7 | 1nF | Capacitor_SMD:C_0603_1608Metric | C23, C27, C49, C59, C67, C68, C70 |
| 7 | 220uF | Capacitor_SMD:CP_Elec_10x10 | C78, C80, C81, C85, C86, C87, C88 |
| 6 | 74LVC1G66 | Package_TO_SOT_SMD:SOT-353_SC-70-5 | U10, U11, U12, U13, U14, U17 |
| 5 | 221k | Resistor_SMD:R_1206_3216Metric | R60, R92, R93, R94, R95 |
| 4 | 2.2nF | Capacitor_THT:C_Disc_D10.5mm_W5.0mm_P7.50mm | C39, C40, C42, C43 |
| 4 | 220 | Resistor_SMD:R_0603_1608Metric | R12, R41, R68, R81 |
| 4 | 3.16k | Resistor_SMD:R_0805_2012Metric | R32, R36, R40, R87 |
| 4 | 332k | Resistor_SMD:R_1206_3216Metric | R62, R63, R88, R89 |
| 4 | 340k | Resistor_SMD:R_1206_3216Metric | R57, R58, R64, R90 |
| 4 | Green | LED_SMD:LED_0603_1608Metric | D2, D10, D15, D20 |
| 4 | MountingHole | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 3 | 1 | Resistor_SMD:R_1206_3216Metric | R75, R99, R102 |
| 3 | 100k | Resistor_SMD:R_1206_3216Metric | R53, R54, R55 |
| 3 | 10uF | Capacitor_SMD:C_1206_3216Metric | C20, C21, C22 |
| 3 | 15nF | Capacitor_SMD:C_0603_1608Metric | C48, C57, C66 |
| 3 | 2 | Resistor_SMD:R_1206_3216Metric | R74, R98, R101 |
| 3 | 2.2uF | Capacitor_SMD:C_0603_1608Metric | C9, C10, C18 |
| 3 | 220uF | Capacitor_THT:CP_Radial_D30.0mm_P10.00mm_SnapIn | C72, C73, C75 |
| 3 | 50mR | Resistor_SMD:R_1206_3216Metric | R97, R103, R104 |
| 3 | INA240A1D | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U3, U4, U5 |
| 3 | IPL60R185C7 | ThommysLib:VSON-4_L8.1-W8.1-P2.00-BL | Q3, Q4, Q5 |
| 3 | MMSD914 | Diode_SMD:D_SOD-123 | D13, D18, D19 |
| 2 | 0.5A | Resistor_SMD:R_0805_2012Metric | F1, F2 |
| 2 | 0.68uF | Capacitor_THT:C_Rect_L18.0mm_W9.0mm_P15.00mm_FKS3_FKP3 | C38, C44 |
| 2 | 15pF | Capacitor_SMD:C_0603_1608Metric | C11, C12 |
| 2 | 600R@100MHz | Inductor_SMD:L_0603_1608Metric | FB1, FB2 |
| 2 | 68uH 2A | Inductor_SMD:L_KOHERelec_MDA7030 | L3, L4 |
| 2 | BAV16W | Diode_SMD:D_SOD-123 | D3, D4 |
| 2 | Connector, USB-TYPE-C-16P | PCM_JLCPCB:TYPE-C-SMD_HX-TYPE-C-16PIN | J6, J7 |
| 2 | DSK22 | PCM_JLCPCB:D_SOD-123FL | D16, D21 |
| 2 | KMR211NGLFS | Button_Switch_SMD:SW_Push_1P1T_NO_CK_KMR2 | SW1, SW2 |
| 2 | M7 | PCM_JLCPCB:D_SMA | D7, D8 |
| 2 | PDMCAT221413-502MLB | ThommysLib:IND-TH_4P-L28.0-W18.5_C2924777 | FL1, FL2 |
| 2 | TJA1051TK-3 | Package_SON:HVSON-8-1EP_3x3mm_P0.65mm_EP1.6x2.4mm | U2, U7 |
| 1 | 0.02 | Resistor_SMD:R_2512_6332Metric | R70 |
| 1 | 0.2 | Resistor_SMD:R_2512_6332Metric | R69 |
| 1 | 1.5uF | Capacitor_THT:C_Rect_L24.0mm_W10.1mm_P22.50mm_MKT | C51 |
| 1 | 10 | ThommysLib:RES-TH_BD9.0-L36.5-P40.50-D0.8 | R52 |
| 1 | 100 | Resistor_SMD:R_1206_3216Metric | R51 |
| 1 | 13.7k | Resistor_SMD:R_0603_1608Metric | R66 |
| 1 | 13k | Resistor_SMD:R_0603_1608Metric | R91 |
| 1 | 16A | ThommysLib:FUSE-TH_L29.0-W10.0_XF-103 | F3 |
| 1 | 1N4148WS | Diode_SMD:D_SOD-323 | D5 |
| 1 | 1N5406 | Diode_THT:D_DO-201AD_P15.24mm_Horizontal | D12 |
| 1 | 1uF | Capacitor_SMD:C_0603_1608Metric | C31 |
| 1 | 1uF | Capacitor_SMD:C_0805_2012Metric | C37 |
| 1 | 2.7nF | Capacitor_SMD:C_0603_1608Metric | C54 |
| 1 | 21.5k | Resistor_SMD:R_0603_1608Metric | R71 |
| 1 | 21k | Resistor_SMD:R_1206_3216Metric | R59 |
| 1 | 22*10*25 | ThommysLib:HEATSINK-TH_L22.0-W9.8-P14.00-D2.2 | HS1 |
| 1 | 23.7k | Resistor_SMD:R_0603_1608Metric | R73 |
| 1 | 230VAC In | Connector_Phoenix_GMSTB:PhoenixContact_GMSTB_2,5_3-GF-7,62_1x03_P7.62mm_Horizontal_ThreadedFlange_MountHole | J3 |
| 1 | 2N7002 | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | 330pF | Capacitor_SMD:C_1206_3216Metric | C69 |
| 1 | 330uH | ThommysLib:IND-TH_L33.0-W15.6-P15.00-D1.5 | L2 |
| 1 | 390nF | Capacitor_SMD:C_0603_1608Metric | C62 |
| 1 | 3V3 | TestPoint:TestPoint_Pad_D1.5mm | TP2 |
| 1 | 4.7 | Resistor_SMD:R_0603_1608Metric | R10 |
| 1 | 4.7uF | Capacitor_SMD:C_0603_1608Metric | C61 |
| 1 | 43 | Resistor_SMD:R_2512_6332Metric | R77 |
| 1 | 470nF | Capacitor_SMD:C_2220_5750Metric | C28 |
| 1 | 5V | TestPoint:TestPoint_Pad_D1.5mm | TP1 |
| 1 | 820pF | Capacitor_SMD:C_0603_1608Metric | C76 |
| 1 | 8M | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm | Y1 |
| 1 | ACSense | TestPoint:TestPoint_Pad_D1.5mm | TP6 |
| 1 | ADUM1201ARZ-RL7 | PCM_JLCPCB:SOIC-8_L4.9-W3.9-P1.27-LS6.0-BL | U9 |
| 1 | B72214S2271K101 | Varistor:RV_Disc_D12mm_W5.4mm_P7.5mm | RV1 |
| 1 | BAT54J | Diode_SMD:D_SOD-323F | D11 |
| 1 | BC847C | PCM_JLCPCB:Q_SOT-23 | Q2 |
| 1 | BZX384‐C12,115 | Diode_SMD:D_SOD-323 | D6 |
| 1 | CAN | Connector_Phoenix_MC:PhoenixContact_MC_1,5_4-G-3.5_1x04_P3.50mm_Horizontal | J1 |
| 1 | Curr_U | TestPoint:TestPoint_Pad_D1.5mm | TP7 |
| 1 | Curr_V | TestPoint:TestPoint_Pad_D1.5mm | TP8 |
| 1 | Curr_W | TestPoint:TestPoint_Pad_D1.5mm | TP9 |
The 251 most common of 276 parts.
It measures 206.9 × 120 mm and has 4 copper layers, 1.6 mm thick.
276 parts, built around the INA240A1D, ADUM1201ARZ-RL7, 74LVC1G66GW and TJA1051TK/3/1. 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 NovaPrime18/CompressorController repository on GitHub, at the commit this page was made from: the board is Hardware/CompressorController.kicad_pcb and its schematic Hardware/CompressorController.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the CERN-OHL-S-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

NovaPrime18/Twin-GaN
Twin motordriver with GaN powerstages, compatible with VESC-Tool


darren4141/darrenliusite2
check out my website/portfolio @ https://darren4141.github.io/darrenliusite2/index.html



antmicro/snapdragon-845-baseboard
https://antmicro.com/blog/2022/04/open-source-snapdragon-845-baseboard/

antmicro/jetson-agx-thor-baseboard
Open hardware baseboard for Nvidia Jetson Thor AGX T5000 System on Module
bastian2001/Kolibri-FC-Hardware
Hardware for the Kolibri Flight Controller. 30mm/20mm FC with RP2350 + ELRS onboard