Posts by Kevin

You are currently viewing a selection of posts from the Pololu Blog. You can also view all the posts.

Popular tags: community projects new products raspberry pi arduino more…

New products: D30V3x series step-down voltage regulators

Posted by Kevin on 20 March 2024
Tags: new products

We’re pleased to introduce the D30V3x line of step-down voltage regulators, our favorite new buck regulators for applications that need up to a few amps from input voltages up to 45 V. They can deliver between 1 A and 4 A of output current, depending on the input and output voltages, with very low dropout voltages. They also feature a power-good output for identifying when the output voltage is not being maintained, an enable pin with a precise threshold for turning off the regulator, and a soft-start feature that limits in-rush current and gradually ramps the output voltage on startup. The regulators include protections against reverse voltage (up to 40 V), input under-voltage, over-temperature, over-current, and short circuits.

The D30V3x line consists of the following three families:

  • The D30V30Fx regulators are compact, fixed-output versions available with output voltages from 3.3 V to 15 V.
  • The D30V30MAx regulators are compact, double-sided adjustable versions, with a precision-adjustable output voltage from 4.2 V to 15 V and an optional adjustable low-voltage cutoff.
  • The D30V33MAx regulators are larger adjustable versions with holes for terminal blocks and slightly higher maximum output current. These also have a precision-adjustable 4.2 V to 15 V output and an optional adjustable low-voltage cutoff.

Output voltage settings for the 4.2-15V Fine-Adjust Step-Down Voltage Regulator D30V3xMASx.

We’ve actually had the fixed-voltage versions available for a few months already, but we’ve just expanded the range with the release of the adjustable versions, which have multi-turn potentiometers for precisely setting the output voltage and/or low voltage cutoff. The following table shows all of the members of the D30V3x family:

Regulator Output voltage Typical max
output current1
Input voltage2 Adjustable
low-voltage
cutoff
Size
#4891: D30V30F3 3.3 V 3.7 A 3.3 V – 45 V 0.7″ × 0.8″
#4892: D30V30F5 5 V 3.4 A 5 V – 45 V
#4893: D30V30F6 6 V 3.3 A 6 V – 45 V
#4894: D30V30F7 7.5 V 3 A 7.5 V – 45 V
#4895: D30V30F9 9 V 2.9 A 9 V – 45 V
#4896: D30V30F12 12 V 2.8 A 12 V – 45 V
#4897: D30V30F15 15 V 2.7 A 15 V – 45 V
#4874: D30V30MASCMA 4.2 V – 15 V 3 A 4.2 V – 45 V 0.6″ × 1.0″
#4875: D30V30MAS
#4854: D30V33MASCMA 4.2 V – 15 V 3.3 A 4.2 V – 45 V 0.9″ × 1.2″
#4855: D30V33MAS
1At 30 V in. Actual achievable continuous output current is a function of input and output voltages and is limited by thermal dissipation.
2Operating voltage must be higher than the set output voltage and is subject to dropout voltage considerations.

New product: Zumo 2040 Robot!

Posted by Kevin on 22 November 2023

We’re happy to announce the release of the Zumo 2040, our newest RP2040-based robot built on our Zumo tracked chassis!

The Zumo started out as just that chassis: a simple mechanical base designed to be the foundation of a small tracked robot (and the right size for Mini-Sumo competitions). Later, we made the Zumo Robot Kit for Arduino that lets you build a complete robot with just the addition of an Arduino board, and a while after that, we released the Zumo 32U4 featuring a main board with an integrated AVR microcontroller.

Pololu Zumo chassis kit, assembled top view, shown with motors and original white sprockets.

Assembled Zumo robot for Arduino with an Arduino Uno (with original white sprockets).

Assembled Zumo 32U4 robot.

This new Zumo 2040 is the next big step in the evolution of the Zumo family, swapping out the Zumo 32U4’s 8-bit processor for a Raspberry Pi RP2040, a 32-bit dual-core Arm Cortex-M0+ microcontroller running at 125 MHz, along with 16 MB (128 Mbit) of flash memory. The more powerful processor (the same as on the Raspberry Pi Pico) enhances both what the Zumo can do and how you can work with it.

Assembled Zumo 2040 robot.

