Author Archives: Jon

Video of Caesar, the first-place rover of the 2019 Indian Rover Challenge

via Pololu Blog


The first-place winner of the 2019 Indian Rover Challenge, Team Anveshak from IIT Madras, sent us a link that shows their rover in action! The video is their submission to the 2019 University Rover Challenge (URC) System Acceptance Review (SAR), which is a major qualification round for participating in the URC finals. Good luck with SAR qualifications, Team Anveshak!

We first blogged about Team Anveshak’s rover back in January. For more information on the rover and the competition, including pictures, check out that post!

Macro photography using Tic stepper motor controllers

via Pololu Blog

Mike’s portable stack & stitch image acquisition setup, which includes three Tic T500s.

Mike’s precision stack & stitch image acquisition setup, which includes three Tic T500s.

Forum member Mike is using our Tic stepper motor controllers in his automated stack & stitch image acquisition systems, which he has been using to get extremely high resolution images of various integrated circuits. Each system uses linear rails and stepper motors to properly align the camera/lens and the object to be photographed. Two stepper motors position the subject and a third adjusts how close the camera is to the subject. A Tic T500 controls each stepper motor and each Tic connects to a USB port on a Raspberry Pi 3B or Raspberry Pi 3B+, which acts as the main computer. Afterward, Mike stacks the images with Zerene Stacker and stitches them together with Photoshop. Some of his image sessions capture as many as 6000 individual images that are used to produce a single 300 megapixel image!

Zooming in on a stack & stitch test image.

A close-up view of a stack & stitch test image.

You can find more information about Mike’s stack & stitch image acquisition systems (like what specific mechanical hardware he is using) in this forum post. Also, to see and/or download a set of high resolution pictures taken with those setups, follow this link.

Rover team from IIT Madras places first in Indian Rover Challenge

via Pololu Blog

Congratulations to Team Anveshak from IIT Madras, who took first place at the 2019 Indian Rover Challenge! The IRC is a robotics and space exploration-based competition for college students. Participating teams design and build a Martian rover prototype and use that rover to compete in various tasks like obtaining soil samples, operating electrical racks, and picking up and delivering objects.

Team Anveshak’s winning rover, Caesar, uses 10 different Pololu products! We are especially excited to hear that their rover prominently features our newer G2 High-Power Motor Driver 24v13 and TB9051FTG motor drivers, using 9 of each of those boards.

We love seeing all the awesome things like this that people are doing with our products! For a more complete list of the Pololu parts used in Caesar, check out the related products listed below. If you want to learn more about the team, check out their website.

8 March 2019 Update: See a video of Caesar in action here.

Balboa controlled via cell phone over Bluetooth

via Pololu Blog


Drew Wilkerson added a Robotis BT-410 Bluetooth-to-serial board to his Balboa Robot, which allows him to control that Balboa from a cell phone. You can watch the video above to see the Balboa being driven around as it balances. More information about this project, including the code running on Drew’s Balboa, can be found in his post on our forum.

SK9822 LED jack-o-lantern

via Pololu Blog

To kick off our 2018 mini-series of spooky Halloween projects, I’ll go over how I fixed and modified my family’s broken light-up jack-o-lantern, but first I want to remind you that our Halloween sale is still going on. Visit the sale page for more information, and if you are in need of some inspiration, check out our Halloween-tagged blog posts for some sample projects. Now, on to the jack-o-lantern…

The lantern suffered from a couple of burnt out incandescent bulbs and an unreliable power switch. The switch had a poor mechanical connection somewhere, which meant that in addition to sliding it into the “on” position, the case had to be pressed/squeezed in just the right spot to connect power. I absolutely needed to replace the switch, but in addition, this was a good time to upgrade from a bland set of incandescent lights to a more customizable lighting solution by adding some individually addressable RGB LEDs.

I wanted to preserve the battery-powered functionality of the lantern, and since it is powered by 4 C batteries, it has a supply voltage that could be anywhere between about 4V and 6V. The SK9822 LED strips that I wanted to use run on 5V, so I would need some kind of regulator to power them, as well as a microcontroller to send them control signals. Fortunately, our A-Star Mini microcontrollers have onboard regulators that allow them to work with a wide operating range of voltages, and provide ample current that can be used for other devices in the system, like the SK9822. In particular, the A-Star Mini LV was a good fit for a system like this with a voltage that started above 5V and could drop below it as the batteries were drained. (That A-Star’s regulator can also provide about 1A of current!)

The A-Star mini LV and its connections.

Starting the upgrade was pretty straightforward: remove all of the old hardware (the mess of old rusty wiring, the incandescent bulbs, and the switch), and solder in the A-Star to the battery holder terminals. From there, I soldered in a rocker switch that was much more satisfying to flip on and off than the older nonworking slide switch. Finally, I soldered up the four connections to the LED strip.

The SK9822 LED strip segment taped to the outside of the plastic holder piece, as seen from the back of the jack-o-lantern.

