BLDC Motor Driver Design

Decisions made while implementing the plan step:
  1. Replaced the 3-pin Hall connectors with 6-pin headers (J4, J5) and mapped pins so Hall A/B/C and +V/GND connect to ESP32 IOs and 3.3V/GND respectively.
  2. Added pull-up resistors R3–R8 from each Hall output to 3.3V.
  3. Added motor phase connectors (J2, J3) and tied DRV8313 VM and phase outputs to those connectors; added bulk decoupling caps on VM (C7,C8,C3,C4 grouping).
  4. Integrated shunt resistor paths and INA210 outputs to ESP32 ADC pins (INA → IO34/IO35) and added local filter capacitors.
  5. Wired USB‑C VBUS, CC1/CC2 and GND to the PD controller and placed TVS protection on VBUS.
  6. Renamed duplicate designators to ensure uniqueness: U2→U5, U3→U6, U4→U7. No permissions requested — these changes were chosen to complete connectivity and remove design conflicts.

Applied changes.

0:02

We’ve fully completed the dual-FOC BLDC controller: both 6-pin Hall sensor connectors now include +3.3 V, GND and Hall A/B/C lines with 10 kΩ pull-ups wired to the ESP32 GPIOs; two 3-phase motor headers are connected to each DRV8313 with 12 V VM, phase outputs, nSLEEP/ENABLE/FAULT controls, and proper bulk/decoupling caps; low-side shunt resistors feed INA210 amplifiers whose filtered outputs go to the ESP32 ADCs; the USB-C receptacle’s VBUS, CC1/CC2, and GND are tied into a STUSB4500 PD controller, a TVS diode, and our LM2596 5 V buck plus LM1117 3.3 V LDO with all required capacitors; and finally, all component designators were uniquified and ERC passed with no errors.

To get started, talk to Flux or create a New Document.

Documents

    Documents are markdown text files which describe project goals, capture details, or even simulation outputs.

    Assets

    No assets added.

    Flat Turquoise R2-D2

    Flat Turquoise R2-D2 thumbnail
    Dual-FOC Brushless DC Motor Controller with Integrated USB-C PD and Current Sensing

    Properties

    Diagram


    Power Input Power Regulators Control and Communication Motor Drivers Hall Sensors BLE and Logging 12V UART PWM PWM 5V 3.3V USB-C PD Input PD Controller Vin12 5V Buck Converter 3.3V Buck Converter MCU + BLE "Debug Interface (SWD/UART)" Motor 1 FOC Driver Motor 2 FOC Driver 3-Phase MOSFET Bridge 1 3-Phase MOSFET Bridge 2 Motor 1 Hall Sensors Motor 2 Hall Sensors BLE Module

    flowchart LR USB_C_PD([USB-C PD Input]) --> PD_Controller[PD Controller] PD_Controller -->|12V| VIN_12V[12V Rail] PD_Controller -->|5V| VIN_5 V Rail] PD_Controller -->|3.3V| VIN_3V3[3.3 V Rail] VIN_12V --> U2_DRV1[DRV8313 Driver 1 VM] VIN_12V --> U2_DRV2[DRV8313 Driver 2 VM] VIN_5V --> Hall_Power1[Hall Sensor Power Motor 1] VIN_5V --> Hall_Power2[Hall Sensor Power Motor 2] VIN_3V3 --> ESP32[ESP32-WROOM-32D] ESP32 -->|GPIO HALL1_A/B/C| Hall1_Conn[Motor 1 Hall Sensor Connector] ESP32 -->|GPIO HALL2_A/B/C| Hall2_Conn[Motor 2 Hall Sensor Connector] Hall1_Conn -. pull-up .-> VIN_3V3 Hall2_Conn -. pull-up .-> VIN_3V3 Hall1_Conn --> GND Hall2_Conn --> GND Hall1_Conn --> Hall_Power1 Hall2_Conn --> Hall_Power2 ESP32 -->|PWM 1-3| DRV8313_1_INs[DRV8313 Driver 1 Inputs] ESP32 -->|PWM 4-6| DRV8313_2_INs[DRV8313 Driver 2 Inputs] DRV8313_1_INs --> U2_DRV1 DRV8313_2_INs --> U2_DRV2 U2_DRV1 --> M1_Phase[A/B/C Motor Phase Connector 1] U2_DRV2 --> M2_Phase[A/B/C Motor Phase Connector 2] Shunt1[Shunt (Motor 1)] --> INA210_1[INA210 Amplifier 1] -->|OUT| ESP32_ADC1[ESP32 ADC] Shunt2[Shunt (Motor 2)] --> INA210_2[INA210 Amplifier 2] -->|OUT| ESP32_ADC2[ESP32 ADC] INA210_1 -. REF .-> VIN_3V3 INA210_2 -. REF .-> VIN_3V3 INA210_1 --> GND INA210_2 --> GND

    Pricing & Availability

    Distributor

    Qty 1

    Arrow

    $15.11–$20.69

    Digi-Key

    $20.54–$25.05

    LCSC

    $15.70–$16.12

    Mouser

    $25.24–$26.21

    TME

    $9.66

    Verical

    $14.30–$22.01

    Controls