We particularly like how easy it is to get started programming the Zumo 2040 with MicroPython: just like with our 3pi+ 2040 Robot, you can simply connect the Zumo to a computer with a USB-C cable and start editing the included example Python programs with a text editor.

MicroPython drive showing Zumo 2040 demo programs.

The blink.py demo program in a text editor.

There are lots of pre-loaded examples that demonstrate how to use the various features on the Zumo 2040. Here’s one that uses the Zumo’s proximity sensors to locate and turn to face an opponent or other object (in this case, a 3pi+):


Although I summed up the history of the Zumo platform in a few major milestones above, that doesn’t really tell the whole story; there have been other smaller changes along the way (both accompanying and between the big releases) that have made it more of a continual process of improvement. For example, although the Zumo originally came with the white sprockets that you see in some of those pictures, we now ship the chassis and all of the robots and kits with black spoked sprockets that make assembly and disassembly easier (and look cooler). And a couple years ago, we revised the Zumo 32U4 with a better display (in the form of the Zumo 32U4 OLED), an upgrade that has carried over to this new Zumo.

The Zumo 2040’s new I2C0 connector is one such smaller improvement, but it’s something that I hope will make a difference when it comes to expanding the robot with additional electronics. This is a 4-pin JST SH-compatible connector that provides access to the RP2040’s I2C0 bus, and it has a pinout compatible with Sparkfun’s Qwiic and Adafruit’s STEMMA QT connection systems, so that should make it easier to add I²C sensors and other devices to the Zumo.

The I2C0 connector on the Zumo 2040.

Heat-seeking Zumo? An IR camera plugged into the Zumo 2040’s I2C0 connector enables thermal imaging capabilities.

The Zumo 2040 robot is available as a kit (with motors not included so you can select your own to customize performance) or as a fully assembled robot with your choice of 50:1, 75:1, or 100:1 motor options.

New product: LOCOSYS LC20031-V2 135-Channel Dual-Band GNSS Receiver Module

Posted by Kevin on 24 March 2023
Tags: new products

We’re now selling the LC20031-V2 GNSS receiver module from LOCOSYS. This module integrates a global navigation satellite system (GNSS) receiver with an on-board antenna, making it a complete solution for providing satellite-based position data (a “smart antenna”).

The LC20031-V2 outputs data at up to 10 Hz as NMEA sentences on a TTL-level serial port, or UART, and the module ships with a cable assembly that you can use to connect it to your project (either with a matching receptacle or by cutting off the connector to access the individual wire leads). A built-in rechargeable battery preserves system data while the module is inactive for rapid satellite acquisition on the next start-up.

Unlike GPS-only receivers such as the LS20031, the LC20031-V2 works with many different satellite systems. GPS, GLONASS, BeiDou, Galileo, and QZSS satellite signals are all supported, and the module can receive both L1 and L5 frequency band signals on up to 135 channels. This lets it achieve a typical position accuracy of 1.5 m CEP (circular error probable).

The GNSS Firebird software provided by LOCOSYS can be used to configure the LC20031-V2 and view its output. In this screenshot, you can easily see the different satellite systems that the receiver is tracking, represented by the different colors in the displays (GPS is blue, GLONASS is orange, Galileo is green, and BeiDou is red).

GNSS Firebird application showing data from an LC20031-V2 module inside Pololu’s offices.

New products: Motoron M2T256 (I²C) and M2U256 (UART) dual motor controllers

Posted by Kevin on 21 December 2022
Tags: new products

The Motoron family keeps growing! We’re happy to announce the release of the Motoron M2T256 Dual I²C Motor Controller and the Motoron M2U256 Dual Serial Motor Controller. Unlike previous Motoron controllers, these boards are “micro” versions that fit the ability to drive two motors (at up to 48 V and 1.8 A) into a minimal, compact form factor. They have the same ability to be individually addressed as the other Motorons, allowing many of them to be controlled independently while connected to the same bus.

A Raspberry Pi Pico on a breadboard using a Motoron M2T256/M2U256 Dual Motor Controller to control two motors.

