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.
If you’ve checked out my company profile, you might have noticed that my focus at Pololu is on developing mechanical parts. So, I am particularly excited to reveal this basic board I designed! (Don’t worry, like Jan mentioned in this blog post, we have support structures for checking all of the work we do, so other experienced electrical engineers here assessed and contributed to my work.)
The DRV8838 motor driver carrier is the smallest motor driver we’ve made yet. With a motor supply range from 0 V to 11 V and the ability to deliver a continuous 1.7 A (1.8 A peak) to a single brushed DC motor, the DRV8838 is an exciting option for controlling any one of our plastic or micro metal gearmotors. (That includes the high power versions.)
For more information about this carrier, see its product page.
But Jon, why are mechanical engineers designing PCBs?
As our products get more sophisticated, we find ourselves wanting to integrate mechanical and electrical aspects of our design process. To give the mechanical engineers better perspective on what goes into designing electronics, we were each assigned a simple board to develop. We expect this to improve our all-around engineering abilities and also to lead to additional benefits for our customers, like better documentation and support.
I received a phone call yesterday from a writer for a local community-oriented, general-interest publication. Pololu is one of a dozen or so companies she was covering in an article about technology-related companies in southern Nevada, and she asked some basic questions about Pololu and how we might be relevant to Las Vegas-area locals. She then asked if there was anything else I would like to add or have mentioned about us. I answered that since I wasn’t really clear on what this article was going to be or what the intended audience was, I did not know what would be appropriate or interesting. I suggested that she could send me a draft of her article so that I might have a better context for giving her additional info. Continued…
A few of us are at work late having our Palm Tree League fantasy football draft after a week of qualifying events to determine draft order, including guessing how long it would take to print a 5cm-tall Yodapus Rex with a 3D printer we assembled recently. (Answer: 5.25 hours.) By far the most entertaining event was the race we ran yesterday around the outside of the Pololu building. The race was a little over 300 meters long, and many people from Pololu participated. Congratulations to Jon for winning for the second year in a row (although much of the margin he beat me by was from his false start). And Candice might want me to point out that she is pregnant so she has a decent excuse for finishing last.
In the United States, the first Monday of September is Labor Day, a holiday celebrating the contributions of workers. As a robotics company, we appreciate all the physical and creative work that goes into the creation of “labor-saving” devices, and we hope you will join us in celebrating these efforts, perhaps by spending the long weekend working on your own robotic creations.
We are having a big Labor Day sale throughout the weekend, with 15% discounts on over 400 products when you use the coupon code LABORDAY14. Note that we will be closed on Monday, so orders placed after 2 PM Pacific Time on Friday, August 29 will be shipped on Tuesday, September 2.
When the Raspberry Pi Model B+ was released last month, one of the most exciting features for us was the availability of a second hardware PWM output that can be used for motor control (previously, only a single hardware PWM output was available on the Model A and Model B). Two is a really useful number for robot builders, since that’s what you need for a basic robot platform, so we thought it would be a great time to make a dual motor driver kit for the Raspberry Pi.
The new Pololu DRV8835 Dual Motor Driver Kit for Raspberry Pi B+ is a minimal, low-cost motor driver expansion board based on the Texas Instruments DRV8835 dual motor driver, one of our favorite motor driver chips for small robots like the Zumo because of its excellent combination of size, cost, and performance. We carry a basic breakout board for this chip and just released an Arduino shield based on the DRV8835 last week.
When assembled, the board plugs into a 2×17 block of pins on the Raspberry Pi GPIO header. Power and motors are connected to a separate block of pins, and you can use the included terminal blocks for easier wiring. The board takes an input voltage of 2 V to 11 V and provides two bidirectional motor channels capable of 1.2 A continuous or 1.5 A peak. You can also reconfigure the board for a single channel with twice the current.
Bonus feature – power your Raspberry Pi from your motor supply!
The Raspberry Pi requires a regulated 5 V supply, which is usually provided via the Micro-B USB power port. This is fine for a stationary setup, since you can just use a USB wall power adapter. On a battery powered Raspberry Pi-based robot, however, you need to somehow incorporate your own 5 V regulator capable of supplying about 500 mA. To help simplify your project, the motor driver kit includes a connection point for a three-pin regulator with the standard VIN-GND-VOUT pinout.
In the picture below you can see a complete setup using the motor driver board and our Step-Up/Step-Down Voltage Regulator S7V7F5 to drive two Pololu plastic gearmotors and power the Raspberry Pi from a set of four AA NiMH cells. This regulator is a good match for the range of input voltages of the DRV8835, though below about 4 V you might need something with higher current capability.
For more information, including schematics, pinout diagrams, and example Python code, see the product page.
LVBots held a looped maze solving competition at Pololu on August 7th. It worked a lot like the maze solving competition we held in May, except we advanced to a maze that had loops. Adding loops might not seem like much, but it makes solving mazes fundamentally more challenging. Instead of being able to follow a simple strategy like always turning left, the robots need to keep track of where they are in the maze in order to find an efficient path through it. The video shows the robot runs superimposed, making them easy to compare.
Robots based on the 3pi once again dominated. Ben’s 3pi: Ghost has an especially fun provenance: it is serial number 0J17, which is a very early production unit that David gave to Kevin for his birthday back before Kevin worked at Pololu. Ben’s ridiculously optimized/calibrated code from many years ago somehow worked only on our earliest 3pis, which had motor brackets that we painstakingly injection molded by hand and 3D printed wheels and ball casters. Now that he has kids, Ben doesn’t have as much time for hours of fine tuning, so his era of dominance will likely come to an end as soon as he runs out of access to ancient 3pis.
Are you in the Las Vegas area? Check out the LVBots Meetup page to get involved.
We just released the P-Star 25K50 Micro, a programmable breakout board for Microchip’s PIC18F25K50 microcontroller. Although we have been using PIC microcontrollers since our very first product, the P-Star 25K50 Micro (abbreviated P*) is our first product where the PIC microcontroller can be programmed by the user. The P-Star 25K50 Micro is the same size as our AVR-based A-Star 32U4 Micro, and we designed it with the hope that it would be small and cheap enough to go into (and stay in) almost any project.
The PIC18F25K50 has 32 KB of flash program memory, 2 KB of RAM, and built-in full-speed USB functionality. Applications can be developed using standard Microchip PIC compilers and development tools (such as MPLAB X and XC8).
The P-Star 25K50 Micro can be programmed via its proprietary USB bootloader using our open source software that is available for Windows, Linux, and Mac. The bootloader uses 8 KB of flash memory, leaving 24 KB for the user. Alternatively, an ICSP programmer can be used to erase the bootloader and access the full 32 KB of program memory. (Since the bootloader cannot be recovered, we recommend this option only for those who are comfortable programming exclusively with an external programmer.)
The P-Star 25K50 Micro features a precision 16 MHz crystal, a USB Micro-B connector, and three user-controllable LEDs. A voltage regulator and power selection circuit allow the board to be powered from either USB or an external 5.5 V to 15 V source, while a resettable PTC fuse on the USB VBUS supply and reverse protection on VIN help protect it from accidental damage.
Compared to the popular ATmega32U4 microcontroller, the PIC18F25K50 has nearly the same performance and memory capacity, but it also has some compelling features that are missing on the AVR. For example, the PIC18F25K50 uses the PIC18 architecture, which has two interrupt priority levels: interrupts can be assigned to either level, and a high-priority interrupt routine can run in the middle of a low-priority one. This powerful feature is what enables our Maestro servo controllers to generate precise servo signals while still using low-priority interrupts to assist with serial communication and other tasks. Unlike the ATmega32U4, the PIC18F25K50 can operate at full speed down to 2.7 V (though the brown-out reset on the P-Star is activated at 2.85 V by default).
The PIC18F25K50 also has a 5-bit digital-to-analog converter (DAC), which is a fun feature not available on many 8-bit microcontrollers.
For more information, check out the P-Star 25K50 Micro page, and let us know what you think in the comments.
We are excited to announce the addition of two new motor drivers to our selection of Arduino shields: the Pololu DRV8835 Dual Motor Driver Shield for Arduino and the Pololu A4990 Dual Motor Driver Shield for Arduino. These miniature shields are low-cost, basic dual motor drivers for your Arduino or Arduino-compatible board. When connected to an Arduino, each provides two channels of bidirectional PWM motor control suitable for driving small brushed DC motors. The boards include various handy features like reverse protection, multiple power and motor connection options, and the ability to customize some of the pin mappings. Our open-source libraries provide a convenient way to get started controlling these motors with an Arduino.
Selecting a motor driver shield
The main practical difference between the shields is their input voltage range, so most people should probably select a shield based on their desired power supply. Here are some details:
Our DRV8835 shield, based on the DRV8835 motor driver from Texas Instruments, has an input voltage range of 2 V to 11 V and can deliver a continuous 1.2 A (1.5 A peak) on each channel. It is suitable, for example, for battery-powered robots similar to the 3pi or Zumo. As a bonus feature of our shield, you can parallel the motor outputs to get a single channel with twice the current capability.
Our A4990 shield uses the Allegro A4990 and is specifically intended for higher-voltage applications, such as projects powered by a 12 V or 24 V battery. It has an input voltage range of 6 V to 32 V and can deliver a continuous 0.65 A (0.9 A peak) per channel. The A4990 can detect and signal a variety of errors like over-temperature and short-circuit, allowing more sophisticated control and monitoring.
Basic breakout boards available
Congratulations to our summer interns!
If you carefully inspect the back of the boards, you will notice “TKern” and “izzyg” etched in copper. These inscriptions commemorate the internships of Ted Kern and Ismael “Izzy” Gomez, Las Vegas natives who were indoctrinated in Pololu design philosophies this summer while creating these new products. We wish Ted and Izzy good luck as they head/return to college at CMU and MIT!
Robert Stephenson (blobbington) posted about his robot dinosaur, Roboceratops, on the Trossen Robotics forums. Roboceratops is a small robotic dinosaur built to resemble a member of the Ceratopsian group. It uses a total of 14 servos for movement that are commanded through two of our Mini Maestro 12-Channel Servo Controllers, which are controlled by serial commands from his custom hand held controller. The controller is directly wired to Roboceratops and uses an Arduino Mega 2560, an LCD screen and two 3-axis joysticks. Robert wants to improve his design by making it wirelessly controlled and battery powered, and he plans to eventually make Roboceratops autonomous.
Roboceratops is mainly constructed out of laser cut MDF, but the legs are made from aluminum square bar. Upholstery foam was added to the legs to make them look more like real legs. The case of the controller and the neat carrying case at the end of the video also appear to be laser cut.
Forum user Erich uses our Zumo chassis as a platform for teaching robotics, but instead of using the Zumo shield, he has been making his own custom electronics that let it do many more things. One of his most recent projects, which he describes in this forum post, involves a control board he designed that uses a Freescale ARM Cortex-M4F running at 120 MHz. He says it is capable of running WiFi, USB, GPS, and processing encoder signals in real-time.
Erich also used the ElecFreaks’ joystick shield to run his modified Zumo, which sounds like a lot of fun! For more information on this project, including some of the problems he had to overcome to get it all working, see this forum post or visit Erich’s website.
Erich has posted to our forum about his projects before; you can find a list of the forum posts he made that we blogged about below:
March 2013: Zumo Robot with FRDM-KL25Z Board
September 2013: Zumo Robot with Pololu Plug-in Modules
October 2013: Zumo Robot with Pololu Plug-in Modules, assembled
December 2013: Zumo Tournament Videos
US toll free: 1-877-7-POLOLU ~