Bricktronics Motor Driver

Drive a pair of NXT or EV3 motors with any microcontroller

Temporarily out of stock
Sign up for back-in-stock notifications!

Want to use LEGO Mindstorms NXT motors with your microcontroller development board?

The Bricktronics Motor Driver lets you connect two NXT motors to our injection-molded NXT-compatible sockets, with the necessary electronics to allow your microcontroller to control the motors, plus get position feedback from the motors.

  • Supports two LEGO NXT motors:
  • -- Bi-directional speed and position control
  • -- Support for reading the position feedback from the encoders
  • High-current motor driving chip to handle high-torque and high-speed motor loads
  • Uses standard LEGO NXT cables
  • Works with any 5 volt compatible microcontroller
  • Pre-assembled circuit board, available either with or without header pins attached
  • Two convenient mounting holes for 4-40 or M3 screws.

All you need to do is download the easy-to-use BricktronicsMotor Arduino library, check out the examples, and start building!

Kit Contents

The comes pre-assembled using surface mount and through-hole components. The standard 0.1" header pins are either pre-soldered or left loose in the bag to provide flexibility for your project.


The Bricktronics Motor Driver is pre-assembled but can be purchased in two configurations:

  • Header pins attached - The standard 0.1" header pins are pre-soldered to make it easy to plug into a breadboard or use with female jumper wires.
  • Header pins loose - The header pins are not pre-soldered but still included in the bag. If you want to solder in your own wiring harness (photo above) this is the way to go.

What you need

The Bricktronics Motor Driver connects an Arduino or other 5v-compatible microcontroller to LEGO NXT or EV3 motors. Microcontroller, motors, and cables are not included. Both the LEGO Mindstorms NXT 2.0 motors and the LEGO Mindstorms EV3 motors are compatible with the Bricktronics Motor Driver.

Motors need more power than most electronics, and the LEGO NXT motors have special power requirements. You typically need between 600 – 1000 mA of current per motor, depending on motor speed and load. The LEGO NXT motors need between 7.2 and 9 volts for driving the motor, and also need between 4.3 and 5 volts for the encoder position feedback circuits. To power your stationary creations, our 9 volt 2000 mA wall adapter works great. If you want to power your creations on the go, our 6-AA battery pack works great too.

Software Libraries

The software libraries for the Bricktronics products was completely redesigned in 2015. The all-inclusive Bricktronics library has been broken into one library per motor/sensor, making it easier to add support for new sensors as well as making it easier to port the libraries to non-Arduino platforms. The new BricktronicsMotor library includes support for any use of the LEGO motors, including with the Bricktronics Shield, Bricktronics Megashield, or the new Bricktronics Motor Driver. More details about the 2015 software library v1.2 redesign.

Electrical Interface

The Bricktronics Motor Driver board has 15 pins, divided into three parts: One set of five pins are for the power supply needs, and two sets of five pins are for each motor.

Power supply connections:

To power the circuit board and the motors, provide a ground connection (GND), 5 volts DC (VCC), and your motor voltage (VM). LEGO NXT motors can be driven with up to 9v. Because motors require lots of current (up to an amp per NXT motor under heavy load), there are two connections each for GROUND and VM. If you are using both motors in a high-load situation, please use both connections for GND and VM. The 5v VCC is used to power the logic circuits in the motor driver chip, as well as powering the encoder position feedback in the motors.

Motor control and feedback connections:

Each motor has five connections:

  • Enable (EN) - Drive this pin low to disable the motor drivers, drive this pin high to enable motor drivers.
  • Direction (DIR) - Setting this pin high/low will drive the motor either clockwise or counter-clockwise.
  • Speed (PWM) - Once you enable the motor drivers and have set your direction, provide a pulse-width modulated signal to this pin to control the motor’s speed.
  • Encoder Tachometer pins (T1 and T2) - These two pins provide a quadrature encoded signal that tracks the motor’s rotation. More details here.

May we suggest...

Open Source Hardware

This kit is open source hardware. We make the hardware source files like the schematic and the pcb files available for anyone to use as long as you credit us and release any modifications as open source hardware. The schematic and pcb files are available on the Bricktronics download page.


When you're finished building the kit, let us know how it went! We use feedback to improve future versions of our kits, and the warm fuzzies help us make more kits! Let us know in the forum or via email.


A portion of the profits of this kit go to John Baichtal, an author of the Make: Lego and Arduino Projects book.

Wayne and Layne, LLC and our products are not connected to or endorsed by the LEGO Group.
LEGO, Mindstorms, and NXT are trademarks of the LEGO Group.