Posts tagged “community projects”
You are currently viewing a selection of posts from the Pololu Blog. You can also view all the posts.
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!
Mount Holyoke College professor Peter Klemperer designed a custom add-on for the Zumo 32U4 to give easier access to the user pushbuttons. Peter made the bigger buttons as a response to some of the students in his classes finding it difficult to use the small onboard pushbuttons.
The design even has small cutouts so you can still see the indicator LEDs. To add the adapter plate to the Zumo chassis, you can use two #2 screws and nuts (7/16 inch length screws worked great for me). The easy-to-print STL files along with the Fusion 360 files are available on Peter’s GitHub repository for the project, and you can find more information on Peter’s blog post on his website.
If you print your own bigger buttons for your Zumo 32U4 be sure to let him (and us!) know; we would love to see some pictures! Here’s a shot of the one I printed out for my personal Zumo 32U4:
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.
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.
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.
There are only a couple days left in our Halloween sale! 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, including this upgrade to my creepy eyes prop:
I finally got around to upgrading my creepy eyes Halloween prop. As shown above, I mounted the mask on a picture frame to make it more presentable. I also added some of our VL53L0X time-of-flight distance sensor carriers so that the eyes could follow people in front of the mask. I camouflaged the sensors behind the black layer of foam behind the mask. Below is an image showing how the sensors were hidden in the lower corners of the picture frame:
I also swapped the Maestro out for an A-Star 32U4 micro, so I could communicate with the sensors through I²C. Due to switching to the A-star micro, I added one of our small solderless breadboards to help distribute power and a servo Y splitter cable since both sub-micro servos can use the same signal. I also added a power switch and used some of our premium jumper wires to make connections. You can see all the electronics taped to the back of the picture frame in the picture below.
Our Halloween sale is still going strong! 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, like this simple RC crawling skeleton that I made:
The setup for this project is pretty straightforward: a hobby RC transmitter sends signals through its receiver to a pair of Simple Motor Controllers, which each control a 37D mm gearmotor. The motors mount to a wooden base with a pair of L-brackets and connect to skeleton arms via universal aluminum mounting hubs and a short length of aluminum plating. The offset created by the aluminum plating causes the skeleton to move in a way that makes it look like it is slowly inching towards its next victim!
A 3S LiPo provides power to the system through a pair of XT60 connectors, and the RC connections are made through some spliced female-female premium jumper wires. A black T-shirt covers up the electronics and a pair of cardboard “shoulder pads” help ensure the tee does not get tangled up in the rotation of the arm-bones.
In practice, the crawling skeleton is more amusing than scary: it crawls really slowly and the sound of the motors turning is too industrial/mechanical to haunt anyone’s dreams. The sound is, however, loud enough to startle any unsuspecting friends!
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)!
Customer Daniel Castelli of the Allen Institute has released a Python package for interfacing with our Tic Stepper Motor Controllers. Currently, he only supports 64-bit Windows, but the source code is available and should be straightforward to extend to other operating systems. Here is example code using PyTic to control a stepper motor:
import pytic from time import sleep # - Initialization ------------------------------------------- tic = pytic.PyTic() # Connect to first available Tic Device serial number over USB serial_nums = tic.list_connected_device_serial_numbers() tic.connect_to_serial_number(serial_nums) # Load configuration file and apply settings tic.settings.load_config('path\\to\\config.yml') tic.settings.apply() # - Motion Command Sequence ---------------------------------- # Zero current motor position tic.halt_and_set_position(0) # Energize Motor tic.energize() tic.exit_safe_start() # Move to listed positions positions = [1000, 2000, 3000, 0] for p in positions: tic.set_target_position(p) while tic.variables.current_position != tic.variables.target_position: sleep(0.1) # De-energize motor and get error status tic.enter_safe_start() tic.deenergize() print(tic.variables.error_status)
The code and documentation for this package are available on GitHub.
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.