Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use SparkFun_Qwiic_Motor_Driver: Examples, Pinouts, and Specs

Image of SparkFun_Qwiic_Motor_Driver
Cirkit Designer LogoDesign with SparkFun_Qwiic_Motor_Driver in Cirkit Designer

Introduction

The SparkFun Qwiic Motor Driver is a versatile and user-friendly motor driver breakout board designed to facilitate the control of two brushed DC motors. It is based on the TB6612FNG motor driver chip, which provides efficient and smooth bidirectional control. The board is part of the Qwiic connect system, which allows for easy daisy-chaining and quick prototyping without soldering. Common applications include robotics, custom vehicles, and automation projects.

Explore Projects Built with SparkFun_Qwiic_Motor_Driver

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Bluetooth-Controlled Robotic Vehicle with Ultrasonic Obstacle Detection and Motion Sensing
Image of 아두이노 드론: A project utilizing SparkFun_Qwiic_Motor_Driver in a practical application
This circuit features a SparkFun Pro Micro microcontroller interfaced with an L298N DC motor driver to control two DC motors, an HC-SR04 ultrasonic sensor for distance measurement, a Bluetooth module HM-10 for wireless communication, and an MPU-6050 for motion tracking. The Pro Micro is responsible for processing sensor data and managing motor speeds and directions via the motor driver. Power is supplied by a 5V battery connected to the Pro Micro and a separate battery case providing 12V to the motor driver.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32 Wi-Fi Controlled Dual DC Motor Driver System
Image of esp32 tbfng: A project utilizing SparkFun_Qwiic_Motor_Driver in a practical application
This circuit uses an ESP32 microcontroller to control two DC motors via a SparkFun Motor Driver TB6612FNG. The motor driver is powered by a 12V battery and receives control signals from the ESP32 to manage the speed and direction of the motors.
Cirkit Designer LogoOpen Project in Cirkit Designer
Wi-Fi Controlled Vibration-Sensing Robot with Battery Monitoring
Image of Vibration Trash: A project utilizing SparkFun_Qwiic_Motor_Driver in a practical application
This circuit features a Wemos D1 Mini microcontroller connected to a MX1508 DC Motor Driver for controlling a DC motor, a SW-420 Vibration Sensor for detecting vibrations, and a Type-c Power Bank Module with an 18650 battery holder for power supply. The microcontroller monitors the vibration sensor and controls the motor driver based on the sensor's output, while also measuring the battery voltage through an ADC pin with a connected resistor for voltage scaling. The embedded code enables WiFi connectivity, OTA updates, and integration with Home Assistant for remote monitoring and control.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano-Controlled Robotic Platform with Bluetooth and Motion Sensing
Image of Operation Drone for 'Noobs' who can't read!: A project utilizing SparkFun_Qwiic_Motor_Driver in a practical application
This is a Bluetooth-controlled motor driver circuit with motion sensing capabilities. It uses an Arduino Nano to drive four DC motors via MOSFETs, receives commands from an HC-05 Bluetooth module, and senses motion with an MPU6050 accelerometer/gyroscope. The circuit includes back EMF protection diodes, gate resistors for the MOSFETs, and is powered by LiPo batteries with a toggle switch for power management.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with SparkFun_Qwiic_Motor_Driver

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of 아두이노 드론: A project utilizing SparkFun_Qwiic_Motor_Driver in a practical application
Bluetooth-Controlled Robotic Vehicle with Ultrasonic Obstacle Detection and Motion Sensing
This circuit features a SparkFun Pro Micro microcontroller interfaced with an L298N DC motor driver to control two DC motors, an HC-SR04 ultrasonic sensor for distance measurement, a Bluetooth module HM-10 for wireless communication, and an MPU-6050 for motion tracking. The Pro Micro is responsible for processing sensor data and managing motor speeds and directions via the motor driver. Power is supplied by a 5V battery connected to the Pro Micro and a separate battery case providing 12V to the motor driver.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of esp32 tbfng: A project utilizing SparkFun_Qwiic_Motor_Driver in a practical application
ESP32 Wi-Fi Controlled Dual DC Motor Driver System
This circuit uses an ESP32 microcontroller to control two DC motors via a SparkFun Motor Driver TB6612FNG. The motor driver is powered by a 12V battery and receives control signals from the ESP32 to manage the speed and direction of the motors.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Vibration Trash: A project utilizing SparkFun_Qwiic_Motor_Driver in a practical application
Wi-Fi Controlled Vibration-Sensing Robot with Battery Monitoring
This circuit features a Wemos D1 Mini microcontroller connected to a MX1508 DC Motor Driver for controlling a DC motor, a SW-420 Vibration Sensor for detecting vibrations, and a Type-c Power Bank Module with an 18650 battery holder for power supply. The microcontroller monitors the vibration sensor and controls the motor driver based on the sensor's output, while also measuring the battery voltage through an ADC pin with a connected resistor for voltage scaling. The embedded code enables WiFi connectivity, OTA updates, and integration with Home Assistant for remote monitoring and control.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Operation Drone for 'Noobs' who can't read!: A project utilizing SparkFun_Qwiic_Motor_Driver in a practical application
Arduino Nano-Controlled Robotic Platform with Bluetooth and Motion Sensing
This is a Bluetooth-controlled motor driver circuit with motion sensing capabilities. It uses an Arduino Nano to drive four DC motors via MOSFETs, receives commands from an HC-05 Bluetooth module, and senses motion with an MPU6050 accelerometer/gyroscope. The circuit includes back EMF protection diodes, gate resistors for the MOSFETs, and is powered by LiPo batteries with a toggle switch for power management.
Cirkit Designer LogoOpen Project in Cirkit Designer

