Pololu Blog

Welcome to the Pololu Blog, where we provide updates about what we and our customers are doing and thinking about. This blog used to be Pololu president Jan Malášek’s Engage Your Brain blog; you can view just those posts here.

Tower of Hanoi robot

Posted by Ryan on 17 February 2017

Pololu forum user Martin_H posted about his robot that plays the Tower of Hanoi with paper blocks. An RP5 chassis drives along a track, locating itself with electrical tape seen by QTR sensors. It serves as the base for a custom robot arm made from U-channel and driven by servos. The robot is controlled by a Baby Orangutan B-328 Robot Controller.

The forum post has a parts list and more details.

Motorizing a crank-powered adjustable-height desk

Posted by Ryan on 16 February 2017

One of our customers motorized his crank-powered adjustable-height desk by using a brushed DC motor to drive a chain that turns the crank. He details the project in this blog post. He described the project as a “learning experience”. He started with a Pololu Simple Motor Controller 18v7, which unfortunately did not survive a stall when driving an 18 V drill motor. Some drivers survive over-current situations better than others, but our general recommendation is to choose a motor driver with a continuous current rating above the stall current of your motor.

Cordless drill motors—which typically don’t come with a datasheet—can easily draw tens of amps when stalled. Note that the “peak” current rating is not usually relevant, since a driver might only be able to withstand that current for a few milliseconds. Also, you need to be especially careful when operating at high voltages: an 18 V battery can easily generate spikes above the 40 V limit of this driver if connections are made or broken while the system is powered.

After some technical support from Brandon, he switched to the beefier Pololu Simple High-Power Motor Controller 24v12 (and a lower-current motor with a datasheet, and a current-limiting power supply) to control the motor connected to his drive mechanism made from Actobotics parts. The Simple Motor Controller’s support for limit switches also came in handy for cutting off the motors when the desk reached the maximum or minimum height. He also added some LEDs for under-desk lighting.

After the electronics and mechanisms were all working, he used the Pololu USB Software Development Kit to create a C# desktop application that controls the Simple Motor Controller over USB.

The build log along with more pictures and videos is in this blog post.

Wireless timing system for drag racing RC cars

Posted by Ryan on 15 February 2017

Mike Kohn, creator of “remote control food”, used a pair of Pololu Wixel programmable USB wireless modules to control a drag racing “Christmas tree” (the traffic lights used at the start of a drag race) and finish line electronics. They communicate wirelessly (with the Wixel’s TI CC2511F32 integrated 2.4 GHz radio transceiver), timing the race and displaying the result on 7-segment LCDs. Instead of using C like most of our customers, Mike tried out his own 8051 assembler naken_asm on this project, even rewriting our example radio communication code himself in assembly. The system has break beam sensors at both the start line (to detect false starts) and the finish line. Each sensor is made from two inexpensive parts: a red diode laser and a light sensor transistor.

His assembly source code, schematics, and additional pictures and vidoes are available on his web page.

Analog PID line follower

Posted by Ryan on 14 February 2017

In his blog post, Will Moore shows off his sleek line follower that uses an analog circuit for the PID control. The circuit is made from passive components and operational amplifiers, and the PID constants can be tuned with the potentiometers on the top. The build uses a pair of Pololu 50:1 micro metal gearmotors and motor brackets.

For more details, including schematics, performance analysis, and an additional video, see the blog post.

Mission Pinball Framework supports Maestro Servo Controllers

Posted by Ryan on 13 February 2017

The Mission Pinball Framework is open-source software for running physical pinball machines. It can be used to control a re-themed pinball machine or a completely custom one. The framework supports using Pololu Maestro USB servo controllers to control RC hobby servos to create interesting pinball mechanisms. More details on using the Maestros with the pinball framework are available in their detailed documentation.

MINTomat: an over-complicated bubble gum dispenser

Posted by Ryan on 10 February 2017

MINTomat lets you operate two robot arms and a wirelessly controlled custom robot based on a Pololu Zumo chassis to dispense a gumball in an roundabout way. Their custom Zumo board is controlled with FreeRTOS on an NXP ARM Cortex-M4F, and uses a Nordic Semiconductor nRF24L01+ 2.4 GHz transceiver for wireless communication with other parts of the system. A few Pololu VL6180X time-of-flight distance sensor carriers are used for obstacle detection and navigation. The cabinet is illuminated with LED strips. A detailed build log is available at this blog post.

Just Keep Swimming: a goldfish-steered mobile fish tank

Posted by Ryan on 9 February 2017

During Build18 2017, “an annual engineering festival held by the Electrical and Computer Engineering department at Carnegie Mellon University and run by students”, a team of CMU students presented a goldfish-steered mobile fish tank that allows the goldfish to decide where to drive. The robot is controlled by a Raspberry Pi and uses some Pololu parts listed below. They posted a video of the robot on Facebook, and their project webpage has a description and a parts list.

Robotic Snow Plow

Posted by Ryan on 8 February 2017

Robert Cowan, former host of the SparkFun Friday new product videos, has made a series of videos on his YouTube channel about building a robotic snow plow. The videos includes the parts he uses, design decisions, and iterations he made along the way. Many components of the robot are reused wheelchair parts. In part 2, he uses a Pololu Simple Motor Controller 18v7 to control the linear actuator for the plow’s tilt mechanism from an RC transmitter.

New product: Romi 32U4 Control Board

Posted by Paul on 7 February 2017
Tags: new products

What do you need to turn a Romi chassis into a functioning robot? Here are some Romi projects from the community, as well a couple of our example builds:

