You are currently viewing a selection of posts from the Pololu Blog. You can also view all the posts.
Today we released a general-purpose AVR microcontroller breakout board, the A-Star 32U4 Micro. But before I get to the A-Star (A* for short), I would like to mention some of our history with AVR boards.
Some of our history with AVR boards
It has been almost ten years since we introduced our Orangutan Robot Controller, which featured an AVR microcontroller, dual motor drivers, and user-friendly features like a display and buzzer. Over the years we expanded the line, making larger, more complicated Orangutans like the Orangutan SVP as well as the miniature Baby Orangutan.
I have used the Baby Orangutan in many of my own projects, because I like its simplicity and small size. Ironically, the built-in motor driver gets in the way when I want to use a newer motor driver such as the DRV8835 in a project, since valuable PWM pins are unavailable. So I have built my more recent robots using minimal microcontroller breakout boards without motor drivers, such as Arduinos and the Wixel. (I posted about my latest such project last week.)
Our focus has been on boards that include motor drivers, and we have not had a really simple microcontroller board for people who don’t want the motor driver. Even though there are far more powerful controllers available, 8-bit AVR microcontrollers continue to be popular in the community, and the basic AVR breakout board is something we have wanted to make for a long time.
Introducing the A-Star 32U4 Micro
That is why I am excited today to announce the A-Star 32U4 Micro, a Pololu breakout board for Atmel’s ATmega32U4 AVR microcontroller:
Compared to the popular ATmega328P microcontroller that we used on several Orangutan models, the ATmega32U4 is a newer processor with features like more analog inputs, more PWM outputs, and, most importantly, USB support. The USB connection, which we have broken out to a Micro-B connector, makes programming easy and enables interesting projects involving connections to a PC.
Also, since the ATmega32U4 is used on the Arduino Leonardo, Arduino Micro, and many other breakout boards, there is a large community with experience using the microcontroller. To support this community, we are shipping the A* with an Arduino-compatible bootloader and have followed Arduino conventions including pin numbering and LED connections.
Since we wanted to make a minimal breakout board, we decided to make it as small as we could, hoping that it would be small and cheap enough to go into (and stay in) almost any project. The result is that the A-Star 32U4 Micro is, as far as we know, the smallest ATmega32U4 breakout board available. It is even smaller than some AVR boards with less powerful microcontrollers that implement USB support in software and have only a few general-purpose I/O lines available.
Now that we have reached a reasonable extreme on the minimal end, we intend to expand back toward more integrated features, eventually replacing our older Orangutan robot controllers with versions offering more modern power handling and perhaps other features like inertial measurement sensors. What would you like to see in an integrated robotics or automation controller? Did we leave out too much on the A-Star 32U4 Micro? Please let us know in the comment section.
For more information, see the A-Star 32U4 Micro product page.
These new 130-size motors are great for applications that require a lot of power in a small package. They are a generic alternative the Solarbotics RM2 motors, which have the same form factor and nearly identical performance. With a free-run speed of 17,000 RPM at 3 V, they are great for upgrading projects driven by lower-power 130-size motors. For example, see this post from last year about upgrading flywheel NERF guns. This motor is also compatible with our larger Pololu plastic gearmotors (228:1 offset, 120:1 offset, 200:1 90-degree, and 120:1 90-degree) and Solarbotics plastic gearmotors (GM2, GM3, GM8, and GM9).
For more information see the Brushed DC Motor: 130-Size, 3V, 17kRPM, 3.6A Stall product page.
We’ve released an updated version of our dual VNH5019 motor driver shield for Arduino. The VNH5019 is a great solution for driving high-power motors, with each chip able to supply up to 12 A continuously at 5.5 V to 24 V. However, the original version of our dual VNH5019 shield was designed before the Arduino Uno R3 was released, so it lacked pass-throughs for the four new pins (SCL, SDA, IOREF, and an unused pin) introduced by the R3 and present on all newer Arduinos. This makes it harder to stack other shields with it, especially ones that make use of the new I²C pin location. The latest board revision adds these pass-throughs to make the shield fully compatible with the Uno R3 pinout.
We are happy to introduce new v3 versions of our MinIMU-9 and AltIMU-10 inertial measurement units (IMUs). These sensor modules are the same compact sizes as their predecessors and have same pin-out, but they are based on ST’s newer and better L3GD20H 3-axis gyro and LSM303D 3-axis accelerometer/magnetometer. The nine independent rotation, acceleration, and magnetic measurements from these sensors provide all of the information required make an attitude and heading reference system (AHRS). In addition to this, the AltIMU-10 v3 incorporates an LPS331AP digital barometer that can be used to measure pressure and altitude.
The new revisions offer a wider magnetic sensing range and a more accurate and stable gyro, all with lower power consumption, and they include an extra pin for changing the I²C slave addresses so that two boards can be used on the same I²C bus. They should generally be usable as drop-in replacements for our previous MinIMU-9 v2 and AltIMU-10 modules—which we have put on clearance—though changes to register locations might require updates to software that is not based on our Arduino libraries.
We also have individual carrier boards available for the L3GD20H gyro, LSM303D accelerometer/magnetometer, and LPS331AP barometer if your application doesn’t require quite so much data or if you want to build your own AHRS unit.
Get a FREE copy of Elektor magazine’s March issue with your order while supplies last. To get your free issue, enter the coupon code ELEKTOR0314 into your shopping cart. The magazine will add 6 ounces to the package weight when calculating your shipping options.
For other issues and more information, see our Free Elektor Magazine Offers page. All issues are now available for shipping worldwide!
We have new gyros fresh out of the oven. No, I’m not talking about a Greek dish. I’m talking about our new L3GD20H 3-axis gyro carrier.
One of the most important measures of a rate gyroscope’s performance is the amount of noise in its output, which is indicated by its noise density specification. Too much noise means that the gyro will be prone to spurious indications of rotation, and if the gyro readings are integrated to track orientation, noise will cause the calculation to drift over time.
Although sensor fusion can help compensate for this drift by combining the gyro data with an absolute reference (like magnetometer data), using a lower-noise gyro is likely to be a more effective way to improve orientation tracking accuracy. In that respect, one of the biggest improvements of the L3GD20H over its predecessor is that it has a 60% lower rate noise density (0.011 dps/√Hz compared to 0.03 dps/√Hz on the L3GD20).
In addition to accuracy and stability improvements, the L3GD20H offers other advantages. Its power consumption is lower and its start-up time is much shorter. A wider range of user-selectable output data rates is available, including lower frequencies that are appropriate for human gesture detection, and a data enable (DEN) pin allows readings to be synchronized with external triggers. The L3GD20H makes all of these features available in a smaller package than previous gyros, which has allowed us to design a correspondingly smaller carrier board for it while still keeping it breadboard-friendly. For more information, see the L3GD20H carrier product page.
If you don’t need the latest and greatest, the L3GD20 is still a nice sensor, and it’s a good time to grab one now that we’ve lowered the price of our L3GD20 carrier to only $14.95 until stock runs out.
We are now carrying the latest version of SparkFun’s Inventor’s Kit (V3.1), which adds a mini screwdriver and replaces the translucent red breadboard from version 3 with an opaque white one that is easier to read. Version 3.1 includes everything else that was part of the previous version, such as the Arduino-compatible RedBoard and all of the additional components needed to build the 15 basic electronic circuits detailed in the guide.
For more information see the SparkFun Inventor’s Kit – V3.1 (with Arduino-Compatible RedBoard) product page.
Do you want to build your own weather monitoring station? This weather shield from SparkFun might be what you are looking for. In the form of an Arduino shield, this easy-to-use weather board can measure relative humidity, temperature, barometric pressure, and luminosity.
For more information, see the SparkFun Weather Shield for Arduino product page.
Here at Pololu we love USB and put a USB port on most of the microcontroller boards that we make. One of the lovable things about USB is that it provides a convenient power supply, but making good use of USB power presents a board design challenge: many of our products can be powered from either USB or an external source (e.g. batteries) and require a circuit to select between the two power sources. We call this circuit a power multiplexer, or just power mux.
A simple power mux like the one we use on the Wixel consists of a pair of diodes with a MOSFET that automatically disconnects the less-preferred power source. You can see another instance of the diode mux in the Orangutan SVP schematics (99k pdf). This works, but the forward voltage drop of the diodes can cause the output of the mux to be too low to power 5 V devices.
In the maker community, 5 V is very popular since it is the voltage standard used by numerous devices from Arduinos to Sharp Distance Sensors. Unfortunately for us, 5 V is not important for modern consumer devices like mobile phones, which operate at much lower voltages, so there is not much reason for semiconductor manufacturers to build the kind of devices that we need for good 5 V power multiplexers.
The USB power mux on many Arduinos uses a MOSFET, and does not suffer from the forward voltage drop problem, but it allows current to flow into the USB port in some situations, a potentially dangerous violation of the USB specifications.
So we were excited to find the FPF1320, a chip from Fairchild that implements a better MOSFET-based power mux circuit. The FPF1320 switches up to 1.5 A of current at 1.5 V to 5.5 V with an insignificant voltage drop, and it blocks reverse current into either of the sources. This chip seems like a great solution for USB power and other power-switching situations. Its tiny size, however, makes it inaccessible to most hobbyists:
That’s where we come in! We have made the FPF1320 available on a carrier board that breaks out all of its lines onto breadboard compatible pins and implements a minimal circuit to support automatic power switching. Our carrier board also breaks out a USB Micro-B connector to support USB power-switching applications. This diagram shows how the carrier would be used in a typical USB application:
Power multiplexers are useful for more than just USB. For example, many devices can be powered by both batteries and an external power jack, with external power preferred when it is available. Our FPF1320 carrier can be connected to two non-USB power supplies:
Building a good power mux is a challenge, and the FPF1320 is not a perfect solution. One frustrating thing about it is that it is disabled (powered off) by default, and enabling it required us to build an additional power mux into the circuit! As you can see in the schematic below, we used the double-diode technique to drive the EN line high:
The diodes, unfortunately, take up more board space than the FPF1320 itself.
While typical applications involve USB and 5 V, our carrier is designed to work over the full range of input voltages supported by the FPF1320; therefore, extra consideration might be required to ensure glitch-free transitions between power sources. Specifically, we designed it to “prefer” one of the power supplies whenever it is present. The board will allow the preferred supply (and hence the output) to drop to 1.5 V or lower before switching, even if a better alternate source is available. Unfortunately, this guarantees that the voltage will always drop to below 1.5 V when switching from the preferred to the alternate source. The chip is capable of a seamless transition, and a more sophisticated application might involve monitoring the levels of both input voltages and switching in an intelligent way. You can also adjust the behavior to match typical applications using a few additional resistors or other components. Our carrier brings out the SEL line to make these kinds of modifications possible in your application.
For more information, see the FPF1320 Power Multiplexer Carrier product page.
We’ve started selling USB versions of these two RoboClaw motor controllers from Orion Robotics:
These new RoboClaws add a USB serial interface to the other three control interfaces available (TTL serial, RC, and analog inputs), but are otherwise identical to the V4 RoboClaw 2×15A and 2×30A controllers that we previously offered. Like their predecessors, they can drive a pair of brushed DC motors with up to 15 A or 30 A, respectively, at voltages from 6 V to 34 V. Integrated dual quadrature decoders make it easy to create a closed-loop speed control system; analog feedback is also supported for closed-loop position control.