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.
Along with the V5 RoboClaw motor controllers we recently started carrying (2x5A, 2x15A, and 2x30A), we now have a pair of 2x45A versions from Ion Motion Control as well. The regular RoboClaw 2x45A (V5) has pin headers for its control I/O connections, like the other RoboClaws, while the Roboclaw ST 2x45A (V5) has screw terminal I/O connections for a potentially more convenient way to connect wires.
Both variants are capable of supplying a continuous 45 A (60 A peak) to a pair of motors at voltages from 6 V to 34 V, and they offer the same control options as the other members of the RoboClaw family: USB, TTL serial, RC signals, and analog voltages.
This new ball caster is an improved version of our original ball caster with 1″ plastic ball, with better rollers for reduced friction and a two-part ABS housing that securely encloses the plastic ball. The ball can rotate freely in any direction, making this caster suitable for use as a third contact point for wheeled, differential-drive robots weighing up to around ten pounds (the smaller ball caster on our 3pi robot is an example of this kind of application).
We designed the rollers to be replaceable by ball bearings for even better performance, and we expect to release a version that includes them by the end of summer. If you’re impatient, you can make this upgrade yourself by getting some standard 3×7×3mm ball bearings (3 mm inner diameter, 7 mm outer diameter, 3 mm width) along with 3 mm diameter dowel pins to hold them. The left picture below shows dowel pins we crudely cut ourselves in 8 mm segments from a longer rod.
You can also replace the included plastic ball with a metal one (not included) if a harder ball would better suit your application, but please note that a metal ball is much heavier and will not necessarily increase the load-bearing capacity of the ball caster.
The Pololu Dual MC33926 Motor Driver for Raspberry Pi is our latest offering designed to help you build a robot around the powerful and versatile Raspberry Pi single-board computer. It features a pair of Freescale MC33926 motor drivers, each capable of supplying a motor with up to 3 A continuous (5 A peak) at voltages from 5 V to 28 V. This makes it a good choice for driving bigger things like our 25D and 37D motors and even linear actuators.
|Driving motors with an assembled dual MC33926 motor driver on a Raspberry Pi Model B+. A step-down regulator provides 5 V to the Raspberry Pi.|
We particularly like using the MC33926 because of its robustness: it can withstand voltage transients up to 40 V, and it has a current regulation feature that actively limits the output current to a safe amount. Furthermore, the driver automatically lowers the current limit as its temperature increases, allowing it to gracefully reduce the motor current instead of abruptly shutting down.
This add-on board is a step up from the relatively minimal, lower-power DRV8835 motor driver expansion we released last year, but it is just as easy to use. Our Python library helps you quickly get your motors running with the board’s default pin mappings, which use logic gates to enable drive/brake operation of the MC33926 drivers with only two control pins per motor.
Additional inputs and outputs on the MC33926 drivers are exposed for advanced users who want to make use of other configurations and control methods, and a small prototyping area on the side of the board provides a convenient space for adding custom circuits. As with the DRV8835 board, you can optionally connect a voltage regulator (not included) to power the Raspberry Pi from the motor power supply.
The motor driver board is available in two versions:
- a partial kit, with connectors included but not soldered in
- fully assembled, with the female header and terminal blocks soldered to the board
If you’re familiar with other Raspberry Pi add-on boards, you might find it unusual that we are not calling this board a “motor driver HAT”. In fact, it meets most of the requirements needed to qualify as a Raspberry Pi HAT (Hardware Attached on Top): it matches the HAT mechanical specification, and it even includes the recommended ideal diode circuit, allowing the optional regulator and the Raspberry Pi’s usual USB Micro-B power supply to be safely connected at the same time.
The reason the board does not qualify as a HAT is the absence of an ID EEPROM. Such a component is intended to allow the Raspberry Pi to identify a HAT board and configure itself to work with that board. We spent some time looking into how an ID EEPROM might help make this motor driver expansion better or easier to use, and we made provision for adding one in the design of the PCB, but eventually we concluded that it seems to offer no substantial value for this kind of board. (We’ve even seen some similar HATs from other manufacturers that ship with a completely blank EEPROM!)
Automatic configuration might be useful for making the Raspberry Pi automatically load a Linux device driver for an I²C or SPI add-on, but since this motor driver expansion is controlled with direct manipulation of GPIO pins, the responsible program or library can easily set up the pins itself before it begins driving and reading them. Other use cases, like enabling the Raspberry Pi to detect whether the HAT is connected and potentially distinguish between different versions of the HAT, would require much more complex support software to take advantage of while being of questionable benefit.
As a result, we’ve decided to omit the ID EEPROM from the board, even if that means it doesn’t meet the full HAT specification and shouldn’t be called a HAT. The EEPROM format specification still appears to be preliminary and subject to change, so it’s possible that future Raspberry Pi updates will make the EEPROM more useful; if so, we will likely reconsider the decision not to populate the EEPROM chip. However, if you think we’ve missed an argument for including an ID EEPROM now or have any other thoughts on its value, we’d be interested to hear your observations.
We’re excited to offer a series of APA102C-based addressable RGB LED strips to complement our existing WS2812B-based LED strips. Like the WS2812 strips, the new strips have connectors on both ends to make chaining easy, and they are available in the same six combinations of LED densities and lengths:
- 1 meter, 30 LEDs (30 LEDs/m)
- 2 meters, 60 LEDs (30 LEDs/m)
- 5 meters, 150 LEDs (30 LEDs/m)
- 1 meter, 60 LEDs (60 LEDs/m)
- 2 meters, 120 LEDs (60 LEDs/m)
- 0.5 meters, 72 LEDs (144 LEDs/m)
Like the WS2812B, the APA102C combines an RGB LED and driver into a single 5050-size package, allowing them to be packed as densely as 144 LEDs per meter, and each pixel can be individually addressed to give you full control over the color of each RGB LED. However, while the WS2812B uses a high-speed one-wire control interface with strict timing requirements, the APA102C has a standard SPI interface, with separate data and clock signals, that lets it work with a wide range of communication rates, making it much easier to control.
For example, it isn’t easy for a Raspberry Pi to generate a control signal with the exact timings that the WS281x requires. However, an APA102 only reads its data signal on the rising edge of its clock signal, and the Raspberry Pi controls both signals, meaning it is free to bit-bang data to the LEDs as slowly (or quickly) and as irregularly as it wants. Alternatively, it’s straightforward to use the SoC’s built-in SPI peripheral to drive APA102 LEDs. Of course, both the bit-banging and hardware SPI approaches can also be used on many other devices, including A-Stars and Arduinos.
|Close up of one segment of an APA102C-based LED strip, with the red, green, and blue LEDs on at a low brightness.|
The APA102C also offers a few other improvements over the WS2812B, including a color-independent brightness control that lets you easily adjust the intensity of each LED without changing its color. Also, the color channels on an APA102C are pulse-width modulated (PWM) at a much higher frequency, making it less susceptible to flickering on camera and more suited to persistence-of-vision (POV) applications.
For more information about our APA102C-based LED strips, see their product pages.
To wrap up this round of distributor introductions, I would like to welcome the following new Pololu distributors in Asia:
See the full list of over 200 distributors to find one in your area.
In celebration of Independence Day (July 4th), we are putting our entire catalog on sale at 10% to 25% off through the end of Monday, July 6. Note that we will be closed tomorrow, so orders will not ship until Monday, July 6.
For more information, including all the discount coupon codes, see the sale page.
Happy 4th of July!
We’re now selling the latest V5 versions of the RoboClaw 2x5A, 2x15A, and 2x30A dual motor controllers from Ion Motion Control. Like the previous V4 RoboClaws, they can drive a pair of brushed DC motors at voltages from 6 V to 34 V, but the 2x5A now has a USB serial interface (in addition to TTL serial, RC, and analog inputs) like its larger siblings, and the 2x15A and 2x30A have a new heat sink design that should improve cooling. We expect to have updated documentation for the new versions soon.
We are excited about our new 0.1″ terminal blocks because they can typically be soldered to PCBs in place of standard 0.1″ male and female headers, offering alternative board-to-wire connection options that can be especially convenient in cases where you know you will be dealing with stripped, unterminated wires. For example, the following picture shows an 8-pin terminal block spanning the control connections of a VNH5019 motor driver carrier:
There are some low components (e.g. resistors and capacitors) near the motor driver’s 0.1″ holes, but the terminal block is able to comfortably sit on top of them. In cases where there is not sufficient clearance from tall, nearby components, it might be possible to use the terminal blocks on the bottom side of the PCB. The following picture is an example of this, with a 4-pin terminal block used for the motor and motor power connections of a DRV8801 motor driver carrier:
And in case these pictures are giving the illusion of large PCBs rather than tiny terminal blocks, we have for your viewing pleasure a picture of these terminal blocks in a 0.1″ prototyping board (Adafruit’s Perma-Proto prototyping PCB) next to some standard 0.1″ male header pins:
These terminal blocks cannot be combined into longer strips or placed side-by-side on a 0.1″ grid, so you will need to get the exact lengths required by your application. Fortunately, we have nine lengths to choose from, from two pins through ten pins!
We now have a shorter (20 mm) 12 mm Hex Wheel Adapter for 6 mm Shaft as an alternative to our original 35 mm extended version. These adapters work well with our 37D mm metal gearmotors, allowing you to use them with many common hobby RC wheels.
|12mm Hex Wheel Adapter for 6mm Shaft connecting a Wild Thumper Wheel to a 37D mm Metal Gearmotor.|
For our full selection of these adapters, see our hex wheel adapter category.
These drivers each offer wide operating voltage ranges, with the BD65496MUV operating from as low as 2 V up to 16 V and the MAX14870 operating from 4.5 V all the way up to 36 V. They can each supply over an amp to a single, bidirectional brushed DC motor. These are the highest-performing integrated motor drivers we know of short of substantially larger units such as the MC33926 and VNH5019. For more information on these drivers, click on the related products below: