PCB Design for BLDC Control
Set Capacitance to "47nF" on C10, Set Voltage Rating to "100V" on C10, and 7 more changes
0:14
Set C10's Capacitance to "47nF"
Set C10's Voltage Rating to "100V"
Set C10's Package to "SMD_0603_1608Metric"
Set C10's Role to "Charge Pump Flying Capacitor"
Set C10's Role Details to "DRV8323 flying capacitor between CPH and CPL"
Set C21's Capacitance to "1uF"
Set C21's Voltage Rating to "16V"
Set C21's Package to "SMD_0603_1608Metric"
Set C21's Role to "VCP Bypass"
Set C21's Role Details to "DRV8323 VCP bypass capacitor from VCP to VM"
Updated 11 connections
0:36
Connected U2:CPH, C10:P1 to ^DRV_CP_FLYING_H
Connected U2:CPL, C10:P2 to ^DRV_CP_FLYING_L
Connected U2:VCP, C21:P1 to ^DRV_VCP
Connected U2:VM, C21:P2, C10:P2 to ^VIN_24V
Connected C10:P1, U2:CPL, U2:CPH to ^DRV_CP_FLYING
Connected C10:P2, R20:P2, R21:P2, R22:P2, R23:P2 to ^GND
Connected R20:P1, U4:~RXT~/GPIO.3 to ^CP2102_GPIO3_PULL
Connected R21:P1, U4:17 to ^CP2102_GPIO17_PULL
Connected R22:P1, U4:~WAKEUP to ^CP2102_WAKEUP_PULL
Connected R23:P1, U4:~CTS to ^CP2102_CTS_PULL
Disconnected C10:P1, C10:P2, C21:P1, C21:P2, U1:IO15, U1:IO16, U1:IO17, U1:IO2, R20:P1, R20:P2, R21:P1, R21:P2, R22:P1, R22:P2, R23:P1, R23:P2
nets {
net GND = D2 A - U2 PGND:GND, U2 VDRAIN - U2 VIN:GND, R23:P2, R22:P2, R21:P2, R20:P2, GND:GND, U1:15, D2:A, U5 G - L1 P2:GND, U5:3, U5:8, U2:BGND, U4 SUSPEND - U4 RXD:GND, U4:SUSPEND, U4:~SUSPEND, R17:P2, J1 SHIELD__3 - C1 P2:GND, C7:P2, Q7 E - Q8 E:GND, Q7:E, U4 GND - U5 G:GND, U4:3, U4:12, U4:21, R12 P1 - R13 P1:GND, R12:P1, C13:P2, C6:P2, Q1 S - Q2 S:GND, Q1:S, U3:GND, U1 GND - U2 PGND:GND, J1:GND, J1:GND__1, J1:SHIELD, J1:SHIELD__1, J1:SHIELD__2, J1:SHIELD__3, C14:P2, C9:P2, C2:P2, C16:P2, C17:P2, C4:P2, C8:P2, C18:P2, Q3:S, C3:P2, C12:P2, U1:47, U1:46, U1:45, U1:44, U1:43, U1:42, U1:41, U1:40, U1:39, U1:38, R13:P1, U3 DIR - R20 P1:GND, U3:DIR, U2:PGND, U2:AGND, Q8:E, C11:P2, R18:P2, C20:P2, U2:DGND, C1:P2, C5:P2, C15:P2, Q2:S, U2:EP, R16:P2, U1:1;
net 3V3 = R10:P1, C3:P1, C7:P1, R11:P1, C13:P1, C14:P1, U3:VDD3V3, U2:DVDD, D1:A, R19:P1, U3:VDD5V, C2:P1, R14:P2, U1:3V3, C9:P1, C16:P1, U2:CAL, C1:P1, L1:P2, R15:P2, C4:P1;
net Net 1 = U4:~RTS, Q7:B;
net USB_VBUS = U4:USB, J1:VBUS, J1:VBUS__1, C5:P1, C8:P1, U4:VREGIN;
net BUCK_SW = D1:K, U2:SW, C19:P2, C11:P1, L1:P1;
net SHUNT_A_HIGH = U2:SPA, R7:P1;
net VIN_24V = Q4:D, C21:P2, U2:VM, C10:P2, U2:CPL, C10:P1, U2:CPH, U2:VIN, D2:K, U2:VDRAIN, Q6:D, C6:P1, C17:P1, Q5:D, C12:P1, C18:P1;
net PHASE_A_SW = Q1:D, Q4:S, U2:SHA;
net DRV_nFAULT = U2:nFAULT, R14:P1, U1:IO34;
net UART_RX = R2:P1, U1:RXD0;
net CURR_A_KELVIN = U1:SENSOR_VP, U2:SOA;
net SHUNT_C_LOW = R9:P2, U2:SNC;
net ESP_EN = U4:VDD, R16:P1, U1:EN, Q8:C;
net CP2102_GPIO1 = U4:RS485/GPIO.1;
net ESP_BOOT = U1:IO0, R17:P1, C15:P1, Q7:C;
net USB_DP = J1:DP1, J1:DP2, U4:D+, U5:IO1;
net ENC_PGO = U3:PGO, U1:IO33;
net I2C_SDA = R10:P2, U3:SDA, U1:IO21;
net GATE_AL = R4:P1, U2:GLA;
net SPI_SCK = U2:SCLK, U1:IO18;
net CP2102_GPIO0 = U4:CLK/GPIO.0;
net USB_UART_RX = R2:P2, U4:TXD;
net PHASE_B_SW = Q2:D, U2:SHB, Q5:S;
net SHUNT_B_LOW = U2:SNB, R8:P2;
net SPI_MISO = U1:IO19, U2:SDO;
net BUCK_FB = U2:FB, R18:P1, C20:P1, R19:P2;
net GATE_BH = U2:GHB, R5:P1;
net DRV_EN = U2:nSHDN, U2:ENABLE, R15:P1, U1:IO4;
net SHUNT_A_LOW = R7:P2, U2:SNA;
net PWM_BL = U2:INLB, U1:IO14;
net I2C_SCL = R11:P2, U1:IO22, U3:SCL;
net PHASE_C_SW = Q6:S, U2:SHC, Q3:D;
net SHUNT_B_HIGH = U2:SPB, R8:P1;
net PWM_BH = U1:IO27, U2:INHB;
net GATE_BL = U2:GLB, R6:P1;
net GATE_AH = U2:GHA, R3:P1;
net BUCK_BOOT = C19:P1, U2:CB;
net SHUNT_C_HIGH = U2:SPC, R9:P1;
net PWM_AL = U1:IO26, U2:INLA;
net USB_UART_TX = R1:P2, U4:9;
net UART_TX = U1:TXD0, R1:P1;
net PWM_CH = U2:INHC, U1:IO12;
net SPI_MOSI = U1:IO23, U2:SDI;
net PWM_AH = U1:IO25, U2:INHA;
net USB_DN = U5:IO2, U4:D-, J1:DN1, J1:DN2;
net Net 2 = U4:~TXT~/GPIO.2, Q8:B;
net PWM_CL = U1:IO13, U2:INLC;
net DRV_VREF = U2:VREF;
net CURR_C_KELVIN = U1:IO35, U2:SOC;
net SPI_CS = U2:nSCS, U1:IO5;
net ENC_OUT = U1:IO32, U3:OUT;
net GATE_CH = U2:GHC;
net GATE_CL = U2:GLC;
net CURR_B_KELVIN = U2:SOB, U1:SENSOR_VN;
net DRV_VCP = U2:VCP, C21:P1;
net CP2102_GPIO3_PULL = R20:P1, U4:~RXT~/GPIO.3;
net CP2102_GPIO17_PULL = R21:P1, U4:17;
net CP2102_WAKEUP_PULL = R22:P1, U4:~WAKEUP;
net CP2102_CTS_PULL = R23:P1, U4:~CTS;
}
0:34
Updated 1 layout rule
0:10
Set Layout's boardInsetMargin to "0.2mm"
Corrected charge pump and refreshed layout
9:46
Analyzing the schematic.
Started: verifying nets and refreshing layout rules
Accessing knowledge base.
Running design review.
Working.
Searching the project.
Researching ESP32 connections.
Searching connections and conventions.
Searching 3 domains.
Search complete — 150 results across 3 domains.
No changes applied.
0:09
Updated 3 connections
0:20
Connected U2:CPH, C10:P1 to ^DRV_CP_FLYING_H
Connected U2:CPL, C10:P2 to ^DRV_CP_FLYING_L
Disconnected C10:P1 from C10:P2
nets {
net GND = D2 A - U2 PGND:GND, GND:GND, U1:15, D2:A, U5 G - L1 P2:GND, U5:3, U5:8, U2:BGND, U4 SUSPEND - U4 RXD:GND, U4:SUSPEND, U4:~SUSPEND, R17:P2, J1 SHIELD__3 - C1 P2:GND, C7:P2, U2 VDRAIN - U2 VIN:GND, R20:P2, Q7 E - Q8 E:GND, Q7:E, R21:P2, U4 GND - U5 G:GND, U4:3, U4:12, U4:21, R12 P1 - R13 P1:GND, R12:P1, C13:P2, C6:P2, Q1 S - Q2 S:GND, Q1:S, U3:GND, U1 GND - U2 PGND:GND, J1:GND, J1:GND__1, J1:SHIELD, J1:SHIELD__1, J1:SHIELD__2, J1:SHIELD__3, R22:P2, C14:P2, C9:P2, C2:P2, C16:P2, C17:P2, R23:P2, C4:P2, C8:P2, C18:P2, Q3:S, C3:P2, C12:P2, U1:47, U1:46, U1:45, U1:44, U1:43, U1:42, U1:41, U1:40, U1:39, U1:38, R13:P1, U3 DIR - R20 P1:GND, U3:DIR, U2:PGND, U2:AGND, Q8:E, C11:P2, R18:P2, C20:P2, U2:DGND, C1:P2, C5:P2, C15:P2, Q2:S, U2:EP, R16:P2, U1:1;
net 3V3 = R10:P1, C3:P1, C7:P1, R11:P1, C13:P1, C14:P1, U3:VDD3V3, U2:DVDD, D1:A, R19:P1, U3:VDD5V, C2:P1, R14:P2, U1:3V3, C9:P1, C16:P1, U2:CAL, C1:P1, L1:P2, R15:P2, C4:P1;
net VIN_24V = C21:P2, U2:VIN, D2:K, U2:VDRAIN, Q4:D, U2:VM, Q6:D, C6:P1, C17:P1, Q5:D, C12:P1, C18:P1;
net BUCK_SW = D1:K, U2:SW, C19:P2, C11:P1, L1:P1;
net SHUNT_A_HIGH = U2:SPA, R7:P1;
net PHASE_A_SW = Q1:D, Q4:S, U2:SHA;
net DRV_nFAULT = U2:nFAULT, R14:P1, U1:IO34;
net CURR_A_KELVIN = U1:SENSOR_VP, U2:SOA;
net SHUNT_C_LOW = R9:P2, U2:SNC;
net GATE_AL = R4:P1, U2:GLA;
net SPI_SCK = U2:SCLK, U1:IO18;
net PHASE_B_SW = Q2:D, U2:SHB, Q5:S;
net SHUNT_B_LOW = U2:SNB, R8:P2;
net SPI_MISO = U1:IO19, U2:SDO;
net BUCK_FB = U2:FB, R18:P1, C20:P1, R19:P2;
net GATE_BH = U2:GHB, R5:P1;
net DRV_EN = U2:nSHDN, U2:ENABLE, R15:P1, U1:IO4;
net SHUNT_A_LOW = R7:P2, U2:SNA;
net PWM_BL = U2:INLB, U1:IO14;
net PHASE_C_SW = Q6:S, U2:SHC, Q3:D;
net SHUNT_B_HIGH = U2:SPB, R8:P1;
net PWM_BH = U1:IO27, U2:INHB;
net GATE_BL = U2:GLB, R6:P1;
net GATE_AH = U2:GHA, R3:P1;
net BUCK_BOOT = C19:P1, U2:CB;
net SHUNT_C_HIGH = U2:SPC, R9:P1;
net PWM_AL = U1:IO26, U2:INLA;
net CP_HIGH = C21:P1, U2:VCP;
net PWM_CH = U2:INHC, U1:IO12;
net SPI_MOSI = U1:IO23, U2:SDI;
net PWM_AH = U1:IO25, U2:INHA;
net PWM_CL = U1:IO13, U2:INLC;
net DRV_VREF = U2:VREF;
net CURR_C_KELVIN = U1:IO35, U2:SOC;
net SPI_CS = U2:nSCS, U1:IO5;
net GATE_CH = U2:GHC;
net GATE_CL = U2:GLC;
net CURR_B_KELVIN = U2:SOB, U1:SENSOR_VN;
net DRV_CP_FLYING_H = U2:CPH, C10:P1;
net DRV_CP_FLYING_L = U2:CPL, C10:P2;
}
Updated 1 layout rule
0:09
Set Layout's sizeX to "70mm"
Set Layout's sizeY to "70mm"
Set Layout's boardShape to "circular"
Set Layout's stackup to "Standard 4 Layer (Custom)"
Set Layout's boardInsetMargin to "0.2mm"
Set Layout's keepOut to "0.2mm"
Updated 3 connections
0:15
Connected U2:CPH, C10:P1 to ^DRV_CP_FLYING_H
Connected U2:CPL, C10:P2 to ^DRV_CP_FLYING_L
Disconnected C10:P1 from C10:P2
nets {
net GND = D2 A - U2 PGND:GND, GND:GND, U1:15, D2:A, U5 G - L1 P2:GND, U5:3, U5:8, U2:BGND, U4 SUSPEND - U4 RXD:GND, U4:SUSPEND, U4:~SUSPEND, R17:P2, J1 SHIELD__3 - C1 P2:GND, C7:P2, U2 VDRAIN - U2 VIN:GND, R20:P2, Q7 E - Q8 E:GND, Q7:E, R21:P2, U4 GND - U5 G:GND, U4:3, U4:12, U4:21, R12 P1 - R13 P1:GND, R12:P1, C13:P2, C6:P2, Q1 S - Q2 S:GND, Q1:S, U3:GND, U1 GND - U2 PGND:GND, J1:GND, J1:GND__1, J1:SHIELD, J1:SHIELD__1, J1:SHIELD__2, J1:SHIELD__3, R22:P2, C14:P2, C9:P2, C2:P2, C16:P2, C17:P2, R23:P2, C4:P2, C8:P2, C18:P2, Q3:S, C3:P2, C12:P2, U1:47, U1:46, U1:45, U1:44, U1:43, U1:42, U1:41, U1:40, U1:39, U1:38, R13:P1, U3 DIR - R20 P1:GND, U3:DIR, U2:PGND, U2:AGND, Q8:E, C11:P2, R18:P2, C20:P2, U2:DGND, C1:P2, C5:P2, C15:P2, Q2:S, U2:EP, R16:P2, U1:1;
net 3V3 = R10:P1, C3:P1, C7:P1, R11:P1, C13:P1, C14:P1, U3:VDD3V3, U2:DVDD, D1:A, R19:P1, U3:VDD5V, C2:P1, R14:P2, U1:3V3, C9:P1, C16:P1, U2:CAL, C1:P1, L1:P2, R15:P2, C4:P1;
net VIN_24V = C21:P2, U2:VIN, D2:K, U2:VDRAIN, Q4:D, U2:VM, Q6:D, C6:P1, C17:P1, Q5:D, C12:P1, C18:P1;
net BUCK_SW = D1:K, U2:SW, C19:P2, C11:P1, L1:P1;
net SHUNT_A_HIGH = U2:SPA, R7:P1;
net PHASE_A_SW = Q1:D, Q4:S, U2:SHA;
net DRV_nFAULT = U2:nFAULT, R14:P1, U1:IO34;
net CURR_A_KELVIN = U1:SENSOR_VP, U2:SOA;
net SHUNT_C_LOW = R9:P2, U2:SNC;
net GATE_AL = R4:P1, U2:GLA;
net SPI_SCK = U2:SCLK, U1:IO18;
net PHASE_B_SW = Q2:D, U2:SHB, Q5:S;
net SHUNT_B_LOW = U2:SNB, R8:P2;
net SPI_MISO = U1:IO19, U2:SDO;
net BUCK_FB = U2:FB, R18:P1, C20:P1, R19:P2;
net GATE_BH = U2:GHB, R5:P1;
net DRV_EN = U2:nSHDN, U2:ENABLE, R15:P1, U1:IO4;
net SHUNT_A_LOW = R7:P2, U2:SNA;
net PWM_BL = U2:INLB, U1:IO14;
net PHASE_C_SW = Q6:S, U2:SHC, Q3:D;
net SHUNT_B_HIGH = U2:SPB, R8:P1;
net PWM_BH = U1:IO27, U2:INHB;
net GATE_BL = U2:GLB, R6:P1;
net GATE_AH = U2:GHA, R3:P1;
net BUCK_BOOT = C19:P1, U2:CB;
net SHUNT_C_HIGH = U2:SPC, R9:P1;
net PWM_AL = U1:IO26, U2:INLA;
net CP_HIGH = C21:P1, U2:VCP;
net PWM_CH = U2:INHC, U1:IO12;
net SPI_MOSI = U1:IO23, U2:SDI;
net PWM_AH = U1:IO25, U2:INHA;
net PWM_CL = U1:IO13, U2:INLC;
net DRV_VREF = U2:VREF;
net CURR_C_KELVIN = U1:IO35, U2:SOC;
net SPI_CS = U2:nSCS, U1:IO5;
net GATE_CH = U2:GHC;
net GATE_CL = U2:GLC;
net CURR_B_KELVIN = U2:SOB, U1:SENSOR_VN;
net DRV_CP_FLYING_H = U2:CPH, C10:P1;
net DRV_CP_FLYING_L = U2:CPL, C10:P2;
}
adding physical no connect markers...
0:57
Searching for components.
Started: adding physical no connect markers
Stopped due to a problem. Please try again.
Welcome 👋
Flux helps you build PCBs faster with an AI teammate!
Create your account to collaborate, stay updated, fork your own version, and get instant answers from our AI agent.