SparkFun IoT Brushless Motor Driver (ESP32 WROOM, TMC6300)

The SparkFun IoT Brushless Motor Driver is a powerful, easy-to-use motor driver that can control any 3-phase BLDC with built-in WiFi and Bluetooth® capabilities! However, with our on-board Three Phase Brushless Gimbal Motor, you can be sure of getting the best performance and reliability without needing to find your own motor. It features the TMC6300 from ADI + Trinamic, a high-performance motor driver that allows you to control the motor using a microcontroller, such as the ESP32 WROOM, which is included on the board. The SparkFun IoT Brushless Motor Driver is perfect for various IoT applications, such as controlling robots, drones, and other high-performance devices.

The TMC6300 is a powerful, easy-to-use three-phase motor driver with up to 2A (1.4ARMS) of total drive current. Separate high-side and low-side control of the three half-bridges allows for incredible control of each phase of the motor commutation. We've found the Arduino Simple Field Oriented Control library to work well with the TMC6300 motor driver.

However, a field-oriented control (FOC) algorithm requires some feedback to close and optimize the control loop. Therefore, we integrated a TMAG5273 hall-effect sensor and INA240A1 current sensor amplifiers (both manufactured by Texas Instruments) into the IoT motor driver board design. This allows users to incorporate a position sensor and current sensing into the FOC algorithm or any feedback control loop they implement.

Additionally, this motor driver also features a hall-effect sensor, three in-line current sensors for each motor phase, and a low-side current sensor to gather information about the status of the motor to return to the user. It also features two user buttons, a Qwiic connector, and a user-configurable RGB LED for more customizability!

The SparkFun Qwiic Connect System is an ecosystem of I2C sensors, actuators, shields and cables that make prototyping faster and less prone to error. All Qwiic-enabled boards use a common 1mm pitch, 4-pin JST connector. This reduces the amount of required PCB space, and polarized connections mean you can’t hook it up wrong.

  • IoT Brushless Motor Driver board
  • Gimbal Motor
  • Mounting Screws
  • Motor Spacers
  • USB-C Connector
  • ESP32 Microcontroller
  • TMC6300 Motor Driver
  • TMAG5273 Hall Effect Sensor
  • Current Sensors
    • INA240 Current Sense Amplifier
    • MCP6021 Operational Amplifier
  • WS2812 RGB LED
  • 3-Pin JST Connector (to Gimbal Motor)
  • 4 Buttons
  • Gimbal Motor
  • Qwiic Connector

SparkFun IoT Brushless Motor Driver (ESP32 WROOM, TMC6300) Product Help and Resources


Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • Member #1739876 / about 7 months ago * / 1

    Please please please offer alternatives to ESP32! Edit: e.g. a micromod function board version of this IoT board would be great, the user can chose which MCU to deploy. Promoting Espressif (ESP32) goes against freedom (of choice, and beyond).

Customer Reviews

3 out of 5

Based on 2 ratings:

Currently viewing all customer reviews.

1 of 1 found this helpful:

Works great with the SmartKnob firmware after modifying the code

To use the SmartKnob firmware, you just need to add the encoder on the board (TMAG5273) to the code. Works quite well but I did find I needed to use the X32 averaging mode to reduce the noise.

A good low cost platform for developing haptic controls.

The motor runs just fine with the default code but you do need to add acceleration if trying to hit higher RPMs or the motor will stall.

Almost works...

I bought this to explore brushless motor control and I am extremely disappointed.

The board is configured to only provide the motor with 3.3V with no alternative input. And, unfortunately the product description doesn't container this info. The only way I found out this information was going deep into the linked hardware page -- -- scrolling down to where it says:

The Gimbal Stabilizer Motor has an operating voltage range of 6 - 8V. However, we have found that it still functions properly with only 3.3V provided by the IoT Motor Driver board.

Unfortunately -- with the supplied example micro-controller code and this low voltage the motor stalls regularly. As in -- 3.3V is DOES NOT allow the motor to function properly. So this board is not very useful if you are interested in having the motor spin.

The board looks like it's designed to allow you to break the motor side off but there are no headers on that side of the board. Therefore, if you broke the motor side off the only way to control it would be by soldering wires directly.

If I hadn't paid duty and the shipping fee to Canada, I would have returned this immediately. For now, I have to figure out how to hack it to get the proper voltage level.