Skip to the content
PCBKitNew board
4 layers206.9 × 120 mmCompressorController, the printed circuit board in 3D

VESC Compatible 230VAC BLDC Driver

Size
206.9 × 120 mm
Copper layers
4
Thickness
1.6 mm
Parts
276
Nets
199
Pads
820
Tracks, vias
1,347, 503
Pours
5
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
3 Apr 2026
Updated
7 Aug 2026

Overview

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.

Main components

12

README

README.md

Mains Powered Motor Driver

HVAC VESC — A mains-powered, VESC-compatible three-phase motor driver with active Power Factor Correction, built for compressor and HVAC applications.

License: CERN-OHL VESC Compatible KiCad Revision [blocked]



Overview

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.


Key Features

FeatureDetails
Input230 V AC single-phase mains
HV BusRectified DC bus (~325 V DC nominal)
Power BridgeInfineon IKCM10H60GAXKMA1 IPM — 10 A / 600 V, integrated gate drivers & bootstrap
Active PFCTexas Instruments UCC28180D — CCM PFC controller
MCUSTMicroelectronics STM32F405RGTx running VESC firmware
ConnectivityVESC Express (ESP32) — Wi-Fi, Bluetooth & CAN bridge
USBUSB Type-C (programming / configuration)
CAN BusDual isolated CAN interfaces
DebugTag-Connect SWD header
Status LEDsRed & Green indicators
LicenseCERN Open Hardware Licence v2

Block Diagram

text
         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 │

Schematic Hierarchy

The design is split into focused sub-sheets for clarity and reuse:

SheetFileDescription
Top-levelCompressorController.kicad_schConnectors, indicators, sheet assembly
MCUMCU.kicad_schSTM32F405RGTx, crystal, decoupling, SWD
PFCpfc.kicad_schUCC28180D active PFC stage
Power inpowerin.kicad_schMains input, EMI filter, bridge rectifier
Phasesphases.kicad_schIKCM10H60 IPM, current sensing
Filtersfilters.kicad_schADC anti-aliasing for current & voltage signals
Isolatorisolator.kicad_schGate-signal and fault isolation barrier
LV Powerlvpower.kicad_sch3.3 V / 5 V low-voltage power supply
WiFi & BTexpress.kicad_schVESC Express (ESP32) module
CANcan.kicad_schIsolated CAN transceivers

Firmware

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).


Regulatory Compliance Targets

This design is being developed with the following standards in scope:

StandardScope
IEC 61000-3-2Harmonic current emission limits (primary — addressed by active PFC)
IEC 60335-2-34Particular requirements for motor-compressors
EN IEC 63000RoHS 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.


Safety Warnings

⚡ 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.


License

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.


Contributing

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.

Parts

