

Moco bkd8316
PMSM/BLDC motor controller/driver PCBs
- Size
- 35.5 × 41 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 50
- Nets
- 37
- Pads
- 216
- Tracks, vias
- 234, 131
- Pours
- 8
- Routed
- Yes
- KiCad
- KiCad 7 (file 20221018)
- Created
- 7 Dec 2022
- Updated
- 18 May 2024
Overview
Moco bkd8316 is an open-source printed circuit board by ziteh, from the ziteh/moco repository on GitHub, published under the CERN-OHL-P-2.0 licence. It is a 2-layer board of 35.5 × 41 mm with 50 parts on 37 nets, routed with 234 tracks and 131 vias.
Its parts include 18 capacitors, 10 resistors, 7 connectors, 1 IC and 1 diode. It belongs with the robots and motor control boards and the STM32 boards of this library.
README
hardware/moco-rd321/readme.mdmoco-RD321
- 6.7V~35V, 12A
- 3-Phase low-side current sensing. OP-Amp Gain=6.74, Shunt resistor=20mΩ
- Overcurrent detection. Ith=30A @ OC_COMPth=500mV
- Input voltage sensing
- 32x32mm square PCB, 4xM2 mounting holes
- STSPIN32F0A 3-phase gate driver with embdded MCU SiP
- STM32F031C6 48MHz, 4KB SRAM, 32KB Flash
- 600mA sink/source gate drivers, integrated bootstrap diodes
- 12V LDO and 3.3V buck
- SiZ250DT Dual N-MOSFET, 60V, 38A, 3.3x3.3mm
- MA702 magnetic encoder, SPI
- 2x04 2.54mm Pin header for debug, JST SM03B-SRSS-TB 1x03 for Serial and I2C
Pinmap
| Description | Analog IC | STM32 | STM32 Func |
|---|---|---|---|
| High-side U | HS1 | PA8 | TIM1_CH1 |
| High-side V | HS2 | PA9 | TIM1_CH2 |
| High-side W | HS3 | PA10 | TIM1_CH3 |
| Low-side U | LS1 | PB13 | TIM1_CH1N |
| Low-side V | LS2 | PB14 | TIM1_CH2N |
| Low-side W | LS3 | PB15 | TIM1_CH3N |
| OC threshold select 1 | OC_TH_STBY1 | PF7 | Push-pull output |
| OC threshold select 2 | OC_TH_STBY2 | PF6 | Push-pull output |
| OC protection selection | OC_SEL | PA11 | Push-pull output |
| OC comparator output | OC_COMP_INT | PB12 | TIM1_BKIN |
| OC comparator output | OC_COMP_INT2 | PA12 | TIM1_ETR |
| Current sense U | OP3O | PA0 | ADC_IN0 |
| Current sense V | OP2O | PA1 | ADC_IN1 |
| Current sense W | OP1O | PB1 | ADC_IN9 |
| VM sense | -- | PA4 | ADC_IN4 |
| SPI SCLK | -- | PA5 | SPI1 |
| SPI MISO | -- | PA6 | SPI1 |
| SPI MOSI | -- | PA7 | SPI1 |
| SPI nCS MA702 | -- | PA15 | |
| USART Tx | -- | PA2 | USART1 |
| USART Rx | -- | PA3 | USART1 |
| I2C SCL | -- | PB6 | I2C1 |
| I2C SDA | -- | PB7 | I2C1 |
| SWDIO | -- | PA13 | |
| SWCLK | -- | PA14 | |
| Connected to GND | -- | BOOT0 | |
| User LED (Red) | -- | PF0 | Active HIGH |
| 12V indicator LED (Blue) | -- | -- |
- Unused GPIOs inside the package should be config to output low: PB0, PB2, PB3, PB4, PB5, PB8, PB9, PB10, PB11, PC13, PC14, PC15.
- OC_TH_STBY1 and OC_TH_STBY2 should be HIGH for 500mV OC threshold.
- For analog IC, the GPIO input config without pull-up or -down is always allowed.
PCB
Jumper
If input voltage (i.e. VM)<15V then close SB1 to connect VM pin and VREG12 pin.
Board Characteristics
- Copper layer count: 4
- Board overall dimensions: 32 x 32 mm
- Min track/spacing: 0.13 mm / 0.13 mm
- Min hole diameter: 0.3 mm
- Castellated pads: No
- Edge card connectors: No
- Plated board edge: No
- 1oz copper
SPI
MA702 encoder SPI:
- Mode:
- 0 (CPOL=0, CPHA=0) or 1 (CPOL=1, CPHA=1)
- Data sampled on first edge
- 16-bit data frame
- MSB first
- nCS pin active low
- 25MHz clock
MCU
| STSPIN32x | F0 | F0A | F0B |
|---|---|---|---|
| Operating voltage | 8~45V | 6.7~45V | 6.7~45V |
| OP-Amps | 4 | 3 | 1 |
| GPIOs | 15 | 16 | 20 |
| BOOT0 pin | -- | Yes | Yes |
| 3FG decoding logic for Hall sensors | Yes | -- | -- |
| Comparator | OCP | OCP and current control | OCP and current control |
| Package | QFN 7x7mm 1EP | QFN 7x7mm 1EP | QFN 7x7mm 1EP |
Solved: STSPIN32F0 vs STSPIN32F0A vs STSPIN32F0B - STMicroelectronics Community
Reference
- qwertpas/O32controller: Miniature closed-loop controller for brushless DC motors
- STspin32G4 support - hardware support - SimpleFOC Community
- ST AN5397 "Current Sensing in motion control applications"
- ST AN4999 "STSPIN32F0/F0A/F0B overcurrent protection"
- ST DB3364 "STEVAL-SPIN3202: STSPIN32F0A advanced 3-phase BLDC driver with embedded STM32 MCU single shunt evaluation board"
- ST DB4049 "EVALKIT-ROBOT-1: Compact reference design kit for robotics and automation based on STSPIN32F0A"
- ST DB3798 "STEVAL-ESC002V1: Electronic Speed Controller reference design based on STSPIN32F0A"
- TI SLUA887 "Bootstrap Circuitry Selection for Half-Bridge Configurations"
- Diodes DN1156 "Gate Drivers in BLDC Motors"
Parts
50| Qty | Value | Footprint | References |
|---|---|---|---|
| 9 | 10uF/50V | Capacitor_SMD:C_0805_2012Metric | C5, C11, C12, C13, C14, C15, C16, C17, C18 |
| 4 | MountingHole | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 3 | 22pF | Capacitor_SMD:C_0603_1608Metric | C8, C9, C10 |
| 3 | 330R | Resistor_SMD:R_0603_1608Metric | R4, R5, R6 |
| 3 | A | moco:wire_3.2mm | J3, J4, J5 |
| 3 | TestPoint | TestPoint:TestPoint_Pad_D1.5mm | TP1, TP2, TP3 |
| 2 | 10k | Resistor_SMD:R_0603_1608Metric | R9, R10 |
| 2 | 5.1k | Resistor_SMD:R_0603_1608Metric | R2, R3 |
| 1 | 1.5k | Resistor_SMD:R_0603_1608Metric | R7 |
| 1 | 100nF/50V | Capacitor_SMD:C_0603_1608Metric | C4 |
| 1 | 100nF/6.3V | Capacitor_SMD:C_0603_1608Metric | C6 |
| 1 | 10k/100mW | Resistor_SMD:R_0603_1608Metric | R8 |
| 1 | 1uF/16V | Capacitor_SMD:C_0603_1608Metric | C2 |
| 1 | 1uF/6.3V | Capacitor_SMD:C_0603_1608Metric | C3 |
| 1 | 22R | Resistor_SMD:R_0603_1608Metric | R1 |
| 1 | 22uF/16V | Capacitor_SMD:C_0805_2012Metric | C7 |
| 1 | 47nF/50V | Capacitor_SMD:C_0603_1608Metric | C1 |
| 1 | 47uH | Inductor_SMD:L_Taiyo-Yuden_MD-3030 | L1 |
| 1 | B | moco:wire_3.2mm | J6 |
| 1 | C | moco:wire_3.2mm | J7 |
| 1 | Conn_01x02 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J2 |
| 1 | Conn_02x10_Odd_Even | Connector_PinSocket_2.54mm:PinSocket_2x10_P2.54mm_Vertical | J1 |
| 1 | DRV8316CR | moco:VQFN-40_RGF_5x7mm_0.5mm_pitch_thermalpad | U1 |
| 1 | LED | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | LD1 |
| 1 | LM4040A50 | Package_TO_SOT_SMD:SOT-353_SC-70-5 | D1 |
| 1 | NetTie_2 | NetTie:NetTie-2_SMD_Pad0.5mm | NT1 |
| 1 | RESET | Button_Switch_SMD:SW_SPST_CK_RS282G05A3 | SW1 |
| 1 | SolderJumper_2_Open | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | SB1 |
| 1 | nSLEEP | TestPoint:TestPoint_Pad_D1.0mm | TP4 |
More from ziteh/moco
5- 4 layers