The M2T256 is controlled via I²C like all of our previous Motorons, but unlike all the others, the M2U256 offers logic-level serial (UART) communication to provide an alternative option for applications where an asynchronous serial interface is preferred. The M2U256 supports the Pololu serial protocol, letting it share a serial line with our other compatible serial controllers (including brushed motor controllers, stepper motor controllers, and servo controllers). Its firmware also includes some options that can help you use it on an RS-485 network (requires addition of external transceivers).

The M2T256 and M2U256 both measure only 0.6″ × 0.8″ and have nearly the same pinout; in fact, both of these Motoron versions use the same printed circuit board with only minor differences in components. (For example, a resonator is only present on the M2U256 because it needs more accurate timing for asynchronous serial communication.) Both versions are available either with header pins soldered in or with headers included but not soldered.

Motoron M2T256 Dual I²C Motor Controller, bottom view.

Motoron M2U256 Dual Serial Motor Controller, bottom view.

The Motoron M2U256 is the latest in a succession of compact motor controllers we’ve produced over the years that use an asynchronous serial (UART) protocol, beginning with one of our very first products, the Pololu Dual Serial Motor Controller. Using this interface made a lot of sense in the past because it was one of the most straightforward ways to communicate with devices using higher-level commands. However, some of the most popular embedded platforms today make it difficult: many Arduino boards use the UART for serial programming, which can conflict with other connected devices, and a Raspberry Pi can output bootloader messages over serial or unexpectedly scale its UART frequency along with its CPU speed.

Meanwhile, I²C has become more popular and easier to use on microcontrollers over time, and it has features like open-drain lines and built-in support for addressing that simplify working with several devices on a single bus. This was the reason for the Motoron family’s initial focus on I²C, which was a departure from our tradition of making serial motor controllers, but the M2U256 reflects our thinking that there are still some reasons to use asynchronous serial. For example, it’s still easier to connect a PC to a serial device (with a USB or RS-232 adapter) than to an I²C device. We expect to make more UART Motorons in the future, too.

Pololu Dual Serial Motor Controller.

Pololu Micro Dual Serial Motor Controller

Pololu qik 2s9v1 dual serial motor controller.

Here is our full lineup of Motoron controllers to date, encompassing both the new “micro” boards and the previously-released expansion boards for Arduino and Raspberry Pi:

Motoron motor controllers
micro versions

M2T256

M2U256
Control interface: I²C UART serial
Motor channels: 2 (dual)
Absolute max
input voltage:
48 V
Recommended max
nominal battery voltage:
36 V
Max continuous
current per channel:
1.8 A
Available versions:
Motoron motor controllers
Arduino and Raspberry Pi form factor versions

M3S256



M3H256

M2S24v14



M2H24v14

M2S24v16



M2H24v16

M2S18v18



M2H18v18

M2S18v20



M2H18v20
Control interface: I²C
Motor channels: 3 (triple) 2 (dual)
Absolute max
input voltage:
48 V 40 V 30 V
Recommended max
nominal battery voltage:
36 V 28 V 18 V
Max continuous
current per channel:
2 A 14 A 16 A 18 A 20 A
Available versions
for Arduino:
M3S256 M2S24v14 M2S24v16 M2S18v18 M2S18v20
Available versions
for Raspberry Pi:
M3H256 M2H24v14 M2H24v16 M2H18v18 M2H18v20

New product: LSM6DSO 3D Accelerometer and Gyro Carrier

Posted by Kevin on 9 September 2022
Tags: new products

We’ve just released a new LSM6DSO 3D Accelerometer and Gyro Carrier! ST’s LSM6DSO is a combination of a 3-axis accelerometer and 3-axis gyroscope into a single chip, offering acceleration and rotation rate readings in the ranges of ±2 g to ±16 g and ±125°/s to ±2000°/s through I²C or SPI. This board is mostly an update of our older LSM6DS33 carrier that had most of the same capabilities, although the LSM6DSO features a number of improvements over its predecessor, like lower noise, a higher maximum output data rate for the gyro, and the option to use MIPI I3C (a communication standard intended as an advanced, but backward-compatible, replacement for I²C).

The LSM6DSO additionally supports operation in specialized modes with a secondary interface, allowing it to act as a master (sensor hub) on a second I²C bus or provide an auxiliary SPI slave interface that is useful for image stabilization applications. We’ve increased the width of the carrier board to 0.5″ to bring out those secondary interface pins and let it plug into a breadboard nicely:

