FOC
nordstream3·FOC·source/foc.kicad_pcb
About the FOC PCB
FOC is an open source STM32 PCB design by nordstream3, published on GitHub. It is a 4-layer board measuring 75.2 × 99.5 mm, with 238 components from 66 distinct parts.
Its main chip is the STM32F401CCU6_Blackpill, from the STM32 family. Other key parts include the TJA1051T/3/1J, BMI270, AMS1117-3.3, IRS21867S and XL1509-5.0E1. By type, the board carries 95 resistors, 75 capacitors, 19 connectors, 16 transistors, 14 ICs and 11 diodes.
It belongs with the robotics & motion and sensors designs in this gallery.
From the project
Date | Manufacturer | amount | includes | shipping & tax | price | -------- | -------- | -------- | -------- | -------- | -------- | 2024-01-17 | JLCPCB | 10 boards | All assembled excl fets and caps | YES, to EU | $241.08
Date | Manufacturer | amount | includes | shipping & tax | price | -------- | -------- | -------- | -------- | -------- | -------- | 2024-01-17 | JLCPCB | 10 boards | All assembled excl fets and caps | YES, to EU | $241.08
An open-source motor controller board based on a JLCPCB friendly VESC6 75V/300A so-called "driverless" design with individual gate drivers for all three phases. It is powered by an STM32F405 MCU and is capable of running FOC at high power and voltages.

