Author Archives: Ryan

New M3 screw lengths

via Pololu Blog

We added some new M3 screw lengths to our catalog: 6 mm, 10 mm, 12 mm, 14 mm, 16 mm, and 20 mm. (We already had 5 mm, 8 mm, 25 mm screws, and M3 nuts.) Along with the general usefulness of a large selection of hardware, this greater variety of available lengths will help make it easier to mount accessories to your new Balboa 32U4 balancing robot’s M3-compatible mounting points.

Balboa 32U4 Balancing Robot with 80×10mm wheels and 3D-printed arms.

Balboa 32U4 Balancing Robot with 80×10mm wheels and arms made from LEGO blocks.

Talking skull uses Amazon Alexa

via Pololu Blog

Customer Mike McGurrin made this animatronic talking skull that uses Amazon Alexa for interactive voice control. The central part of the project is a Lindberg 3-axis animatronic skull and audio servo controller, which makes the jaw movements follow the audio voice. In this project, the nod, turn, tilt, and eye movements of the skull are controlled by a 12-channel Maestro servo controller running a custom Maestro script that uses one of the channels as an input that is triggered by the Raspberry Pi. The Amazon Alexa integration is handled by AlexaPi.

More details including a parts list and the Maestro Script are available on the project page.

Custom Mini Sumo robot

via Pololu Blog

Forum user DrGFreeman has been posting about his custom Mini Sumo robot. He designed the chassis in CAD and 3D printed it; the model is available on Thingiverse. An A-Star 32U4 robot controller reads the QTR-1RC reflectance and Sharp GP2Y0A60SZLF analog distance sensors while powering the motors with its dual onboard motor drivers. DrGFreeman plans to build two copies of the robot: one with 75:1 micro metal gearmotors and one with 50:1 micro metal gearmotors so he can pit them against each other and figure out whether more speed or torque does better. This video shows the behavior he’s programmed so far:

The whole build log along with more pictures and discussion is in the forum post.

Continuous testing for Arduino libraries using PlatformIO and Travis CI

via Pololu Blog

At Pololu we maintain around thirty open-source Arduino libraries, and we keep adding new ones whenever we make a new carrier board or Arduino shield. People typically use these libraries with Arduino-compatible boards, such as our A-Star programmable controllers or Arduinos. We also have Arduino libraries for our user-programmable robot kits like the Romi 32U4 robot, Balboa 32U4 robot and Zumo 32U4 robot.

Sometimes we need to make changes to a lot of libraries at once, like when we wanted to add all of our libraries to the Arduino Library Manager. For us, library manager compatibility requires changing the directory layout, but doesn’t require changing the library or example code. With this many libraries to change, there is a risk of potentially breaking a working library by misspelling or moving a file incorrectly. Fortunately, customer Walt Sorensen introduced us to PlatformIO and Travis CI, which let us test compiling Arduino libraries every time they are pushed to GitHub.

Setting this up is easy enough that we encourage you to do it on your Arduino libraries! First, sign up for Travis CI (a testing service, free for open-source projects) and enable it for the GitHub repository you want to test. Now, every time you push new code to your repository, Travis CI will try to see if there is a .travis.yml file in the top level with instructions for running tests.

If your project has the structure of an Arduino Library Manager project and you have at least one example sketch, our short .travis.yml file should work. This file instructs Travis CI to compile the library and its examples against all the supported Arduino boards (specified in the “env” list of the .travis.yml file). The results can be seen on Travis CI’s website (for example, here is Pololu’s Travis CI page). The Arduino compiler is provided by PlatformIO, an open source ecosystem for internet-of-things development, which supports a long list of Arduino-compatible boards.

You can share your Travis CI build status by embedding a badge into your GitHub readme page:

Of course, for most library changes, we still have to test on actual hardware, but now every time we update our libraries (or a contributor submits a pull request), we can be sure they will at least compile on every supported board.

Bohlebots win West German Robocup soccer 2017

via Pololu Blog

Congratulations to the Bohlebots teams for winning all four open categories of the West German Robocup soccer 2017! Robocup soccer is a competition where two autonomous robots on each side play soccer in a walled arena. We covered them winning multiple times in the past on this blog. Their robots use Pololu 20D mm metal gearmotors and VNH5019 motor driver carriers.

Bohlebots junior team winning West German Robocup 2017 soccer open 1v1.

Ball-balancing robot

via Pololu Blog

One of our customers, Jochen Alt, built a robot that balances on top of a ball by driving around on it with omni-wheels. Even better, he very thoroughly documented the project on GitHub! The robot uses a number of parts from Pololu including 37D mm metal gearmotors with encoders, stamped aluminum L-brackets for 37D mm metal gearmotors, and three VNH2SP30 motor driver carriers.

A good overview of the robot and the control system are on his Hackaday project page.