LSM6DS33 3D Accelerometer and Gyro Carrier with Voltage Regulator, labeled top view.

LSM6DSO 3D Accelerometer and Gyro Carrier with Voltage Regulator, labeled top view.

LSM6DSO 3D Accelerometer and Gyro Carrier with Voltage Regulator in a breadboard.

Other than the extra pins and the different mounting holes, our LSM6DSO board is pretty much a drop-in replacement for the LSM6DS33 board. We’ve updated our LSM6 Arduino library to support the new chip too, so any code that was written for the LSM6DS33 can probably be modified to work with an LSM6DSO without too much trouble.

New products: Motoron dual high-power motor controllers

Posted by Kevin on 9 August 2022

We’ve expanded our Motoron series of motor controllers with some dual high-power motor controllers: the Motoron M2S family for Arduino and Motoron M2H family for Raspberry Pi! These new Motorons have the same I²C interface as the M3S256 and M3H256, and though they only have two channels instead of the three on their smaller counterparts, they can drive much more powerful motors with up to 20 A of current at 30 V or 16 A at 40 V. There are four combinations of voltage and current ranges, available in versions designed to work as Arduino shields and as Raspberry Pi expansions.

Using a Motoron M2S Dual High-Power Motor Controller Shield with an Arduino.

Using the Motoron M2H Dual High-Power Motor Controller with a Raspberry Pi.

These eight additions bring the Motoron family up to a total of ten members overall:

Motoron Motor Controllers

M3S256



M3H256

M2S24v14



M2H24v14

M2S24v16



M2H24v16

M2S18v18



M2H18v18

M2S18v20



M2H18v20
Motor channels: triple (3) dual (2)
Max
input voltage:
48 V 40 V1 30 V1
Max nominal
battery voltage:
36 V 28 V 18 V
Max continuous
current per channel:
2 A 14 A 16 A 18 A 20 A
Available versions
for Arduino:
M3S256 M2S24v14 M2S24v16 M2S18v18 M2S18v20
Available versions
for Raspberry Pi:
M3H256 M2H24v14 M2H24v16 M2H18v18 M2H18v20
1 Absolute maximum.

As with the smaller Motorons, the high-power versions can also be stacked and their addresses configured to allow many motors to be controlled with only one I²C bus. For a stack of M2S boards on an Arduino, we recommend soldering thick wires to the kit or board-only version because 5mm terminal blocks are tall enough that they would cause short circuits within the stack. However, the M2H boards can be set up to stack safely by trimming the terminal block leads and adding extra nuts to the standoffs for additional spacing.

Three Motoron M2S dual high-power motor controller shields being controlled by an Arduino Leonardo.

Two Motoron M2H boards with terminal blocks can be stacked if you trim the leads on the terminal blocks and space out each board using hex nuts in addition to the 11mm standoffs.

It’s also possible to stack different kinds of Motoron controllers so you can control different kinds of motors:

A Motoron M2H and a Motoron M3H256 being controlled by a Raspberry Pi, allowing for independent control of five motors.

Unfortunately, the current state of the electronics supply chain is affecting how we’re making and selling these Motorons. In the past, when we released boards in multiple versions that have different MOSFET footprints, it was primarily to get us different power levels. Typically, we would make a less expensive one with smaller, lower-power MOSFETs and a more expensive one with bigger, higher-power MOSFETs. While we’re still doing this kind of thing with the M2S and M2H Motorons (the 24v14 and 18v18 use smaller MOSFETs and the 24v16 and 18v20 use bigger ones), in this case, it’s largely about maximizing parts options.

When we don’t know how many months (or years!) it will take for us to get more of a MOSFET, it’s hard to offer a product line where each model is totally dependent on one specific part. So we’ve chosen to make the different Motoron versions less distinct; the specified performance and prices are not as different between the small- and big-MOSFET versions since we want them to be viewed more interchangeably. Their performance specifications are also a little on the conservative side to give us more room to use different MOSFETs.

Even with those considerations, we still haven’t been able to get the parts to make as many of these new high-power Motorons as we want to. That’s why they are listed with a “Rationed” status in our store, with lower stock and higher pricing than we’d like. But we hope that as parts availability improves, we will eventually be able to ease up on those restrictions.