276
QtyValueFootprintReferences
37100nFCapacitor_SMD:C_0603_1608MetricC1, C3, C13, C14, C15, C16, C17, C19, C24, C25, C26, C29, C30, C32, C33, C35 +21
2410kResistor_SMD:R_0603_1608MetricR6, R11, R19, R20, R21, R22, R23, R24, R44, R45, R46, R47, R48, R49, R50, R56 +8
12200kResistor_SMD:R_1206_3216MetricR29, R30, R31, R33, R34, R35, R37, R38, R39, R84, R85, R86
1222Resistor_SMD:R_0603_1608MetricR1, R4, R5, R13, R14, R15, R16, R17, R18, R42, R43, R79
91kResistor_SMD:R_0603_1608MetricR2, R3, R25, R67, R72, R78, R80, R96, R100
710uFCapacitor_SMD:C_0805_2012MetricC2, C8, C34, C41, C46, C55, C65
71nFCapacitor_SMD:C_0603_1608MetricC23, C27, C49, C59, C67, C68, C70
7220uFCapacitor_SMD:CP_Elec_10x10C78, C80, C81, C85, C86, C87, C88
674LVC1G66Package_TO_SOT_SMD:SOT-353_SC-70-5U10, U11, U12, U13, U14, U17
5221kResistor_SMD:R_1206_3216MetricR60, R92, R93, R94, R95
42.2nFCapacitor_THT:C_Disc_D10.5mm_W5.0mm_P7.50mmC39, C40, C42, C43
4220Resistor_SMD:R_0603_1608MetricR12, R41, R68, R81
43.16kResistor_SMD:R_0805_2012MetricR32, R36, R40, R87
4332kResistor_SMD:R_1206_3216MetricR62, R63, R88, R89
4340kResistor_SMD:R_1206_3216MetricR57, R58, R64, R90
4GreenLED_SMD:LED_0603_1608MetricD2, D10, D15, D20
4MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
31Resistor_SMD:R_1206_3216MetricR75, R99, R102
3100kResistor_SMD:R_1206_3216MetricR53, R54, R55
310uFCapacitor_SMD:C_1206_3216MetricC20, C21, C22
315nFCapacitor_SMD:C_0603_1608MetricC48, C57, C66
32Resistor_SMD:R_1206_3216MetricR74, R98, R101
32.2uFCapacitor_SMD:C_0603_1608MetricC9, C10, C18
3220uFCapacitor_THT:CP_Radial_D30.0mm_P10.00mm_SnapInC72, C73, C75
350mRResistor_SMD:R_1206_3216MetricR97, R103, R104
3INA240A1DPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU3, U4, U5
3IPL60R185C7ThommysLib:VSON-4_L8.1-W8.1-P2.00-BLQ3, Q4, Q5
3MMSD914Diode_SMD:D_SOD-123D13, D18, D19
20.5AResistor_SMD:R_0805_2012MetricF1, F2
20.68uFCapacitor_THT:C_Rect_L18.0mm_W9.0mm_P15.00mm_FKS3_FKP3C38, C44
215pFCapacitor_SMD:C_0603_1608MetricC11, C12
2600R@100MHzInductor_SMD:L_0603_1608MetricFB1, FB2
268uH 2AInductor_SMD:L_KOHERelec_MDA7030L3, L4
2BAV16WDiode_SMD:D_SOD-123D3, D4
2Connector, USB-TYPE-C-16PPCM_JLCPCB:TYPE-C-SMD_HX-TYPE-C-16PINJ6, J7
2DSK22PCM_JLCPCB:D_SOD-123FLD16, D21
2KMR211NGLFSButton_Switch_SMD:SW_Push_1P1T_NO_CK_KMR2SW1, SW2
2M7PCM_JLCPCB:D_SMAD7, D8
2PDMCAT221413-502MLBThommysLib:IND-TH_4P-L28.0-W18.5_C2924777FL1, FL2
2TJA1051TK-3Package_SON:HVSON-8-1EP_3x3mm_P0.65mm_EP1.6x2.4mmU2, U7
10.02Resistor_SMD:R_2512_6332MetricR70
10.2Resistor_SMD:R_2512_6332MetricR69
11.5uFCapacitor_THT:C_Rect_L24.0mm_W10.1mm_P22.50mm_MKTC51
110ThommysLib:RES-TH_BD9.0-L36.5-P40.50-D0.8R52
1100Resistor_SMD:R_1206_3216MetricR51
113.7kResistor_SMD:R_0603_1608MetricR66
113kResistor_SMD:R_0603_1608MetricR91
116AThommysLib:FUSE-TH_L29.0-W10.0_XF-103F3
11N4148WSDiode_SMD:D_SOD-323D5
11N5406Diode_THT:D_DO-201AD_P15.24mm_HorizontalD12
11uFCapacitor_SMD:C_0603_1608MetricC31
11uFCapacitor_SMD:C_0805_2012MetricC37
12.7nFCapacitor_SMD:C_0603_1608MetricC54
121.5kResistor_SMD:R_0603_1608MetricR71
121kResistor_SMD:R_1206_3216MetricR59
122*10*25ThommysLib:HEATSINK-TH_L22.0-W9.8-P14.00-D2.2HS1
123.7kResistor_SMD:R_0603_1608MetricR73
1230VAC InConnector_Phoenix_GMSTB:PhoenixContact_GMSTB_2,5_3-GF-7,62_1x03_P7.62mm_Horizontal_ThreadedFlange_MountHoleJ3
12N7002Package_TO_SOT_SMD:SOT-23Q1
1330pFCapacitor_SMD:C_1206_3216MetricC69
1330uHThommysLib:IND-TH_L33.0-W15.6-P15.00-D1.5L2
1390nFCapacitor_SMD:C_0603_1608MetricC62
13V3TestPoint:TestPoint_Pad_D1.5mmTP2
14.7Resistor_SMD:R_0603_1608MetricR10
14.7uFCapacitor_SMD:C_0603_1608MetricC61
143Resistor_SMD:R_2512_6332MetricR77
1470nFCapacitor_SMD:C_2220_5750MetricC28
15VTestPoint:TestPoint_Pad_D1.5mmTP1
1820pFCapacitor_SMD:C_0603_1608MetricC76
18MCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
1ACSenseTestPoint:TestPoint_Pad_D1.5mmTP6
1ADUM1201ARZ-RL7PCM_JLCPCB:SOIC-8_L4.9-W3.9-P1.27-LS6.0-BLU9
1B72214S2271K101Varistor:RV_Disc_D12mm_W5.4mm_P7.5mmRV1
1BAT54JDiode_SMD:D_SOD-323FD11
1BC847CPCM_JLCPCB:Q_SOT-23Q2
1BZX384‐C12,115Diode_SMD:D_SOD-323D6
1CANConnector_Phoenix_MC:PhoenixContact_MC_1,5_4-G-3.5_1x04_P3.50mm_HorizontalJ1
1Curr_UTestPoint:TestPoint_Pad_D1.5mmTP7
1Curr_VTestPoint:TestPoint_Pad_D1.5mmTP8
1Curr_WTestPoint:TestPoint_Pad_D1.5mmTP9

