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

No files yet

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