In fact, that just happened with the smaller M3S256 and M3H256: we received some long-awaited critical components that will let us make a lot more of those, so you should see more in stock soon, and we’ve already removed their Rationed status and lowered their prices!

New product: Motoron M3H256 Triple Motor Controller for Raspberry Pi

Posted by Kevin on 24 May 2022

Our Motoron M3H256 Triple Motor Controller for Raspberry Pi is now available! The M3H256 is a stackable I²C motor controller that can drive up to three brushed DC motors bidirectionally at voltages between 4.5 V and 48 V and continuous currents up to 2 A per channel. Unlike its M3S256 sibling, which is designed as a shield for an Arduino, the Motoron M3H256 is intended to stack on top of a Raspberry Pi (Model B+ or newer), similar to a HAT (Hardware Attached on Top). With an I²C address that can be configured uniquely for each board, a stack of Motorons let you control many motors at once without taking up lots of GPIO pins and PWM outputs from the Pi.

A robot with three omni wheels and motors controlled by a Raspberry Pi with a Motoron M3H256 Triple Motor Controller. A D24V22F5 regulator powers the Raspberry Pi.

If you decide not to plug it into a Raspberry Pi, the Motoron M3H256 can also be used in a breadboard or another custom setup with your own wiring:

An Arduino Micro on a breadboard using a Motoron M3H256 to control three motors.

Motoron M3H256 or M3H550 Triple Motor Controller for Raspberry Pi pinout.

The Motoron M3H256 is available in three different configurations similar to its Arduino shield counterpart: you can get one fully assembled with stackable headers and terminal blocks already soldered, a kit that lets you pick which of the included connectors to solder in yourself, or the board alone if you already have or don’t need connectors and standoffs.

And to help you get started using the Motoron with a Raspberry Pi, we have a Python library you can use to configure the M3H256 and send it commands:

import motoron

mc1 = motoron.MotoronI2C(address=17)
mc2 = motoron.MotoronI2C(address=18)

# Clear reset flags to allow Motorons to run
mc1.clear_reset_flag()
mc2.clear_reset_flag()

# Set up acceleration limits for Motoron #1
mc1.set_max_acceleration(1, 200)
mc1.set_max_acceleration(2, 200)

# Set up acceleration and deceleration limits for Motoron #2
mc2.set_max_acceleration(1, 75)
mc2.set_max_deceleration(1, 250)
mc2.set_max_acceleration(2, 80)
mc2.set_max_deceleration(2, 300)
mc2.set_max_acceleration(3, 75)
mc2.set_max_deceleration(3, 250)

# Drive the motors

mc1.set_speed(1, -100)
mc1.set_speed(2, 100)

mc2.set_speed(1, 300)
mc2.set_speed(2, 200)
mc2.set_speed(3, 50)

We’re sure there are plenty of applications where the convenience and scalability of Motorons will be useful. What kind of projects can you think of that would make good use of one (or several)?

For more information about the Motoron M3H256, see the product pages and the comprehensive user’s guide.

New product: VL53L5CX Time-of-Flight 8×8-Zone Distance Sensor Carrier

Posted by Kevin on 16 May 2022
Tags: new products

I’m excited to announce the release of our new VL53L5CX Time-of-Flight 8×8-Zone Distance Sensor Carrier! Over the past several years, STMicroelectronics has introduced a number of FlightSense distance sensors, starting with the VL6180X, that use time-of-flight (TOF) measurements of infrared laser light to measure distances. Each new sensor has been more capable than the last (usually offering an increased range), but the VL53L5CX is more than just another incremental upgrade. What makes the VL53L5CX really special is its ability to take readings of multiple targets across a grid of multiple zones, allowing you to generate a depth map with up to 8×8 resolution and 4 m range.

A plot of a coffee cup as detected by a VL53L5CX time-of-flight 8×8-zone distance sensor.

Compared to sensors that only give a 1D measurement, the VL53L5CX does demand more from a microcontroller to support its operation as a 3D lidar. Initializing the sensor through I²C and processing its data requires a lot of RAM and program memory, so it is not practical to use the VL53L5CX with most 8-bit MCUs like the Arduino Uno. (The same was true for the VL53L3CX, which shares the VL53L5CX’s multi-target capability but does not have multi-zone capability.) We found that the Raspberry Pi Pico’s RP2040 microcontroller worked well for interfacing with the VL53L5CX, and other similarly powerful 32-bit controllers like an ESP32 should also work.