The 251 most common of 276 parts.

Questions

How big is the CompressorController PCB?

It measures 206.9 × 120 mm and has 4 copper layers, 1.6 mm thick.

What parts does the CompressorController use?

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.

Where can I download the CompressorController KiCad files?

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.

Can I use the CompressorController design in my own project?

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).

Similar boards

  • 4 layers99 × 99 mmTwin GaN VESC, the printed circuit board in 3D

    Twin GaN VESC

    NovaPrime18/Twin-GaN

    Twin motordriver with GaN powerstages, compatible with VESC-Tool

    325 partsCERN-OHL-S-2.0
  • 2 layers128 × 80 mmModularLabPSU, the printed circuit board in 3D

    ModularLabPSU

    tom-biskupic/LabPSU

    Open Source Lab Power Supply

    146 parts33
  • 4 layers55 × 60 mmPiComputeModuleBreakout, the printed circuit board in 3D

    PiComputeModuleBreakout

    darren4141/darrenliusite2

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

    131 parts
  • 4 layers155.5 × 81.5 mmIo gateway, the printed circuit board in 3D

    Io gateway

    LukiBa/RS485-IO-Extension

    229 partsGPL-3.0
  • 2 layers27.7 × 53.8 mmUnfancyRemote, the printed circuit board in 3D

    UnfancyRemote

    kitspace-test-repos/kicad6-file-collection

    43 partsMIT
  • 6 layers100 × 70 mmSa800u baseboard hw, the printed circuit board in 3D

    Sa800u baseboard hw

    antmicro/snapdragon-845-baseboard

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

    616 parts70Apache-2.0
  • 10 layers180 × 100 mmJetson agx thor baseboard, the printed circuit board in 3D

    Jetson agx thor baseboard

    antmicro/jetson-agx-thor-baseboard

    Open hardware baseboard for Nvidia Jetson Thor AGX T5000 System on Module

    1,213 parts48Apache-2.0
  • 6 layers35 × 35 mmPixel, the printed circuit board in 3D

    Pixel

    bastian2001/Kolibri-FC-Hardware

    Hardware for the Kolibri Flight Controller. 30mm/20mm FC with RP2350 + ELRS onboard

    145 parts8GPL-3.0