Monthly Archives: March 2022

New product: Motoron M3S256 Triple Motor Controller Shield

via Pololu Blog

We’re excited to announce the launch of our new Motoron M3S256 Triple Motor Controller Shield! This I²C motor controller is designed to plug into an Arduino or Arduino-compatible board and control up to three bidirectional brushed DC motors at voltages from 4.5 V to 48 V with continuous currents of up to 2 A per channel. However, what really sets the Motoron apart from our other motor shields is that you can easily stack multiple boards to control even more motors at once!

Unlike basic motor driver shields that are best for driving just a few channels using the Arduino’s hardware PWM outputs, the Motoron M3S256 has its own on-board microcontroller with an I²C interface, letting you communicate with a stack of many controllers using only two I/O lines. Each Motoron can be configured to have a unique I²C target address, ensuring that every shield can be addressed individually and every motor can be controlled independently. For synchronized motion, you can even signal all the motors on several controllers to change speed at the same time with a single I²C command.

We provide an Arduino library for the Motoron that makes it easy to send it commands and configure its many settings, including motion parameters and error handling options. Working with multiple Motoron controllers is as simple as calling a few functions once you have set up their I²C addresses:

// Set up acceleration and deceleration limits for Motoron #1
mc1.setMaxAcceleration(1, 80);
mc1.setMaxDeceleration(1, 300);
mc1.setMaxAcceleration(3, 50);

// Set up acceleration and deceleration limits for Motoron #2
mc2.setMaxAcceleration(2, 50);
mc2.setMaxDeceleration(2, 200);
 
// Drive the motors
 
mc1.setSpeed(1, -800);
mc1.setSpeed(2, 100);
mc1.setSpeed(3, -100);
 
mc2.setSpeed(1, -400);
mc2.setSpeed(2, 50);
mc2.setSpeed(3, 300);

Alternatively, if you are not using a microcontroller board with the standard Arduino form factor, it is almost as easy to use the Motoron on a breadboard.

A Raspberry Pi Pico on a breadboard using a Motoron M3S256 shield to control three motors.

The Motoron M3S256 is available in three versions with different connector options:

Motoron M3S256 Triple Motor Controller Shield for Arduino (Connectors Soldered).

Motoron M3S256 Triple Motor Controller Shield Kit for Arduino.

Motoron M3S256 Triple Motor Controller Shield for Arduino (No Connectors).

You might wonder why the assembled version comes with 3.5mm-pitch terminal blocks soldered in when the through-holes are spaced 5 mm apart. The answer is that the smaller 3.5 mm terminal blocks allow for more clearance when the shields are stacked, reducing the risk of shorting them to each other, but we still designed the board with bigger holes and wider spacing for maximum flexibility.

For more information about the Motoron M3S256, see the product pages and the comprehensive user’s guide. We have plans to expand the Motoron family with more versions including Raspberry Pi-compatible form factors and higher-power models, so expect more announcements soon!