A variety of controllers can be used with the Romi, but until now you have had to figure out lots of wiring to connect everything together. You will always need some wiring to connect your own sensors or other devices, but we have been trying to make it easier to get started, beginning with the Romi power distribution board and motor driver board, which help simplify some of the more difficult parts. Our new Romi 32U4 Control Board is the culmination of this product line: a complete controller solution for the Romi that integrates power, motor control, and an Arduino-compatible microcontroller.

Romi power distribution board, motor driver board,
and the new Romi 32U4 Control Board.

Here is how it looks when connected to a Romi Chassis with motors and encoders plugged in, as well as the optional LCD:

Features of the Romi 32U4 Control Board

Pinout diagram of the Romi 32U4 Control Board (ATmega32U4 pinout, peripherals, and board power control).

  • Reverse-protected battery power switch circuit
  • Powerful 5 V, 2 A switching regulator
  • Dual 1.8 A DRV8838 motor drivers
  • ATmega32U4 microcontroller with Arduino-compatible USB bootloader
  • 16 free general-purpose I/O ports including 10 analog inputs
  • LCD connector
  • Buzzer
  • Three user buttons
  • Five indicator LEDs (2 for power, 3 user-controllable)
  • Battery voltage monitoring
  • Quadrature encoder inputs
  • Four general-purpose level shifters
  • 3-axis I²C accelerometer
  • 3-axis I²C gyroscope
  • Raspberry Pi connector with I²C interface and HAT EEPROM

Raspberry Pi interface

Microcontrollers like the ATmega32U4 are great for fast, timing-sensitive operations such as reading sensors or driving servos, but their computing power is very limited compared to devices like the Raspberry Pi. That is why we built a Raspberry Pi interface into this board: to give you the option to expand your robot beyond what is possible with a microcontroller. This could be useful for anything from advanced applications like computer vision or room mapping to simply letting your robot share status updates on Twitter. Here is a Romi assembled with a Raspberry Pi:

When connected, the control board supplies power to the Raspberry Pi and connects to it as an I²C slave device. We include the ID EEPROM required by the HAT specification, though we have not found it particularly useful, so we ship it blank and unlocked for you to experiment with.

Our Arduino library gives example code for I²C connectivity, and you can check out our Raspberry Pi tutorial for the A-Star 32U4 Robot Controller, which we will be updating for the Romi 32U4 Control board.

For more information about the Romi 32U4 Control Board or to order, please see its product page.

New 20D mm metal gearmotors

Posted by Ben on 16 January 2017
Tags: new products

Our vast assortment of metal gearmotors has gotten even bigger! With over 100 micro metal gearmotor options and nearly 100 25D mm metal gearmotor versions to choose from, the next step seemed clear: expand our offering of 20D mm metal gearmotors, which fit nicely between the smaller micro metal gearmotors and larger 25D mm metal gearmotors. We have replaced our initial four 20D mm options with twelve entirely new gear ratios that feature more efficient gearboxes and much longer output shafts.

Original 20D mm metal gearmotor with shorter output shaft.

New 20D mm metal gearmotor with longer output shaft.

The motor portion is unchanged, and we now also offer versions with an extended motor shaft that rotates at the same speed as the input to the gearbox and can be used to add an encoder, such as our new magnetic encoder for 20D mm metal gearmotors, for closed-loop speed or position control.

20D mm metal gearmotor with extended motor shaft.

Magnetic Encoder Kit for 20D mm Metal Gearmotors assembled on a 20D mm metal gearmotor with extended motor shaft.

The table below shows our current offering of 20D mm metal gearmotors:

@ Rated Voltage
@ Rated Voltage
Stall Torque
@ Rated Voltage

(Gearbox Only)

(Gearbox & Motor)
6 V 3.2 A 560 RPM 30 oz-in 25:1 6V 25:1 6V dual-shaft
450 RPM 35 oz-in 31:1 6V 31:1 6V dual-shaft
225 RPM 60 oz-in 63:1 6V 63:1 6V dual-shaft
180 RPM 75 oz-in 78:1 6V 78:1 6V dual-shaft
140 RPM 90 oz-in 100:1 6V 100:1 6V dual-shaft
110 RPM 100 oz-in 125:1 6V 125:1 6V dual-shaft
90 RPM 115 oz-in 156:1 6V 156:1 6V dual-shaft
70 RPM 125 oz-in 195:1 6V 195:1 6V dual-shaft
55 RPM 140 oz-in 250:1 6V 250:1 6V dual-shaft
45 RPM 150 oz-in 313:1 6V 313:1 6V dual-shaft
35 RPM 160 oz-in 391:1 6V 391:1 6V dual-shaft
29 RPM 170 oz-in 488:1 6V 488:1 6V dual-shaft

We also have 12V versions on the way, so stay tuned for more information!

New Products

RoboClaw 2x15A Motor Controller (V5D)
156:1 Metal Gearmotor 20Dx44L mm 6V with Extended Motor Shaft
63:1 Metal Gearmotor 20Dx43L mm 6V with Extended Motor Shaft
100:1 Metal Gearmotor 20Dx44L mm 6V with Extended Motor Shaft
Magnetic Encoder Disc for Mini Plastic Gearmotors, OD 9.7 mm, ID 1.5 mm, 12 CPR (Bulk)
RoboClaw 2x7A Motor Controller (V5B)
488:1 Metal Gearmotor 20Dx46L mm 6V with Extended Motor Shaft
25:1 Metal Gearmotor 20Dx41L mm 6V with Extended Motor Shaft
RoboClaw 2x45A Motor Controller (V5D, pin header I/O)
Romi 32U4 Control Board
Log In
Pololu Robotics & Electronics
Shopping cart
(702) 262-6648
Same-day shipping, worldwide
Shop Blog Forum Support
My account Comments or questions? About Pololu Contact Ordering information Distributors