Tiny Wanderer
From MAKE Magazine
This project first appeared on the pages of MAKE magazine.
Starter robot autonomously navigates with a $2 microcontroller.
- Author: Doug Paradis
- Time required: A weekend
- Difficulty: Moderate
In early 2011 my robot club, the Dallas Personal Robotics Group, was looking for a way to help our beginning members build up their skills. To this end, we produced a series of lessons covering 5 topics needed to make a simple, programmable robot: making PCBs with the toner transfer method, programming ATtiny microprocessors
The Tiny Wanderer is the starter DIY robot model we designed to support the series. It uses the unintimidating ATtiny85 chip, which is less complex than larger chips, and the new kit version shown here lets you easily swap in an Arduino.
The chassis, inspired by the now-discontinued Oomlout SERB, has benefited from constant modification and tweaks by DPRG members. Its two IR LED/sensor proximity “feelers” were originally designed to let the bot wander around a tabletop without falling off, but they can be repurposed for obstacle avoidance and line-following. (Another successful mod added 64-slot encoders on the wheels, for dead reckoning.)
I hope the fun we’ve had with Tiny Wanderer will be shared with other hobby roboticists and makers around the world.
Here are some additional mods that give Tiny completely different personalities:
- Navigate around via bump sensor in front: Bump Sensor for the Tiny Wanderer
- Light-seeking "Moth" (or light-avoiding): Tiny Wanderer "Moth"
Sections
- Build the Chassis.
- Fit the tires and hub.
- Assemble the sensor boards.
- Make the sensor arms.
- Program the ATtiny85.
- Make the finishing touches.
Tools
- Computer, Windows-based, with internet connection You can use Linux or Mac OS, but you’ll need a different software tool chain than described here.
- Cyanoacrylate glue, aka super glue
- Heat gun, optional
- ISP (in-system programmable) programmer for AVR microprocessors I use the AVRISP mkII, $34 direct from Atmel Corp. (http://atmel.com). There are less expensive options, but non-Atmel programmers may lag in supporting new chips and drivers. Only update your programmer using firmware from its manufacturer. If your programmer has a 10-pin header, you also need a 10-pin to 6-pin AVR ISP adapter, which you can make or buy for less than $5.
- Multimeter, with voltmeter and ohmmeter functions
- Paper and Pencil
- Protractor
- Sandpaper, fine
- Scrap wood
- Screwdriver
- Seam ripper
- Software, WinAVR and AVR Studio 4 Download from http://winavr.sourceforge.net, and search “AVR Studio 4" at http://atmel.com.
- Soldering equipment and solder
- Tweezers
- Utility knife

Relevant parts
- Plastic body and wheel parts, 1/8"-thick acrylic, laser cut You can download SVG and PDF cutout templates at makeprojects.com/v/29. You can also hand-cut the body out of 1/8" masonite (aka hardboard).
- Tiny Wanderer circuit board Layout files are at http://makeprojects.com/v/29. You can also use plain perf board and hookup wire.
- Servomotors (2), hobby, continuous rotation, 6V, with round attachment horns
- Microcontroller chip, Atmel ATtiny85 about $2
- LEDs (2), 940nm infrared (IR), 3mm or 5mm
- Phototransistors (2), 940nm IR, 3mm or 5mm aka photodetectors or photosensors. RadioShack sells a 5mm LED/sensor pair, #276-0142, http://radioshack.com.
- Diode, 1N4001 or similar

- resistors, 150Ω (1), 10kΩ (1), 100kΩ (2)
- Capacitors, 0.1µF (1), 100µF (1)

- Slide switch
- DIP socket, 8-pin
- Pin headers, female 8×1, male 20×1
- Ribbon cable, 3-conductor, 3' aka servo cable
- Heat-shrink tubing (2), ¼"×1" length Bearings, in-line/skateboard, type 608ZZ

- O-ring, rubber, 22mm or other outside diameter to match bearings
- Bolts (2), 5/16"×1"
- Nuts (2), 5/16"×1"
- Machine screws, #4-40: 3/8" long (18), 5/8" long (22)
- Nuts (40), #4-40
- Washers (22), #4-40
- Window screen spline, vinyl, 0.175"×26"
- Velcro dot pair (2), adhesive backed Zip ties, small plus 2 more each time you reconfigure the sensors
- Battery holder, 4×AA

- Batteries (4), AA

- View:
- Paginated
- Full width

Edit Step 1
— Build the Chassis.
¶
Peel the protective plastic off all acrylic parts. Insert the rubber grommets packaged with the servos into the 4 servo mounting holes. Use four #4×3/8" screws to attach each servo to one of the 2 acrylic side pieces, with the shaft aligned with and on the same side as the etched guideline. With the motors installed, align the side pieces next to each other and make sure they match up.
See http://makeprojects.com/v/29 for more photos identifying all the acrylic kit pieces.
Fit the 2 acrylic axle holders into the bottom of the truck piece. Anchor each one with a nut in its cross-shaped cutout, screwed onto a #4 screw threaded through a washer from the top of the truck.

Edit Step 2 ¶
Fit the O-ring around one of the skateboard bearings. This will be the rear caster’s wheel. Mount it between the axle holders, with a large acrylic washer on either side, on a 5/16"×1" bolt secured with a matching nut.
For the caster’s swivel mount, run four #4 screws through 4 small metal washers, then through the 4 mounting holes around the rear caster hole in the large acrylic base piece. Drop the bearing holder (the acrylic square with the larger center hole) over the 4 screws. Drop the bearing into the holder, then drop 4 small acrylic washers onto the screws. Finally, drop the bearing retainer (the square with the smaller hole) onto the screws and over the bearing. Secure with nuts.
The metal washers provide clearance; without them, the caster will hit the screws.
Attach the side pieces to the top of the base by fitting 4 nut/bolt pairs into its cross-slots, as in Step 1. Use 2 more nuts and bolts to join the tops of the side pieces to the crossbar piece.
Tweezers help to hold the nut in place while you start the screw.

Edit Step 3 ¶
Assemble the sensor tray from the sensor shelf, sensor shelf riser, 2 sensor shelf brackets, and 6 nut, screw, and washer sets. As with the other acrylic pieces, fit the tabs into the slots and secure by twisting the nuts down on the bolts in their cross-slots. The sensor shelf will act as a base for attaching the robot’s sensors.
Attach the sensor tray to the front of the chassis with 2 screws.

Edit Step 4 ¶
Attach the caster holder to the caster swivel mount with the remaining 5/16" bolt and matching nut. Fit 2 large acrylic washers over the bolt between the underside of the swivel mount and the top of the caster holder, so the caster can turn without mounting hardware getting in the way. The inner race of the horizontal bearing should be clamped between the large bolt head and the 2 acrylic washers.
You may have to temporarily loosen the screws to get the bolt to fit through the caster assembly so that the bolt’s head is captured by the wheel supports.

Edit Step 5
— Fit the tires and hub.
¶
For each of the 2 tires, cut a 12¾" length of window screen spline. Use a seam ripper to puncture each piece about ¼" from one end. Slit the spline along one edge, going almost its entire length, but stopping when the seam ripper point shows at the other end.
Drop a dot of super glue onto a piece of thick paper. Run your finger down the slit to make sure it’s not twisted, then align the 2 ends and dip them into the super glue. Hold the ends together for 20 seconds; they should stick together. Put the tire aside for at least 15 minutes.

Edit Step 6 ¶
Use the seam ripper to slit the joint area, making the slit continuous. Starting with the joint, place the tire onto the wheel, working it around the rim a little bit at a time.
Place a pencil through the center of the wheel and roll it on a table to seat the tire. Use fine sandpaper to lightly sand the glue joint. Be careful — you only want to remove excess glue.

Edit Step 7 ¶
With each circular servo horn, center it under a wheel with the horn hub protruding through. Rotate the horn until you see 2 of its 4 injection-mold marks through each of the wheel’s slots. Mark the horn through the 2 slots with a sharp pencil. Drill two 7/64" holes into the horn where the mold marks intercept your lines.
Use two #4 screws and nuts to attach a horn to each wheel, and mount the wheels on the servo axles using the small screw that comes with the servos.

Edit Step 8 ¶
Separate the PCB into 3 boards — the controller board and 2 sensor boards — by splitting it along its 2 scribe lines. You may need to deepen the scribe line between boards with a utility knife before separating them.
Cut the 8-pin female header into two 3-pin headers by cutting through the fourth and fifth pins. Sand the cut edges smooth.
Populate the board with the components as marked, starting with the shortest ones (resistors and diode) and working up to the tallest. Route the battery holder’s leads through the strain relief holes before attaching. Make sure the large capacitor’s polarity is correct, with the lead near the band marked with negative signs (–) opposite the hole marked (+). The female headers go into the locations marked “Sensor R” and “Sensor L.” Do not place the chip into the socket yet.
Use a multimeter to check all connections, following the wiring-check tables at http://makeprojects.com/v/29. If everything checks out, plug in the chip with its pin 1 near the switch, and its notch next to capacitor C1.
The wiring tables list all the pairs of points on the board that should have continuity or a specified resistance.
After any work on the circuit board, perform the checks again before you plug in the chip. Before checking, disconnect the servos and sensors from the controller board and turn the power switch off.
Page 1 of 3