It’s fun to compare our VL53L5CX carrier with our other ST time-of-flight sensor boards because even though the boards are the same size (and pin-compatible), the VL53L5CX component itself is significantly bigger than its predecessors. We also switched from using 0603-size surface-mount resistors (0.06″ × 0.03″, or 1.5 mm × 0.8 mm) to 0402-size parts (1 mm × 0.5 mm) to help everything fit in the same form factor, and that makes for even more contrast with the large IC. As we refine our manufacturing abilities to let us work with more challenging parts like these, it’s nice to have more options for making things even more compact. (When can we try some 0201 parts?)

New products: DRV8874 and DRV8876 motor driver carriers

Posted by Kevin on 19 April 2022
Tags: new products

We’ve expanded our selection of motor drivers again with the release of some compact carrier boards for TI’s DRV8874 and DRV8876 motor drivers, which feature current sense feedback and adjustable current limiting. These three ICs and their boards are all very similar, differing mainly by the amount of current they can handle: in a TSSOP chip package, the DRV8874 delivers up to 2.1 A continuous on our carrier board and the DRV8876 does 1.3 A. The DRV8876 chip is also available in a smaller QFN package, so for a lower-current and lower-cost option, our DRV8876 (QFN) carrier can deliver 1.1 A continuously. All three versions can drive a single brushed DC motor at voltages from 4.5 V to 37 V.

DRV8874 Single Brushed DC Motor Driver Carrier (top view).

DRV8876 Single Brushed DC Motor Driver Carrier (top view).

DRV8876 (QFN) Single Brushed DC Motor Driver Carrier (top view).

The DRV8874 and DRV8876 drivers offer a choice of control modes that includes phase/enable (PH/EN) and direct PWM (IN/IN) as well as independent half-bridge control, which lets you drive two motors unidirectionally. With their wide operating voltage range and current sense/current limiting added in, this combination of capabilities results in some unusually versatile motor driver boards, especially considering their small size. (But if you need something that works with even higher voltages, consider our similar DRV8256E and DRV8256P carrier boards too, though those don’t provide current sense feedback.)

Comparison of the DRV8874, DRV8876, and DRV8256 motor driver carriers

DRV8876 (QFN)

DRV8876

DRV8874

DRV8256E
DRV8256P
Motor channels: one
Min. operating voltage: 4.5 V
Max. operating voltage: 37 V 48 V
Max. continuous current(1): 1.1 A 1.3 A 2.1 A 1.9 A
Peak current: 3.5 A 6 A 6.4 A
Current sense feedback? 2500 mV/A 1100 mV/A none
Active current limiting: adjustable
Size: 0.6″ × 0.7″ 0.6″ × 0.6″
1-piece price: $5.95 $6.95 $9.95 $12.95 (E)
$12.95 (P)
1 On Pololu carrier board, at room temperature and without additional cooling.

New product: Motoron M3S256 Triple Motor Controller Shield

Posted by Kevin on 31 March 2022

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!

New Products

ACS724 Current Sensor Carrier -2.5A to +2.5A
Motoron M2T550 Dual I²C Motor Controller
4.2-15V, 3.3A Fine-Adjust Step-Down Voltage Regulator w/ Adjustable Low-Voltage Cutoff D30V33MASCMA
Motoron M1U550 Single Serial Motor Controller
Zumo 2040 Robot (Assembled with 100:1 HP Motors)
3pi+ 2040 Robot - Standard Edition (30:1 MP Motors), Assembled
3pi+ 2040 Robot Kit with 30:1 MP Motors (Standard Edition Kit)
ACS724 Current Sensor Carrier 0A to 20A
Ribbon Cable Premium Jumper Wires 10-Color F-F 36" (90 cm)
5V Step-Up/Step-Down Voltage Regulator S8V9F5
Log In
Pololu Robotics & Electronics
Shopping cart
(702) 262-6648
Same-day shipping, worldwide
Menu
Shop Blog Forum Support
My account Comments or questions? About Pololu Contact Ordering information Distributors