Motoron M3H256 Triple Motor Controller Kit for Raspberry Pi

by Pololu

The Motoron M3H256 Triple Motor Controller makes it easy to control up to three bidirectional, brushed DC motors from a Raspberry Pi (Model B+ or newer) through an I²C interface.

Each module can independently control up to three motors, and multiple Motoron boards can be stacked on top of the same Raspberry Pi for projects that need to control even more motors. The M3H256 operates from 4.5 V to 48 V and can deliver continuous output currents up to 2 A per motor. This version ships with a variety of header pin and terminal block options included but not soldered in.

The M3H256 is designed to stack on top of a Raspberry Pi (Model B+ or newer), similar to a HAT (Hardware Attached on Top), and multiple Motoron controllers can be stacked on top of each other, allowing independent control of many motors. Unlike most Pololu motor drivers and motor driver expansion boards for Raspberry Pi, the Motoron does not require any PWM outputs on your Raspberry Pi. Instead, the Raspberry Pi communicates with the Motoron using I²C, so only two GPIO pins are needed regardless of how many Motorons you connect.

For applications using an Arduino or compatible controller, consider the Motoron M3S256 instead

This kit ships with the following connectors included but not soldered in:

  • Two 1×10 stackable female headers (or one 2×10 header)
  • Four 2-pin 3.5mm terminal blocks
  • Four 2-pin 5mm screw terminal blocks
  • One 1×25 breakaway male header (you can cut or break this into smaller header strips to install as desired)

It also includes a set of two M2.5 standoffs (11 mm length), screws, and nuts that can be used to secure the board at the proper height for the GPIO connector.

There are more connectors included than can be soldered to the board, providing different assembly options to suit a variety of applications. Additional connector options are available separately, and you can also solder wires directly to the board for more compact installations.

Note: For applications where the Motoron will be used as a standalone board or at the top of an add-on board stack, it can be assembled with the included 0.1″ male header pins and larger (5.0mm-pitch) blue terminal blocks. For applications where the Motoron will be one of the intermediate members of a stack of add-on boards, we recommend assembling it with the stackable headers and smaller (3.5mm-pitch) green terminal blocks. The terminal blocks are intended to be soldered to the larger through-holes for the power and motor connections, and the blue ones should get locked together prior to installation.

Features and specifications

  • Three motor control channels allow for independent control of up to three bidirectional brushed DC motors per Motoron
  • Wide operating voltage range: 4.5 V to 48 V
  • Maximum output current per motor: 2.0 A continuous, 6.4 A peak for <1 second
  • Reverse-voltage protection on motor power supply (down to -40 V)
  • Logic voltage range: 2.8 V to 5.5 V
  • Control interface: I²C
  • I²C clock speed: up to 400 kHz
  • Optional cyclic redundancy checking (CRC)
  • Configurable motion parameters:
  • Max acceleration/deceleration forward/reverse
  • Starting speed forward/reverse
  • Direction change delay forward/reverse
  • PWM frequency: eight options available from 1 kHz to 80 kHz
  • Command timeout feature stops motors if the Raspberry Pi stops communicating
  • Configurable automatic error response
  • Motor power supply (VIN) voltage measurement
  • Optional pins make it easy to power the Raspberry Pi from reverse-protected motor power through an external regulator (not included)
  • Two status LEDs
  • Motor direction indicator LEDs
  • Motoron Python library simplifies getting started using the Motoron with a Raspberry Pi
  • Comprehensive user’s guide

Documentation and other information


Recommended links