Main components on the FOC
FOC bill of materials (BOM)
238 components, 66 distinct parts.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | TJA1051T/3/1J | SOIC-8_3.9x4.9mm_P1.27mm | U1 |
| 1 | BMI270 | Bosch_LGA-14_3x2.5mm_P0.5mm | U2 |
| 1 | AMS1117-3.3 | SOT-223-3_TabPin2 | U3 |
| 3 | IRS21867S | SOIC-8_3.9x4.9mm_P1.27mm | U4, U6, U7 |
| 1 | XL1509-5.0E1 | SOP-8_3.9x4.9mm_P1.27mm | U5 |
| 1 | TX4130L/PW2902 | TX4130L_ESOP-8 | U8 |
| 3 | MS8311 | TSOT-23-5 | U9, U10, U11 |
| 2 | STM32F401CCU6_Blackpill | Blackpill_STM32F401CEU6 | U12, U13 |
| 1 | STM32F405RGT6 | LQFP-64_10x10mm_P0.5mm | U14 |
| 1 | AO3401A | SOT-23 | Q1 |
| 3 | SS8050 | SOT-23 | Q2, Q3, Q16 |
| 12 | CRST030N10N | TO-220-3_Vertical_bend | Q4, Q5, Q6, Q7, Q8, Q9, Q10, Q11 +4 |
| 1 | 8MHz Crystal Resonator, X50328MSB2GI | Crystal_SMD_5032-2Pin_5.0x3.2mm | Y1 |
| 1 | Conn_01x02_Male | JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical | J1 |
| 1 | Conn_01x06 | JST_PH_B6B-PH-K_1x06_P2.00mm_Vertical | J2 |
| 1 | communication | JST_XH_B6B-XH-A_1x06_P2.50mm_Vertical | J3 |
| 1 | on/off | JST_PH_B4B-PH-K_1x04_P2.00mm_Vertical | J4 |
| 1 | servo | JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical | J5 |
| 1 | TYPE-C-31-M-12 | HRO_TYPE-C-31-M-12 | J6 |
| 12 | SWD | PinHeader_1x01_P2.54mm_Vertical | P1, P2, P3, P4, P5, P6, P7, P8 +4 |
Show 46 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | SWD | PinHeader_1x05_P2.54mm_Vertical | P11 |
| 2 | 68uH | L_6.6x7.2_H5.0_CYA0650_68UH | CYA0650-68UH1, CYA0650-68UH2 |
| 2 | SW_SPDT | SolderJumper-3_P1.3mm_Bridged2Bar12_Pad1.0x1.5mm | SW1, SW4 |
| 2 | SW_SPST | SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm | SW2, SW3 |
| 4 | US1M | D_SMA | D1, D2, D4, D7 |
| 1 | 1N5819 | D_SOD-323 | D3 |
| 1 | 1N4148WS | D_SOD-323 | D5 |
| 1 | MM1W18 1W18V zener | D_SOD-123 | D6 |
| 1 | SS210 | D_SMA | D8 |
| 1 | RED | LED_0805_2012Metric | D9 |
| 1 | GREEN | LED_0805_2012Metric | D10 |
| 1 | WHT | LED_0603_1608Metric | D11 |
| 1 | 10n | L_0805_2012Metric | L1 |
| 7 | 4.7n | C_0603_1608Metric | C1, C40, C41, C50, C51, C59, C60 |
| 5 | 100p | C_0603_1608Metric | C2, C3, C12, C18, C22 |
| 15 | 2.2u | C_0603_1608Metric | C4, C7, C11, C15, C16, C19, C25, C27 +7 |
| 15 | 100n | C_0603_1608Metric | C5, C6, C10, C21, C34, C43, C53, C61 +7 |
| 3 | 100u@6.3V | C_1206_3216Metric | C8, C13, C23 |
| 4 | 10u | CP_EIA-3216-10_Kemet-I | C9, C17, C24, C32 |
| 4 | 10u | C_0603_1608Metric | C14, C20, C28, C75 |
| 13 | 4.7u 100V | C_1210_3225Metric | C26, C36, C37, C38, C39, C46, C47, C48 +5 |
| 2 | 10n | C_0603_1608Metric | C30, C70 |
| 1 | 22u | C_0805_2012Metric | C31 |
| 3 | 1n | C_0603_1608Metric | C35, C44, C54 |
| 1 | 1u | C_0603_1608Metric | C68 |
| 2 | 12p | C_0603_1608Metric | C71, C73 |
| 8 | 2k | R_0603_1608Metric | R1, R2, R3, R11, R15, R17, R19, R28 |
| 3 | 100R | R_0603_1608Metric | R4, R5, R85 |
| 5 | 5.1k | R_0603_1608Metric | R6, R13, R26, R86, R87 |
| 5 | 10k | R_0603_1608Metric | R7, R10, R50, R88, R89 |
| 2 | 75k | R_0603_1608Metric | R8, R9 |
| 1 | 470k | R_0603_1608Metric | R12 |
| 12 | 56k @ 75V | R_0603_1608Metric | R14, R16, R18, R22, R23, R27, R38, R41 +4 |
| 1 | 82k @ 150V | R_0805_2012Metric | R20 |
| 2 | 1k8 | R_0603_1608Metric | R21, R24 |
| 1 | 0.1R | R_1206_3216Metric | R25 |
| 3 | 150R | R_0603_1608Metric | R29, R47, R67 |
| 3 | 30k | R_0603_1608Metric | R30, R49, R68 |
| 18 | 10R | R_0603_1608Metric | R31, R32, R43, R44, R45, R46, R51, R52 +10 |
| 3 | 56k | R_0603_1608Metric | R33, R92, R93 |
| 8 | 1k | R_0603_1608Metric | R34, R35, R54, R55, R72, R73, R96, R97 |
| 12 | 4.7R | R_0603_1608Metric | R36, R37, R39, R40, R56, R57, R59, R60 +4 |
| 3 | 0.25mR | R_2512_6332Metric | R42, R62, R80 |
| 1 | NTC 10k | R_0603_1608Metric | R48 |
| 3 | 6.2k | R_0603_1608Metric | R53, R71, R91 |
| 1 | 20k | R_0603_1608Metric | R90 |
FOC design files
The KiCad project lives in the nordstream3/FOC repository on GitHub; these links point at the commit this page was built from.
- Layoutsource/foc.kicad_pcb
- Schematicsource/foc.kicad_sch
FOC: common questions
What microcontroller does the FOC use?
The FOC is built around the STM32F401CCU6_Blackpill, from the STM32 family.
How big is the FOC PCB?
The FOC measures 75.2 × 99.5 mm, has 4 copper layers and is 1.6 mm thick.
How many components are on the FOC?
238 components, from 66 distinct parts. The full bill of materials is listed on this page.
Where can I download the FOC design files?
From the nordstream3/FOC repository on GitHub, which has the KiCad layout and the schematic; the links under Design files point to each one.
Can I use the FOC design in my own project?
The repository has no license, so all rights stay with nordstream3. Use it as a reference, and ask the author before reusing the design.
Can I test firmware for the FOC without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug STM32 firmware against it before you order a PCB.
Similar boards
STM32
LumenPnP Motherboard
opulo-inc
149 × 95 mm296 parts4LCC-BY-SA-4.03.7kSTM32
AxxSolder
AxxAxx
39 × 82.5 mm122 parts2LGPL-3.01.7kSTM32
LibreVNA
jankae
122 × 98 mm592 parts6LGPL-3.01.6kSTM32
AIOC
skuep
21 × 31.5 mm47 parts2LMIT1.4kSTM32
Ferris
pierrechevalier83
208.8 × 86.8 mm102 parts2LSHL-2.11.3kSTM32
176 pin board
rusefi
61.8 × 73.2 mm76 parts2LGPL-3.01.2k