Pololu Blog (Page 16)
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.
Tomorrow is Pi Day (3/14/15 in the standard US date format of month/day/year), and we are celebrating by having a special overly-pi-themed one-day sale:
- Use coupon code PIDAY975 to get 31.4% off a 3pi robot (limit 3 per customer).
- Use coupon code PIDAY2753 to get a DRV8835 Dual Motor Driver Kit for Raspberry Pi B+ for $3.14 (limit 3 per customer).
- Use coupon code PIDAY to get 3.14% off your entire order (this discount is only valid for order subtotals between $3.14 and $314.16 and cannot be combined with other coupon discounts).
The sale is live now and runs through the end of tomorrow (midnight Pacific Time).
I am excited to announce the release of our new Zumo 32U4 Robot Kit, a complete Arduino-compatible robot kit based on the ATmega32U4. We have, in some sense, been working on this robot for about seven years.
One of our major long-term goals at Pololu is to be making complete robots, and many of the parts we make are stepping stones toward that goal. The first real step toward the Zumo started back in 2008, shortly after we started carrying our micro metal gearmotors, when we released the compatible wheels shown at right. The intent was that they could be used with either tires or tracks and optionally with encoders, and that eventually they would be a part of our own robot.
A few years later we had assembled enough parts to release the Zumo chassis. We planned to use this as the base for a complete robot, but by releasing it first as a component, we got to see the community do a lot of interesting things with it. (Check out this Raspberry Pi Zumo, for example.)
It was not until 2012 that we were able to announce a complete robot, the Zumo Robot Kit for Arduino, which combined all of these parts with a new board containing a boost regulator, motor drivers, and inertial sensors. The board works like an upside-down shield: you plug an Arduino onto the top of the robot. We released a compatible reflectance sensor array soon after that, making it possible to use the Zumo for everything from mini-sumo to maze-solving.
So we sort of had a new complete robot, but it was not quite complete enough for us, since it still required a separate Arduino, which we did not manufacture. Also, the upside-down shield configuration blocked a lot of space for expansion and prototyping, we lacked a good solution for obstacle/opponent sensing (that’s important for mini-sumo!), and we had received lots of requests for encoders, which are hard to squeeze into the available space. A lot of our effort in 2013 and 2014 went toward components that we thought could be used on a more complete Zumo, such as smaller quadrature encoders and 38 kHz IR proximity sensors. And developing our A-Star 32U4 line of Arduino-compatible controllers based on the ATmega32U4 helped integrate the Arduino functionality directly into the robot.
So finally we had all the pieces available to make a new, much more capable Zumo that would be completely Pololu, the Zumo 32U4 robot:
The Zumo 32U4 incorporates many features of the A-Star 32U4 Prime LV, including an ATmega32U4 microcontroller with an Arduino-compatible USB bootloader and a step-up/step-down voltage regulator system. There is a handy 8×2 character LCD on top and a buzzer for simple beeps and music. Like the Zumo Robot for Arduino, our kit includes dual motor drivers, a complete 9-axis IMU, and line sensors, but the new integrated quadrature encoders and proximity sensors make this a far more capable platform.
We are initially offering the Zumo 32U4 robot only as a kit. Soldering is required, and it is intended for more advanced or ambitious electronics builders. There are a number of build options – two different kinds of IR LEDs are included and you choose your motor gear ratio – and the construction gives you opportunities to show off your craftsmanship. Some Pololu engineers, for example, have been 3D-printing custom LED holders that mount onto the blade of their Zumos. The Zumo is also expandable; almost all of the I/O lines of the ATmega32U4 and the power and ground nodes are available on arrays of through-holes at the sides and front of the board, and with its low-profile design (you can remove the LCD) there is plenty of room to build on top.
While we hope we have left enough room for physical customizations, the programming, with all the sensing options, is where you can really give your robot personality and make it your own. Modulate the IR emitters for more precise opponent detection, use the accelerometer to detect a bump or a flip (sans LCD, the Zumo can drive upside down), measure distances with the encoders, measure turns with the gyros, … we are looking forward to see what you will come up with!
As we gain experience with the Zumo 32U4 robot and collect feedback from the community, we plan to release more supporting materials and offer assembled options. Our goal is to get it to the point where we can recommend the Zumo to anyone looking for a high-performance programmable robot – hobbyists, students, educators, and others – so stay tuned! Please check out the product page for more details about the robot, and take a look at our example code on GitHub.
Bohlebots, a team of students in Germany, won the West Germany Robocup soccer 1vs1 open league for a second time. They sent us an email that shows how their robot uses three omni wheels spaced evenly about its round chassis, which allows their robot to move in any direction. The omni wheels are actuated by some of our 9.7:1 25D HP metal gearmotors, which are each controlled using one of our VNH5019 motor driver carriers.
Check out this highlight video of their robot in the competition:
Good job, everybody, and good luck!
The Bohlebots team.
We received order 1J200000 this morning from Ralf in Germany! However, it turns out that because of a one-time database screwup, this was not actually our 200,000th order (thanks, Paul). We received that one a few minutes later when Alex from Iowa placed order 1J200008. To celebrate, we included a special gift with both of these orders: a prototype of the new Zumo robot we expect to release this month. Congratulations to Ralf and Alex! For everyone else, keep an eye on this blog for more information on our new Zumos, and thank you to all our customers for helping us get to 200k orders.
We have updated our Programming Orangutans and the 3pi Robot from the Arduino Environment document to support version 1.6.0 of the Arduino IDE, which is the latest stable version. Thanks to improvements in the Arduino IDE, we were able to make the instructions for getting started much easier.
The Orangutan line of AVR-based robot controllers started ten years ago and has since expanded to include boards with a variety of AVR processors and on-board peripherals, from the minimal Baby Orangutan B-328 to the powerful Orangutan SVP-1284 and X2. Many of the Orangutans share handy features like a buzzer, LCD, and buttons, but the integrated dual motor drivers found on every Orangutan are what justify calling it a “robot controller”. Our 3pi robot is an extension of Orangutan concept to a complete robot, so we think of the 3pi as pretty much part of the Orangutan family.
(Don’t need integrated motor drivers? Check out our Arduino-compatible A-Star family of microcontroller boards.)
Pololu 3pi robot.
The Orangutan SV-328, Baby Orangutan B-328, and 3pi all use the same AVR ATmega328P processor as the Arduino Uno, so it is natural to want to program them from the Arduino environment. However, there are a couple of key differences to overcome. First, the boards have no pre-installed Arduino bootloader or built-in USB-to-serial adapter. This simplifies the design and frees up some resources for your application, but it means you have to program them with an external programmer like the Pololu USB AVR Programmer. Also, the clock on these boards runs at 20 MHz, while the official Arduinos are at 16 MHz, so time-sensitive code might not be compatible.
Adding support for the Orangutans and programmer to the Arduino IDE used to involve manually editing a few configuration files with a text editor. With this latest update, you can simply copy a folder into your Arduino sketchbook directory.
Another notable Arduino change is improved support for AVRs running at different speeds. Functions such as
pulseIn now adapt to the clock frequency specified by the
F_CPU macro and should work fine on an Orangutan running at 20 MHz.
To get started, see our guide.
The SparkFun Inventor’s Kit has everything you need to construct a variety of circuits that will teach you how to use an Arduino to read sensors, display information on an LCD, drive motors, and more. No previous programming or electronics experience is necessary, which makes this a great way for beginners to get started with embedded systems.
For more information, see the product page.
Engage your brain as well as your heart this Valentine’s Day by picking up some of our perfectly matched pairs of products at a sweet discount. From Friday through Sunday we will have more than 100 items on sale at up to 20% off. You can find all the deals on our Valentine’s 3-Day Sale page.
Jonathan Spitz made a fun robot he calls Charlie, the cricket. In his LinkedIn post, Jonathan explains that Charlie uses four motors. Two of the motors are used for walking and the other two are used for sprawling. The four motors are controlled by two Baby Orangutans, which also handle the closed-loop feedback from encoders to free up processing on the Arduino Micro.
The insides of Jonathan Spitz’s Charlie, the cricket.
Charlie’s novel propulsion system of spinning legs that can be tilted was inspired by one of Jonathan’s colleagues. They allow Charlie to traverse difficult terrain as shown in this video:
Charlie is a follow-up design on an earlier robot Jonathan made named Billy, the blue beetle, which was larger and lacked the ability to sprawl. Charlie also was designed to have the ability to drive on its back, which is something Billy could not do. You can read about Jonathan Spitz’s experiences with Billy in his LinkedIn post.
This blog post is about some personal difficulty I’m going through: last month, my baby died unexpectedly a day or two before he was born. I could just collect my thoughts in my private journal, but I am sharing my experience here on the Pololu blog because most of the people I interact with and care about are related to Pololu, be they friends, employees, vendors, or customers. Just about everyone at Pololu knew of my eager anticipation of this new baby, and any visitors were aware that I might miss our meetings with short notice depending on when the baby arrived. Continued…
Thomas Schoch, who previously built the PiBot-B we blogged about, built another robot with a Raspberry Pi. His robot, the PiBot-A, uses our DRV8835 Dual Motor Driver Kit for Raspberry Pi B+ with a Raspberry Pi Model A+ to control two 100:1 Micro Metal Gearmotors. The robot also uses our S7V7F5 Switching Step-Up/Step-Down Regulator to supply the Raspberry Pi with 5 V from the motor power supply, allowing the whole robot to be powered form a single source.
The PiBot-A is controlled by a Web-App from Thomas’s iPhone. It communicates over WiFi to the Raspberry Pi, which is running lighttpd and PHP. The Python program on the PiBot-A uses the WiringPi library to send signals to the motor driver kit to drive two 100:1 Micro Metal Gearmotors that are connected to the chassis with our Micro Metal Gearmotor Brackets. Thomas also added an array of Sharp digital distance sensors to give the robot obstacle detection. You can find a video of the PiBot-A avoiding boxes below:
For a complete write-up of the robot, check out the PiBot-A page. It is written in German, but it has a link at the top to translate it into English using Google Translate.
11 February 2015 update: Thomas added support for our QTR-3A Reflectance Sensor Array to his PiBot-A to make a line follower and posted about it on Let’s Make Robots. The sensor array is interchangeable with the array of Sharp digital sensors used for obstacle detection. You can find a video of his robot following a line below: