Introduction: (Yet Another) DIY Arduino Robotics Platform- a Robot Chassis From Spare Parts
I gave my nephew an Arduino starter kit a few months ago. I asked my sister how he was doing with it and she said he'd had a few problems figuring it out. I'll be seeing him the week after Christmas, so I told him to bring the kit and we can do something with it.
I wanted to buy him a simple robotics chassis for Christmas that we could put together, add a few sensors and program. I looked online and was surprised how much they wanted for a couple of motors and wheels on a plastic frame. I decided to build my own from leftover bits laying around my shop. I enter a lot of contests and receive kits. I don't always use all the parts and have a good sized collections of parts and boards. I wanted something that could be added to and modded later. I wanted something that would be useful as-is to get his imagination going. Here's what I came up with.
Step 1: Assembling the Parts- Digging Through the Parts Bins
The first thing I did was get the bare-bones parts together- motors, wheels, battery and boards. I had a couple of 9-12v motors leftover from the Intel IoT contest that would work nicely. I had some Lego wheels from a broken Mindstorms kit that could be hacked to fit the motor shafts. I had an eight cell battery box from Radio Shack. I also had an extra Arduino Uno from a Make Magazine hackathon schwag kit and a Seeed Studio motor shield from the radio Shack clearance. Now to make it all fit together.
I sat down at my workbench and played with the parts to see how they would fit together. I tried a few utility boxes and other repurposed enclosures. I finally decided to go with an open-frame setup. I had two pieces of plexiglass left over from the robot piggy bank project. I also had a bunch of threaded stand-offs. I decided that this would be a good basis for the robot chassis. came across a few 3/4" electrical conduit clips. These would be perfect to hold the motors on the chassis base.
I piled all the parts up to see how it would fit and I was satisfied.
The only thing left was securing the motors. I dug through some boxes of leftover hardware until I came across some 3/4" electrical conduit clips. These could be bent just a bit to hold the motors to the bottom piece of plexi. Problem solved!
Step 2: Making the Mounting Plates
I traced the chassis base plate onto a piece of graph paper. I used this as a template to lay out and drill the mounting holes. Once the hole locations were determined I taped the paper to the plexi and carefully drilled the mounting holes. These would be places for the bolts to hold the motors on and for the stand-offs that will hold the two pieces of plexi together. Drill carefully to avoid over-heating or cracks.
Step 3: Preparing and Mounting the Motors and Wheels
The Lego wheels I had were designed for the splined axle shafts that they use. I used a hobby knife to trim the inside of the wheels so the motor shaft would fit and pressed them in place. I replaced the rubber tire on the wheel hub and soldered wire leads to the lugs on the back of the motor.
I had to bend the conduit clip slightly to make it hold the motors firmly. I used 1/4" nuts, bolts and washers to firmly affix the motors to the bottom piece of plexiglass. I looped the motor wires around the front mounting bolt (see next section) and knotted it to protect the solder joints on the motor lugs.
Step 4: Adding the Top Platform
I have a crew of human/Jawa hybrids who roam the wasteland looking for interesting bits of technology and tools. One of them brought me three cabinets full of hardware from a marine electronics repair shop that went out of business a few years ago. What a great haul!
These headless screws have a ridged ring around the inside just under the flat head. They are used to mount circuit boards. I put the screws through the four mounting holes of the Arduino Uno. I used a chrome stand-off and a nut to draw the ridged section firmly into the circuit board. This locks the screw into the PCB of the Arduino.
I taped the Arduino screws-down to the top plexi piece. I marked the positions of the screws and drilled them out to accept the screws. I slipped four stainless steel smooth stand-offs over the screws and nutted them in place. This holds the Arduino to the top of the robot.
I used three #8-32 x 2" machine screws and some stand-offs to connect the bottom and top plexiglass pieces. I used a cap nut and star washer to hold everything together.
Step 5: Adding the Motor Shield and Breadboards
So we have a chassis with motors and wheels. We have an Arduino Uno mounted on top. Now I simply plugged the Seeed Studio motor sheild into the Arduino and I've got a programmable drive train.
I wanted to add an area to plug in sensors and experiment so I added two 170 point mini-breadboards to the front of the robot on either side of the motor wire hole. This is a good place to plug in ultrasonic distance sensors, photosensors, line-follower units or other ways to interact with the world around them.
Step 6: Adding a Rear Wheel
My original idea was to have two wheels in front and the back of the robot resting on the smooth chrome cap nuts. As I was digging through one of my parts caches I came across some decent small castors. Hmm....
I played around with it a bit and realized that it was a much better solution. Now the robot has a more aggressive stance and it should clear obstacles much better. It also looks cool. I cleaned and painted the metal parts of the castor and attached it with two sided tape.
Step 7: Ta Da- a Robotics Chassis!
So here's me DIY robotics platform. The plexiglass was salvaged, the hardware was free and the Arduino Uno was a freebie from Make Magazine. The wheels were salvaged from a Lego Mindstorms kit with a bad controller and the motors were left over from the Intel IoT invitational. I bought the Seeed Studio motor shield from Radio Shack during their final week of closings for around $7 and the battery holder was a few bucks. All in I have about $10 in cash in the whole project. Comparable set-ups on Amazon started at $50 without the Arduino or motor shield.
Now I'll take it all apart, throw in a few extra pieces of hardware and build it with my nephew at grandpa's house next week. This gives me a chance to explain how I designed it and show him the value of recycling and kludging. It will also give him a better understanding of how the system works from the individual parts. Hopefully an afternoon of monkeying around with the code with his geeky uncle will spark his interest enough to try his hand at programming his own sketches.
Finger's crossed! If nothing else we'll have a fun afternoon together. That's a good Christmas present for both of us.