
Arduino MKR Motor Carrier
Sold outWant to connect several motors and sensors to your mechatronic project? The Arduino MKR Motor Carrier is the perfect companion for Arduino MKR boards as it will allow you to rapidly prototyping and build your projects.
Overview
The MKR Motor Carrier is an MKR add-on board designed to control servo, DC, and stepper motors. The Carrier can also be used to connect other actuators and sensors via a series of 3-pin male headers.
The summary of features is shown below:
- Compatible with all the boards in the MKR family
- Four servo motor outputs
- Four DC motor outputs (two high performance + two standard performance)
- Sensing of current feedback for the high-performance motors
- Two inputs for encoder sensors
- Four inputs for analog sensors (3-pin compatible)
- Possibility to read the status of the batteries
- ON-OFF switch with Power ON LED
- LiPo battery connector (2S or 3S compatible) and power terminal block for alternative power source
- LEDs to visually indicate the direction of the rotation of the DC motors
- On-board processor for automated control of some of the outputs
- I2C connector as a 4-pin male header
Tech specs
Microcontroller |
ATSAMD11 ( Arm Cortex-M0+ processor) |
Max current (MC33926) |
5 Amps Peak, RMS current depending on the degree of heat sink provided |
Max current (DRV8871) |
3 Amps peak, current limited by current sense resistor. |
Rated voltage |
6.5 to 11.1V |
Reverse current protection |
Yes |
Over Temperature shutdown protection (for DC motor drivers) |
Yes |
Clock speed |
48 Mhz |
On board voltage regulator |
5V |
Interface |
Terminal block and 3 pin/4 pin header connector |
Compatibility |
MKR Family |
The MKR Motor Carrier features two MC33926 motor drivers for high-performance DC motor control with direct connection to the MKR1000, current feedback, and capacity for up to 5 Amps (peak). In addition, there are two DRV8871 drivers that are controlled from a SAMD11 microcontroller that communicates with the MKR1000 via I2C (SPI optional). The SAMD11 is also used to control the servos, read the encoders, and read the battery voltage. There is an interrupt line connecting the SAMD11 (on PA27) and the MKR board.
Note that for extended use or high-current motors, an extra heatsink (and eventually a fan) might be required for the drivers.
When plugging the MKR1000 and the Motor Carrier, some of the pins will stop being available for you to use in your code, as they will be needed to control some of the features of the Carrier. For example, the current feedback from the two MC33926 drivers is connected directly to some of the analog pins on the MKR1000. The following list explains which pins of the MKR1000 are used to control the Carrier:
- Analog pin A3 for current feedback from Motor3
- Analog pin A4 for current feedback from Motor4
- Digital pin D2 for IN2 signal for Motor3
- Digital pin D3 for IN1 signal for Motor3
- Digital pin D4 for IN2 signal for Motor4
- Digital pin D5 for IN1 signal for Motor4
- Digital pin D6 for Interrupt signal from the SAMD11 to the MKR1000
- Digital pin D11 for the SDA signal (I2C)
- Digital pin D12 for the SCL signal (I2C)
Also, some pins can optionally be connected via a soldering jumper or a 0 Ohm resistor. These pins are:
- Digital pin D1 for the SF signal from the MC33926 drivers (optional)
- Digital pin D7 for the SPI SS signal (optional)
- Digital pin D8 for the SPI MOSI signal (optional)
- Digital pin D9 for the SPI SCK signal (optional)
- Digital pin D10 for the SPI MISO signal (optional)

Libraries
MKR Motor carrier library
Conformities
Resources for Safety and Products
Manufacturer Information
The production information includes the address and related details of the product manufacturer.
Arduino S.r.l.
Via Andrea Appiani, 25
Monza, MB, IT, 20900
https://www.arduino.cc/
Responsible Person in the EU
An EU-based economic operator who ensures the product's compliance with the required regulations.
Arduino S.r.l.
Via Andrea Appiani, 25
Monza, MB, IT, 20900
Phone: +39 0113157477
Email: support@arduino.cc
Documentation
OSH: Schematics
The Arduino MKR Motor carrier is open-source hardware! You can build your own board using the following files:
EAGLE FILES IN .ZIP SCHEMATICS IN .PDFLearn more
Get Inspired

Control the air/fuel mixture for a better fuel economy of a engine with a Arduino Nano.

When you want to paint the walls in your bedroom that very specific shade of Misty Irish Green, all you have to do is head to your local hardware store and have them scan the corresponding card. The paint-mixing machine will then add the pigment to a white base and, a few minutes later, you have that exact color. So, shouldn’t you be able to do the same thing with acrylic paint for hobby purposes? Now you can, thanks to the “Color By Code” machine designed by Caltech students Frida Moreno and Asmat Kaur Taunque. Moreno and Taunque built Color By Code for a class project and it is, essentially, a hobby version of those hardware store paint-mixers intended for acrylic paint. As is the standard across many industries that deal with pigments, paint, and printing, this works using CMYK (cyan, magenta, yellow, key) color mixing. Here, the key is black and the machine takes an input color value for each component, then dispenses the paint in those ratios to achieve the desired hue. That all happens under the control of an Arduino Nano Every board. That operates peristaltic pumps, via L298N motor drivers, that dispense each color. Afterwards, a flushing procedure clears the lines before the next mix. The pumps fit into a 3D-printed stand, with the hoses dropping below to a waiting container. At this time, the user must set the color values through serial commands. But the team hopes to create a Bluetooth app in the future. They also plan to add a weight sensor, which would improve the machine’s accuracy.