The strip itself only used 4 LEDs, since the lantern illuminates well and I didn’t want to unnecessarily consume lots of power (especially because the lantern was battery powered). The 4 piece segment was cut from one of the low density 30 LEDs per meter strips. The lower density meant that the LEDs were spaced out farther apart, which was useful to spread the LEDs across the plastic tube on the inside of the lantern and more evenly distribute the light. Our LED strip library made it easy to get started programming!

Another benefit of this hardware upgrade is the ability to reprogram the lighting display to whatever I want. Also, since the LED strips use so few IO pins, the decoration is in a good state to add additional electronics (like a proximity sensor or MP3 trigger)!

Modified Han Solo toy blaster controls LED displays of Star Wars characters

via Pololu Blog

A while ago, I made a wedding gift for some friends, both of whom are avid Star Wars fans. The gift was basically a multi-piece decorative set that consisted of a modified toy Han Solo blaster, a stand to hold the blaster, and three edge-lit LED displays: one each of Boba Fett, Darth Vader, and Jar Jar Binks. I painted over the toy blaster to make it look more like it came straight out of the movies and added electronics so that it could interact with the displays (and the couple’s TV!).

The blaster uses IR TV remote codes to do several things: it can shoot the LED displays (and they’ll respond by blinking and playing audio recordings unique to each character), change the color and brightness of each display, and it can act as a limited TV remote by turning on or off the TV. At the heart of the blaster lies an A-Star 32U4 Mini ULV, which monitors the state of a switch, a couple of buttons, and a few potentiometers in order to decide which actions to carry out. The ULV version of the A* Mini is especially convenient for this setup because the toy blaster was originally powered by two AAA batteries, which produce too low of a voltage for a 5V microcontroller. The ULV’s built-in switching step-up voltage regulator allows it to operate directly off of the batteries and power the other components, unlike typical Arduinos that need at least 7V.

The blaster has two modes: one for shooting the displays and turning on/off the TV and another for adjusting color and brightness of the displays. Which mode the blaster is in is determined by the state of the programming mode switch, which is accessible with a flick of the thumb. While powered on, the A* continually checks to see if the programming mode switch is enabled. If it is disabled, the blaster will respond to trigger presses. When the trigger is depressed, the A* does two things: it sends a pulse train to a 5mm IR LED and drives an input pin low on an Adafruit Audio FX Mini sound board, which then outputs sound to a speaker through a 2.5W audio amplifier, producing DL-44 blaster firing noises. The blaster and displays use the IRremote Arduino library for sending and receiving the pulses. For these blaster shots, the blaster emits the IR TV remote code that corresponds to the generic power-on/power-off code for an LG TV. This same code is decoded by the Star Wars displays as a “hit” and the characters react to being shot. You can watch videos of those reactions in the YouTube playlist below (the playlist also includes the displays’ bonus Easter egg content, which is only accessible by sending certain button presses from the LG TV remote!). The sound level is a little low, so you might need to increase your volume to hear what the characters are saying:

If the programming mode switch is enabled, the blaster repeatedly emits a set of IR TV remote codes that contain information on what color and how bright the displays should be. Color is adjusted in the HSV color space using the blaster’s three rotary potentiometers (one each for hue, saturation, and value). There is also a linear potentiometer that can be used to set overall brightness (this effect combines with the change in brightness from adjusting the value potentiometer). So long as a display’s IR receiver can detect the IR signal sent by the blaster, the LED information can be decoded and the LED arrays can be updated.

Each display features a ~12″ tall profile of the head or upper body of a Star Wars character. The profiles are laser-etched onto a 1/2″ thick clear acrylic piece, which also has holes at its base. The holes allow the piece to be fastened to a recessed channel at the top of the display box. A short segment of an APA102C LED strip lines the bottom of the recessed channel and faces upward into the acrylic profile, which allows its light to disperse across the laser-etched surfaces. The display box has the same sound board and amplifier as the blaster, but uses a more powerful 1W speaker. An A-Star 32U4 Prime controls everything and power is supplied via a 9V 3A wall power adapter.

Compared to the rest of the system, the design of the blaster stand is pretty straightforward: it is just several pieces of 1/4″ plywood arranged into a frame that houses two channels. Those two channels have mounting holes which allow two clear acrylic pieces, which conform to the shape of the blaster, to be fixed to the frame. A lip along the inside of the frame makes it easy to mount the silver mirrored acrylic piece. The bottom of the mount features a personal well-wish from me to the couple. The message is written on the inside of the Alliance Starbird, which is cut from gold mirrored acrylic. The stand also houses some scrap metal parts (a bunch of prototype Zumo blades) to give it some weight. Four adhesive rubber feet, one for each corner of the stand, help make sure the stand doesn’t slide around easily and scrape the gold Starbird piece.

I owe a part of the inspiration of this gift to my coworker, Kevin, since in some ways I was basically trying to one-up his Harry Potter-themed wedding gift, which was given to another coworker, Brandon, for his wedding. Kevin also ended up helping me make some good decisions and generate some clean-looking CorelDraw files for the display cutouts/rastering. So, thanks, Kevin! You the real MVP.

For more pics, gifs, and a build log, check out this Imgur album! Also, you can find 2D (.DXF and .CDR) and 3D (.STL, .STEP, and .SLDPRT) CAD files for the laser cut parts on my Thingiverse page!