

Moco oi401
PMSM/BLDC motor controller/driver PCBs
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 75
- Nets
- 74
- Pads
- 338
- Tracks, vias
- 605, 122
- Pours
- 7
- Routed
- Yes
- KiCad
- KiCad 7 (file 20221018)
- Created
- 7 Dec 2022
- Updated
- 18 May 2024
Overview
Moco oi401 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 with 75 parts on 74 nets, routed with 605 tracks and 122 vias.
It is built around the RT9013-33GB. Its parts include 34 capacitors, 12 resistors, 7 connectors, 5 ICs and 1 switch. It belongs with the robots and motor control boards and the STM32 boards of this library.
Main components
1README
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
75| Qty | Value | Footprint | References |
|---|---|---|---|
| 12 | 10uF/50V | Capacitor_SMD:C_0805_2012Metric | C17, C23, C24, C25, C26, C27, C28, C29, C30, C31, C32, C33 |
| 6 | 100nF | Capacitor_SMD:C_0402_1005Metric | C3, C4, C5, C6, C9, C10 |
| 3 | 22pF | Capacitor_SMD:C_0603_1608Metric | C20, C21, C22 |
| 3 | 330R | Resistor_SMD:R_0603_1608Metric | R7, R8, R9 |
| 3 | MountingHole | MountingHole:MountingHole_2.2mm_M2_ISO14580 | H1, H2, H3 |
| 2 | 10k | Resistor_SMD:R_0603_1608Metric | R11, R12 |
| 2 | 12pF | Capacitor_SMD:C_0402_1005Metric | C11, C12 |
| 2 | 1k | Resistor_SMD:R_0402_1005Metric | R1, R3 |
| 2 | 1uF | Capacitor_SMD:C_0603_1608Metric | C1, C2 |
| 2 | 5.1k | Resistor_SMD:R_0603_1608Metric | R5, R6 |
| 2 | SolderJumper_2_Open | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | SB1, SB2 |
| 1 | 100nF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C34 |
| 1 | 100nF/50V | Capacitor_SMD:C_0603_1608Metric | C16 |
| 1 | 100nF/6.3V | Capacitor_SMD:C_0603_1608Metric | C18 |
| 1 | 10k/100mW | Resistor_SMD:R_0603_1608Metric | R10 |
| 1 | 10nF | Capacitor_SMD:C_0402_1005Metric | C7 |
| 1 | 16MHz | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm | Y1 |
| 1 | 1uF | Capacitor_SMD:C_0402_1005Metric | C8 |
| 1 | 1uF/16V | Capacitor_SMD:C_0603_1608Metric | C14 |
| 1 | 1uF/6.3V | Capacitor_SMD:C_0603_1608Metric | C15 |
| 1 | 22R | Resistor_SMD:R_0603_1608Metric | R4 |
| 1 | 22uF/16V | Capacitor_SMD:C_0805_2012Metric | C19 |
| 1 | 47nF/50V | Capacitor_SMD:C_0603_1608Metric | C13 |
| 1 | 47uH | Inductor_SMD:L_Taiyo-Yuden_MD-3030 | L1 |
| 1 | 5.1k | Resistor_SMD:R_0402_1005Metric | R2 |
| 1 | A | moco:wire_3.2mm | J5 |
| 1 | AS5047x | Package_SO:TSSOP-14_4.4x5mm_P0.65mm | U5 |
| 1 | B | moco:wire_3.2mm | J6 |
| 1 | C | moco:wire_3.2mm | J7 |
| 1 | DRV8316CR | moco:VQFN-40_RGF_5x7mm_0.5mm_pitch_thermalpad | U3 |
| 1 | Debug | Connector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_Vertical | J1 |
| 1 | GND | TestPoint:TestPoint_Pad_D1.0mm | TP3 |
| 1 | LED_BAGR | moco:RGB LED 1.6x1.6mm | LD1 |
| 1 | LM4040A50 | Package_TO_SOT_SMD:SOT-353_SC-70-5 | U4 |
| 1 | NetTie_2 | NetTie:NetTie-2_SMD_Pad0.5mm | NT1 |
| 1 | PGND | TestPoint:TestPoint_Pad_D1.0mm | TP5 |
| 1 | RESET | Button_Switch_SMD:SW_SPST_CK_RS282G05A3 | SW1 |
| 1 | RT9013-33GB | Package_TO_SOT_SMD:SOT-23-5 | U1 |
| 1 | STM32G431CBUx | Package_DFN_QFN:QFN-48-1EP_7x7mm_P0.5mm_EP5.6x5.6mm | U2 |
| 1 | Serial | Connector_JST:JST_GH_SM03B-GHS-TB_1x03-1MP_P1.25mm_Horizontal | J2 |
| 1 | SolderJumper_2_Bridged | Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm | SB3 |
| 1 | V+ | moco:wire_3.2mm | J3 |
| 1 | V- | moco:wire_3.2mm | J4 |
| 1 | V_{BK} | TestPoint:TestPoint_Pad_D1.0mm | TP4 |
| 1 | V_{CC} | TestPoint:TestPoint_Pad_D1.0mm | TP2 |
| 1 | nSLEEP | TestPoint:TestPoint_Pad_D1.0mm | TP6 |
| 1 | ~{RESET} | TestPoint:TestPoint_Pad_D1.0mm | TP1 |
Questions
What parts does the Moco oi401 use?
75 parts, built around the RT9013-33GB. 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 oi401 KiCad files?
From the ziteh/moco repository on GitHub, at the commit this page was made from: the board is hardware/moco-oi401/moco-oi401.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 oi401 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).
More from ziteh/moco
5- 4 layers

- 4 layers40 × 40 mm

- 4 layers32 × 32 mm

- 4 layers

- 2 layers35.5 × 41 mm

Similar boards
- 2 layers115.6 × 106.7 mm

ErgoSNM v3 left
siderakb/ergo-snm-keyboard
ErgoSNM is a split ergonomic keyboard integrated with trackball, wireless is in beta
90 parts172CERN-OHL-P-2.0 - 2 layers51 × 70 mm

- 8 layers34 × 34 mm

OpenDrone AIO FC F405 HW
phonght32/OpenDrone_HW_AIO_FC_F405
OpenDrone Project - AIO Brushless FC F405.
211 parts53MIT - 4 layers121.9 × 44.4 mm

- 4 layers63.1 × 63.5 mm

- 4 layers26 × 98 mm

- 4 layers70.2 × 71 mm

C3-27-epaper touch
martinberlin/bistable-smart-switch
An epaper switch project with 2 PCBs, controller+touch, and 220AC to 3DC with Relay (Latch or solid-state)
64 parts32Apache-2.0 - 2 layers49.8 × 33.3 mm
