Post

SimpleFOC Integrated Board from Zero to One - Part 1

SimpleFOC Integrated Board from Zero to One - Part 1

Why Do We Need a Tail-Mounted SimpleFOC Integrated Board?

As the title suggests, this is a from-zero-to-one series covering hands-on learning, design, debugging, and practical insights. The series walks through:

  • Hardware design fundamentals
  • Software and hardware environment setup
  • Getting the motor spinning
  • Applying it to real-world projects

This is a record of my journey learning SimpleFOC, aimed at helping beginners quickly understand, design, and build their own motor control boards and applications.


Final Result Preview

  • Mounted on a 4010 brushless motor image

  • Mounted on a 2204 brushless motor image

  • Control demo video

Demo Video


1. What is SimpleFOC?

SimpleFOC (Simple Field Oriented Control) is a popular open-source project that makes it easy to implement Field Oriented Control (FOC) for brushless motors.

Compared to traditional trapezoidal (square wave) control, FOC offers:

  • Smoother and quieter operation
  • Higher torque output
  • Better efficiency

It is widely used in applications such as:

  • Robotics
  • Gimbals
  • Self-balancing vehicles

For many makers, SimpleFOC is often the first step into advanced motor control.

Compared to other open-source FOC platforms like VESC or ODrive, SimpleFOC is more beginner-friendly, mainly because:

  • It provides a simple and intuitive Arduino library
  • It leverages the rich Arduino ecosystem
  • It significantly lowers the barrier to entry

With just basic programming knowledge, users can quickly implement:

  • Velocity control
  • Position control
  • Torque control

2. Limitations of Official SimpleFOC Development Boards

The official SimpleFOC boards (such as the Shield and Mini) are great for learning and prototyping. They are affordable, open-source, and easy to use.

However, when transitioning from experimentation to real-world applications, several issues become apparent:

  • Large size and lack of compactness
  • Difficult to mount directly on motors, requiring many jumper wires
  • Messy wiring, which is prone to loosening and instability
  • Closed-loop control is cumbersome, often requiring external encoders and manual alignment
  • Low integration, leading to complex assembly and debugging

These limitations can be frustrating, especially for beginners trying to build compact and reliable systems.


3. Why Design a Tail-Mounted SimpleFOC Integrated Board?

To address these pain points, I designed a compact, highly integrated SimpleFOC control board that can be mounted directly on the motor.

This board is specifically created for beginners and makers who want a clean, compact, and practical solution.

Key Features

πŸ”§ Direct Motor Mounting

  • Slot-based PCB design
  • Compatible with 2204–4010 brushless motors
  • Can be mounted directly on the motor base
  • Adds almost no extra volume

🧲 Onboard Magnetic Encoder

  • Sensor placed at the center of the PCB
  • Perfectly aligned with motors using magnetic rings
  • For motors without a magnet: simply attach a small magnet to the shaft
  • Enables high-precision closed-loop control with minimal setup

πŸ”Œ USB Type-C Interface

  • Built-in USB-to-serial chip
  • One Type-C cable for:

    • Firmware upload
    • Parameter tuning
    • Real-time debugging

πŸ”— Flexible Expansion

  • Independent UART control
  • External I2C sensors
  • Support for ABZ encoders

⚑ Complete Hardware Integration

  • Built-in current sensing resistors
  • DRV8313 motor driver onboard
  • Supports current loop control
  • Suitable for small to medium power motors

🧠 Main Controller

  • STM32F103CBT6 microcontroller
  • Rich peripherals and widely supported

πŸ“ Physical Specs

  • 42mm Γ— 42mm circular PCB
  • 4-layer PCB design

🌐 Fully Open Source

  • Hardware and software fully open
  • Includes:

    • Altium design files
    • Manufacturing (PCBA) files
    • Arduino-based reference firmware

4. Summary

With this integrated board, you no longer need to worry about:

  • Complex wiring
  • Mounting difficulties
  • Tedious setup procedures

Simply:

  1. Mount the board
  2. Attach a magnet (if needed)
  3. Connect power

…and you can immediately start working with SimpleFOC.

This makes it especially suitable for anyone looking to build compact, clean, and high-performance motor control systems.


What’s Next?

In the next article, we’ll dive deep into the hardware design details of this board, including:

  • Schematic analysis
  • Component selection
  • PCB layout design

Stay tuned!

This post is licensed under CC BY 4.0 by the author.