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.
Adding wireless connectivity to an electronics project is a great way to enhance functionality and make it stand out. Our selection of wireless electronics includes radio frequency modules, such as the Wixel, and Bluetooth modules, like the BlueSMiRF Silver from SparkFun, but until recently, we did not carry a good solution to adding Wi-Fi to a project. That’s where the newest additions to our wireless selection come into play.
We are now carrying two CC3000 Wi-Fi module carrier boards from Adafruit: the CC3000 Wi-Fi Shield for Arduino and CC3000 Wi-Fi breakout board. The CC3000 is a self-contained wireless network processor with an SPI interface, so it is not limited to a fixed UART baud rate, and the Adafruit carrier boards include level shifters, so they should be simple to connect to almost any microcontroller. Adafruit’s CC3000 Arduino library and example sketches make them especially easy to use with an Arduino-compatible board.
The CC3000 Wi-Fi Shield for Arduino offers a MicroSD card socket, a prototyping area for soldering extra circuitry, and a button for resetting the Arduino. The CC3000 Wi-Fi breakout board (v1.1) is much more compact and is also breadboard-compatible. Both products include an onboard ceramic antenna.
TwoPotatoe is a customer-built balancing robot that in its latest form uses an Arduino Mega to receive commands from a custom-made controller via XBees and a Wixel to wirelessly send telemetry to a PC. The robot uses feedback from a MinIMU-9 v3 IMU module’s accelerometer and gyro to maintain its balance, and it uses the MinIMU’s compass to navigate. The drive system consists of two 37D mm metal gearmotors with encoders controlled by a VNH3SP30 motor driver carrier. Check out the video below of TwoPotatoe in action:
You can read more about how TwoPotatoe works in the how it works section of its site.
10 December 2014 update: The old video of Twopotatoe has been replaced with a newer one. TwoPotatoe has also undergone a few changes: Arduino Due instead of the Arduino Mega, new motor controllers, new personality, etc. For more information about the changes and to see some new pictures, check out TwoPotatoe’s website.
A few months ago, we released the A-Star 32U4 Micro, a general-purpose microcontroller breakout board based on the Atmel ATmega32U4, and we discussed our plans to extend the design with additional integrated features. Today, we are thrilled to announce a major expansion of the family with the introduction of the A-Star 32U4 Mini ULV, A-Star 32U4 Mini LV, and A-Star 32U4 Mini SV.
|A-Star 32U4 Mini pinout diagram.|
Like the A-Star Micro, the A-Star Minis are Arduino-compatible boards based on the ATmega32U4. The Minis are expanded boards that provide access to almost all of the pins of the AVR (including a few more than the Arduino Leonardo and Arduino Micro), but what really sets them apart from competing products are their efficient power supply systems based on switching regulators. Each model is based on a different voltage regulator, and its name includes a designation corresponding to its input voltage range:
- A-Star 32U4 Mini ULV (Ultra-Low Voltage): 0.5 V to 5.5 V
- A-Star 32U4 Mini LV (Low Voltage): 2.7 V to 11.8 V
- A-Star 32U4 Mini SV (Standard Voltage): 5 V to 36 V
|Typical maximum output current of the regulators on the A-Star 32U4 Mini boards.|
The regulator designs are closely related to some of our favorite voltage regulator boards, the U1V11F5, S7V8F5, and D24V5F5. Taken together, this range of options lets you power your project with anything from a single NiMH cell to a 24 V lead-acid battery or an 8-cell LiPo pack. With typical currents of 500 mA to 1 A, you get plenty of 5 V power for your AVR and an array of peripheral devices, or at the other end of the scale, these regulators allow your project to make effective use of low-power modes on the AVR, potentially operating on a battery for months at a time.
|A-Star 32U4 Mini ULV, bottom view with dimensions.|
Another exciting feature of the power supply system on the A-Star Minis is seamless USB power switching provided by an onboard TPS2113A power multiplexer. This means that you can safely connect both USB and external power, and you can monitor or control the selected supply, without losing power or shorting your supplies together.
We think that the A-Star Minis are by far the most capable AVR breakout boards for their size, and they should be an excellent choice for almost any project needing a compact, Arduino-compatible controller. We have priced them so that it should be an easy choice, too. For more information or to order, see the A-Star controller category.
We recently released the A-Star 32U4 Micro, which we think is the best available AVR breakout board for its size. If you are like us, you enjoy taking factory tours, seeing how things are made on How It’s Made, and watching your Krispy Kreme doughnuts get created right before you personally eat them. Since most of you have not been able to visit us here in Las Vegas, we’ve made a video that shows how your A-Star Micro gets made!
The video shows how the A-Star Micro goes from a bare printed circuit board to an assembled and tested product. It is one of our more complex boards to make because it has components on both sides—this means two trips through the stencil printer, pick-and-place machine, reflow oven, and automated optical inspection machine. Here are some of the machines featured in the video:
- Speedprint SP700 AVI stencil printer
- Samsung SM421F pick and place
- Heller 1707 MK III reflow oven
- Nordson YESTECH BX-12 automated optical inspection
For those of you who like to be mesmerized by big machines moving thousands of tiny components quickly, we also have a video that shows the full pick-and-place sequence of a panel of forty A-Star Micros. (Note that this is not an accurate representation of the assembly time since the feeders are moved to the side to make room for the camera.)
For more videos like these, see our YouTube playlist: Pololu manufacturing: how our products are made and subscribe to our channel. By the way, you can still get a free A-Star Micro with your order over $100.
Abe Howell posted to our forum about a Kickstarter campaign for a robot he calls Apeiros. It is an open-source robot he designed as a teaching tool for STEM. Apeiros uses some of our parts and our laser cutting service in its construction. It is also designed to be upgraded with some of our sensors like the QTR-3 or QTR-8 reflectance sensor arrays or the Sharp GP2Y0D810Z0F Digital Distance Sensor. Some of the higher pledge rewards on the Kickstarter include these sensors. You can learn more about the robot on its Kickstarter page.
You have probably seen wheels on things like scooters, skateboards, baby-strollers, and inline skates, and noticed just how similar these common wheels are in size and shape. In fact, they are so similar that the industries built up around them have converged upon using a few standard bearings. We found that one of the most popular bearings used with wheels like those is the metric 608 ball bearing. The 608 bearing has well defined tolerances, measures 22 mm wide by 7 mm tall, and features an 8 mm bore.
We recently used these measurements to create a series of adapters that enables you to use these widely-available wheels as drive wheels, which opens up a much larger variety of wheels to use with our motors!
|Exploded view of the scooter wheel adapter assembly with a gearmotor and scooter wheel.|
These adapters mount via set screw(s) to your motor’s output shaft (works best with D-shaped output shafts) and clamp tightly to the wheel.
This week I released version 2.0.0 of minimu9-ahrs, an open-source demo program that runs on the Raspberry Pi, reads data from a MinIMU-9 via I²C, and uses the readings to calculate the orientation of the IMU. The new version adds support for the MinIMU-9 v3. The program now supports all past and present versions of the MinIMU-9.
The original version of minimu9-ahrs was released back in 2012, along with ahrs-visualizer, a program for displaying the orientation in 3D. For more background, you can see my blog post about minimu9-ahrs from 2012 or read the Raspberry Pi blog post about it from June 2014. The video below shows minimu9-ahrs and ahrs-visualizer working together:
Version 2.0.0 of minimu9-ahrs also includes some other changes:
In this new version, the raw accelerometer readings that you can get using the
--mode raw option have basically been multiplied by 16 from what they were before. We made this same change to our LSM303 Arduino library when we added support for the LSM303D. The reason for this change is that before the MinIMU-9 v3, all the MinIMU-9 accelerometers were 12-bit, with the lower 4 bits of the output registers being unused, so we always shifted the readings to the right by 4 bits to get rid of the unused bits. The LSM303D in the MinIMU-9 v3 has a 16-bit output, so shifting its readings to the right by 4 bits would be inappropriate. However, it is nice for the raw accelerometer readings to have the same scale regardless of which accelerometer you happen to be using, so we chose to stop shifting the output of any of the accelerometers. All the accelerometers are configured to have a full-scale range of ±8 g by minimu9-ahrs, so a reading of 4096 will always correspond to about 1 g. This change should not affect most users, but it is not backwards-compatible, so, following semantic versioning, I incremented the major version number from 1 to 2.
The Debian package that I made for minimu9-ahrs version 2.0.0 uses the armhf architecture instead of armel (which was used for previous versions), so you can easily install it on a Raspberry Pi running Raspbian. I also made a new version of ahrs-visualizer that has an armhf package. If you are not using a Debian-based distribution like Raspbian or you are not using the armhf architecture, you can still compile the programs from source.
With this new version of minimu9-ahrs and our recent big price reduction of Pololu IMUs (which made the MinIMU-9 less expensive than a Raspberry Pi), now is a great time to start experimenting with these state-of-the-art MEMS sensors.
Related past posts
- Big price reduction of Pololu MEMS sensor carriers and IMUs
- New product: AltIMU-10 v4 gyro, accelerometer, compass, and altimeter
One of our customers made a hexapod that is controlled with a PlayStation controller. It uses our 18-channel Mini Maestro to command the servos and a MinIMU-9 v2 for stabilization. The hexapod’s movements are directed by a BeagleBone Black running Robot Operating System (ROS). The physical body of the hexapod is based on a Lynxmotion Phoenix design and was constructed by the customer. The project is well documented and more details can be found in the original post. However, the post is in Russian, so you might need to запустить страницу через переводчика.
We posted recently about how progress in MEMS sensors has resulted in a constant stream of improved Pololu breakout boards. This week, we brought some of that technological progress to our Zumo robot with the release of a new “v1.2” version of the Zumo Shield for Arduino. This new version upgrades the previously-included LSM303DLHC compass to nine channels of inertial sensing using the newer LSM303D compass and L3GD20H gyroscope.
That means that the new Zumo shield includes a full inertial measurement unit (IMU) – the equivalent of a MinIMU-9 v3 – letting you turn it into a complete AHRS by adding an Arduino or compatible controller.
The v1.2 update extends to three new products:
- Zumo Shield for Arduino, v1.2
- Zumo Robot Kit for Arduino, v1.2 (No Motors)
- Zumo Robot for Arduino, v1.2 (Assembled with 75:1 HP Motors)
Other parts, such as the Zumo chassis, sumo blade, and reflectance sensor array, are not affected by this update, and the new Zumo shield is mechanically and electrically compatible with the previous model. They are also completely code-compatible except for the MEMS sensor aspects, which are already supported by our open-source Arduino libraries.