Technical Specifications

Key Technical Details

  • Motor Driver IC: TB6612FNG
  • Motor Channels: 2
  • Operating Voltage: 2.5V to 13.5V
  • Output Current: Up to 1.2A per channel (3.2A peak)
  • Standby Control: To save power
  • Logic Voltage: 2.7V to 5.5V (compatible with 3.3V and 5V logic)
  • Dimensions: 1.0in x 1.0in (25.4mm x 25.4mm)

Pin Configuration and Descriptions

Pin Name Function Description
GND Ground Reference ground for power and logic.
VIN Voltage In Motor power supply (2.5V to 13.5V).
VCC Logic Power Logic power supply (2.7V to 5.5V).
SDA Data Line I2C data line for Qwiic connection.
SCL Clock Line I2C clock line for Qwiic connection.
A1 Motor A Terminal 1 Output to motor A coil 1.
A2 Motor A Terminal 2 Output to motor A coil 2.
B1 Motor B Terminal 1 Output to motor B coil 1.
B2 Motor B Terminal 2 Output to motor B coil 2.
STBY Standby Controls the standby mode.

Usage Instructions

Integrating with a Circuit

  1. Power Connections: Connect VIN to your motor power supply, and VCC to your logic power supply. Ensure that GND is connected to the common ground of your system.
  2. Motor Connections: Connect your DC motors to the A1/A2 and B1/B2 terminals for motor A and B, respectively.
  3. I2C Connections: Use the Qwiic connectors to link the motor driver to your microcontroller or Qwiic system.
  4. Standby Mode: Connect STBY to logic high to enable the motor driver or to logic low to put it in standby mode.

Best Practices

  • Always ensure that the power supply does not exceed the recommended voltage range.
  • Do not exceed the maximum current rating to prevent damage to the motor driver.
  • Use proper decoupling capacitors to minimize voltage spikes.
  • Ensure that the STBY pin is not left floating to avoid unexpected behavior.

Example Code for Arduino UNO

#include <Wire.h> // Include the I2C library (required)

// Define the I2C address for the motor driver (if applicable)
const int motorDriverAddress = 0x58; // Replace with the correct address

void setup() {
  Wire.begin(); // Join the I2C bus as master
  // Initialize the motor driver here (if required)
  // For example, set the standby pin to HIGH
}

void loop() {
  // Code to control the motor speed and direction
  // Example: Set motor A to run at 50% speed forward
  setMotorSpeed(motorDriverAddress, 'A', 128); // 128 out of 255 for 50%
  delay(1000); // Run for 1 second
  // Stop the motor
  setMotorSpeed(motorDriverAddress, 'A', 0);
  delay(1000); // Stop for 1 second
}

// Function to set motor speed and direction
void setMotorSpeed(int address, char motor, int speed) {
  Wire.beginTransmission(address); // Begin transmission to the motor driver
  Wire.write(motor); // Indicate which motor to control
  Wire.write(speed); // Send the speed value
  Wire.endTransmission(); // End transmission
}

Note: The above code is a simplified example. You will need to refer to the SparkFun Qwiic Motor Driver library for specific functions to control the motor driver.

Troubleshooting and FAQs

Common Issues

  • Motor not responding: Check connections, ensure power supplies are within the specified range, and verify that the STBY pin is set to high.
  • Overcurrent/Overheating: Reduce the load on the motor or improve cooling. Check for shorts or wiring issues.
  • Erratic behavior: Ensure that there is no noise on the I2C lines, and that the STBY pin is not floating.

FAQs

Q: Can I control the speed of the motors? A: Yes, the motor speed can be controlled via PWM signals.

Q: Is the driver compatible with 3.3V systems? A: Yes, the logic voltage range allows for compatibility with both 3.3V and 5V systems.

Q: How do I use the Qwiic connect system? A: The Qwiic system uses I2C for communication. Simply connect the Qwiic connectors to your microcontroller or other Qwiic-enabled devices.

Q: What is the maximum current the driver can handle? A: The driver can handle up to 1.2A per channel continuously, with peaks up to 3.2A.

For further assistance, consult the SparkFun Qwiic Motor Driver datasheet and the TB6612FNG datasheet for in-depth technical information.