- 4 layers40 × 40 mm

- 4 layers32 × 32 mm

- 4 layers

- 2 layers

Similar boards
- 2 layers187.2 × 26.6 mm

- 2 layers45.7 × 25.9 mm

- 2 layers21 × 31.5 mm

- 2 layers42 × 32.5 mm

Lipoboard
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
50 parts915 - 2 layers80 × 109.5 mm

NucDeck Right Controller PCB - Rev 1.2
dmcke5/NucDeck
The Open Source DIY Handheld Gaming PC!
50 parts561CERN-OHL-S-2.0 - 2 layers101 × 31.5 mm

- 2 layers123.9 × 94.4 mm

- 2 layers50 × 25 mm

Mbus master
roarfred/AmsToMqttBridge
Minimalistic system to read AMS/HAN data from electrical meter
50 parts223
Questions
How big is the Moco bkd8316 PCB?
It measures 35.5 × 41 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Moco bkd8316 use?
50 parts. 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 Moco bkd8316 KiCad files?
From the ziteh/moco repository on GitHub, at the commit this page was made from: the board is hardware/moco-bkd8316/moco-bkd8316.kicad_pcb and its schematic hardware/moco-bkd8316/moco-bkd8316.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Moco bkd8316 design in my own project?
Its repository publishes it under the CERN-OHL-P-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).