How to Build the ProtoBot - a 100% Open Source, Super-Inexpensive, Educational Robot

1,382

25

4

Introduction: How to Build the ProtoBot - a 100% Open Source, Super-Inexpensive, Educational Robot

About: I love creating value, and discovering new things! I take things apart to see how they work, spend too much time learning about irrelevant things, and love making cool stuff, like Robots, electronic projects...

The ProtoBot is a 100% open source, accessible, super inexpensive, and easy to build robot. Everything: Hardware, Software, Guides, and Curriculum; are Open Source, which means anyone can access everything they need for building, programming, and using one (or more).

It's a great way to learn about Soldering, Programming, the wonderful world of Open Source projects, and Arduino.

This Instructable covers how to build one, from the bare board, components, and 3D printed pieces, to a fully assembled (and hopefully functional!) ProtoBot!

(If you want to learn more about the ProtoBots in general, and/or The ProtoBot Project, visit https://theprotobotproject.wordpress.com, or the ProtoBots Github, at https://github.com/Bobcatmodder/ProtoBots)

You can also find a PDF Version of this guide at https://github.com/Bobcatmodder/ProtoBots/blob/master/Guides/Updated%20Assembly%20Guide.pdf

Step 1: Supplies: Parts

Once you're ready to get started, here's what you'll need. Quantities are for 1 robot.

Parts: (Link #1 is eBay, #2 is AliExpress, usually cheaper)

  • 2 x N20 Gearmotors, 300RPM, 12V (link, link)
  • 1 x Arduino Nano (link, link)
  • 2 x Plastic Wheels, 39MM, 3MM hole (Lot of 10: Yellow link, Yellow link, Pink link)
  • 2 x Tactile limit switches (10 pieces link)
  • 2 x 220 Ohm resistors (100 pieces: link, link)
  • 4 x 10K resistors (100 pieces: link, link)
  • 1 x L293D motor driver (link, link)
  • 2 x TCRT5000L IR Sensor (10 Pieces: link, link)
  • 7 x DuPont Female-Female wires (40 Pieces: link, link)
  • 1 x 9V Battery Clip (10 pieces: link, link)
  • 18 x male header pins (200 pieces: link, already bent 90 degrees link)
  • 32 x Female Header Pins (400 pieces: link, link)

The quantities only apply to listings where a single item is sold (Arduinos and motors), since everything else is in bulk and you'll have extras leftover. When the listings are in excess of the quantity needed, it's usually cause it's cheaper to buy in bulk than single items. I'm not complaining!

One more thing: Everything here is coming from China, and therefore shipping normally takes a month, and sometimes two in extreme cases. However, I've never had anything not show up eventually.

Step 2: Supplies: Parts (the Rest of Them)

But wait! There's more!

You still need a few more parts, namely, the 3D printed parts, the circuit board, the battery, and the "Hook and Loop Fastner" (Like Velcro, for example) for the battery.

  • Hook and loop fastner (eBay Link, one meter of the stuff)
  • Battery (eBay Link, but just buy it at the store)

3D Printed Parts:

Circuit Board:

What I did (The easier way, if you don't already have the stuff):

  • I used www.pcbway.com, and they'll let you do 5 pieces for $5, not counting shipping. When we make 20 or so pieces for STEM camps, it costs about $24, shipping included.
  • Create an account with them, upload the gerber file zip, and they'll get you your requested number of boards.

Step 3: Supplies: Tools

Now this is possibly already stuff you have, but I'll give links here anyways.

Tools: (Links to Amazon)

The conservative spender may be shaking his or her head at this huge amass of tools to be purchased, but keep in mind- Each of these tools, if properly cared for, will last for years, and can be used for a variety of things besides making little robots. (That being said, I feel you!)

Step 4: Motor and Bump Sensor Assembly: Cut, Strip, 'n Tin Wires

Let's get started with the wires for the Bump Sensors and Motors. You'll need to set up you soldering iron and a workplace for soldering, and you may want some form of ventilation. A small, low speed fan is nice.

  1. Separate 2 sets of 4 wires from your Female to Female jumpers.
  2. Use your wire cutters to cut them in the middle of each set.
  3. Using your strippers, strip about 5MM or 1/4th insulation off the ends of the wires.
  4. Separate the wire ends, then twist the individual copper strands to keep them tidy.
  5. Tin each wire end by holding your tinned iron on top of the wire, while applying the wire to your solder.

When you're done, you should have 4 sets of 2 wires each, with 2 tinned wires on one end, and 2 female connectors on each end.

Step 5: Motor and Bump Sensor Assembly: Solder Motors and Sensors

Keep your soldering iron on, 'cause we're not quite done yet...

  1. For each set of wires, bend the tinned ends 180 degrees apart.
  2. Insert the wire ends into the connector tabs on the motors and bump sensors, as shown in the pictures.
  3. Secure the motors and sensors somehow.
  4. Using your tinned iron, solder the wires to the connector tabs.

Step 6: IR Sensor Assembly: Cut, Strip, 'n Tin

With your motors and bump sensors finished, it's time to move on to the IR sensors.

  • Separate a set of 3 female-female wires.
  • Cut them in half.
  • Strip about 5MM or 1/4 inch of insulation off the ends.
  • Tin the wires by holding them on your solder, then applying your tinned iron.

When you're done, you should have 2 sets of 3 wires with the female connectors on one end, and tinned wire ends on the other.

Step 7: IR Sensor Assembly: Prepare Sensors

This is probably the hardest soldering you'll have to do. Take your time!

  1. Use your clippers to cut off the extra leads, leaving about 5MM or 1/4 inch exposed from the plastic body of the sensor.
  2. Figure out the orientation of your sensor based on the picture.
  3. Bend the GND lead for the Blue LED over to contact the GND lead of the Black LED.
  4. Secure the sensors, then use your soldering iron to make a solder connection between the GND leads that you connected.

Step 8: IR Sensor Assembly: Solder Wires

Now we're ready to connect the wires to the IR sensors.

  1. Separate the wire ends, so that you've got the individual wires separated about 2.5CM, or 1 inch.
  2. Begin soldering the wires, in order, to each of the 3 leads from the sensor.
  3. If you're using masking tape like me, when you've finished with one side, flip the sensor over and solder the other side.

Note: Since the DuPont Wires are randomly colored, it isn't easy to stick with a color convention, so I'd just recommend keeping it consistent between sensor pairs. I usually try do them in order, with GND, Sense, and then +5V, with the darkest end color being GND.

Step 9: Assemble Battery Cable

Last, but not least, we'll need to solder the battery cable together.

  • Get your last 2-pin length of male headers, then push the plastic divider piece down to roughly the middle of the pins.
  • Using a pair of pliers, bend one side at a 90 degree angle.
  • Secure it somehow (I used a piece of foam, then added masking tape to keep the headers in place when the foam melted).
  • Tin each pin, so it'll be easy to solder the wires to.
  • Ensuring the polarity is correct (Red = +, Black = -), solder the battery connector to the pins.

(If your battery connectors don't come pre-stripped and tinned, you'll need to do that.)

In hindsight, it might be a good idea to put a small piece of heat-shrink tubing over the joint between the wires and header pins.

Step 10: Take a Break

Now that you've finished the sensors and motors, it's a good idea to take a break. I've assembled loads of parts for the ProtoBots, and I still need to take breaks now and then.

While you're taking your break, go ahead and take the opportunity to clean up all the little bits of metal and wire insulation on your workspace. Then, get a breath of fresh air, and get yourself a nice drink of something refreshing.

When you feel sufficiently refreshed, feel free to continue!

Step 11: Assemble Arduino

Let's get on with it, starting with putting the Arduino together.

  • Take the Arduino out of the plastic bag it came in
  • Find the two 15-pin lengths of headers, and insert them, short side up, into the Arduino, as shown.
  • Insert the arduino into a board to make sure the headers stay at the correct angle while soldering.
  • Beginning at the corners, solder each pin to the Arduino.

When you're finished, check for any solder bridging two pins. To remove excess solder, just melt it in the middle with your iron, and then drag it back away from the pins. If that doesn't work, try sucking up the excess with your solder sucker.

You'll notice I didn't solder the set of 6 pins- Those are the ICSP pins, used for programming it without the USB. We don't need them for the ProtoBot, but you can choose to solder them in, if you wish.

Step 12: Assemble the Board: Gather Parts

You should have all the parts you'll need for the board, but take a moment to gather them in the quantities you'll need.

  • 1 x ProtoBotBoard
  • 1 x Assembled Arduino Nano
  • 2 x 220 ohm resistors
  • 4 x 10K Resistors
  • 1 x 14 pin length of male header pins
  • 2 x 15 pin length of female header pins
  • 1 x 2 pin length of female header pins
  • 1 x L293D motor driver chip

To cut the female headers, I use the wire clippers, and clip them on an extra pin. You'll have to sacrifice a pin for each cut, but you should have plenty left over anyway.

Step 13: Assemble the Board: Solder Female Header Pins

You can skip the female header pins if you want, but it makes it easy to reuse the Arduino or troubleshoot in case something goes wrong.

  1. Insert the Arduino into the female header pins. (In this case, we're just using it to keep them aligned)
  2. Insert the Arduino/header pin assembly into the board, and secure it to the board.
  3. Beginning at the corner pins, solder the female header pins to the board.

Step 14: Assemble the Board: Solder Motor Driver Chip

Time to solder the motor driver!

  1. Insert the motor driver into the board, with the notch on the top of the chip aligned with the gap in the outline on the board.
  2. Secure it with some masking tape.
  3. Solder each pin, beginning with the ones in the corner, then continuing to the rest.

Step 15: Assemble the Board: Solder 10K Resistors

When you're done with the motor driver, we'll move on to the 10K resistors.

  1. Find you 4 10K resistors. They could be blue or tan in color, but whichever, they should match color bands in the diagram.
  2. Bend the leads on each resistor at a 90 degree angle downwards.
  3. Insert each of the 4 resistors into the spots marked "10K" on the board.
  4. Use masking tape to secure them to the board (Or just bend the leads, but masking tape works better).
  5. Solder each one, being careful not to fill in the other holes around them.
  6. When you're finished, clip off the extra lead above the solder joint, then remove the masking tape.

Note: I've rarely had issues with this, but sometimes clipping leads after soldering can break traces on the board, which is usually non-repairable. Take care!

Step 16: Assemble the Board: Solder the 220 Ohm Resistors

Now let's do the 220 ohm resistors.

  1. As with the 10K resistors, the 220 ones could be tan or blue, just make sure they match the color bands, as shown in the diagram.
  2. Bend the leads at 90 degrees, then insert them into the spots marked "220".
  3. Secure them with masking tape, or bend the leads.
  4. Solder the leads into the board.
  5. When you're finished, clip the leads, then remove the masking tape.

Step 17: Assemble the Board: Sensor Header Pins

Let's move on to headers for connecting the sensors.

  1. Break your set of 14-pin length male headers into 4 x 2-pin lengths, and 2 x 3-pin lengths.
  2. Use masking tape to secure the headers, short side down, into the spots of the boards marked "BL", "BR" (2-pin lengths), and "IRR" and "IRL" (3-pin lengths). You'll have 2 sets of 2-pin lengths left, don't worry about them for now.
  3. Solder the pins in place from the underside of the board. I did the 2-pin and 3-pin lengths separately, but you could do them all together.
  4. Remove the masking tape

Step 18: Assemble the Board: Motor Header Pins

Remember those two extra 2-pin header lengths? We're gonna use those to connect the motors.

  1. Using a pair of pliers, bend the longer side of the leads at a 90 degree angle.
  2. Insert them into the spots on the board marked "MR" and "ML".
  3. Secure them with masking tape.
  4. Solder them in place, then remove the masking tape.

Step 19: Assemble the Board: Battery Connector

Almost done! We just need to add the battery connector.

  1. Get your 2-pin length of female header pins, and insert them into the spot on the board marked "Bat.".
  2. Secure them in place with a piece of masking tape.
  3. Solder the pins into the board, then remove the masking tape.

Step 20: Assemble Board: Check Everything

Before you finish, take a look at the board, and make sure everything is how and where it should be.

Check for:

  • Solder bridges (when solder is connecting two pins together)
  • Stuff placed the wrong way, or in the wrong place
  • Improperly connected/soldered pins

Solder bridges are easy enough to fix, just use a solder sucker and a hot iron to get rid of the extra.

Stuff that's been soldered in the wrong way will need to be de-soldered and put back in the right way. Same procedure as removing bridges, just do it to every pin on whatever that needs to be removed.

Step 21: Take a Break!

By now, you've been soldering a while. It might be a good idea to take a break, get a breath of fresh air, and stretch those neck muscles.

While you're at it, you can clean up the soldering stuff and put away your iron, then set your hot glue gun out to start heating up.

Step 22: Robot Assembly: Gather Parts

Now you're ready to assemble the ProtoBot!

Let's make sure you've got the parts you need.

  • 1 x ProtoBotBoard with Arduino Nano inserted
  • 1 x 3D printed base
  • 2 x 3D printed Antenna parts
  • 4 x 3D printed board supports
  • 2 x Bump sensors
  • 2 x IR Sensors
  • 2 x N20 Gear motors
  • 2 x 39MM plastic wheels (3mm diameter inside hole)
  • 1 x battery connector
  • 1 x 9V Battery
  • 1 set of Hook and Loop Fastner (Like Velcro), cut to about the length of the 9V battery

You'll also need a hot glue gun and glue, preferably High-Temp.

Step 23: Robot Assembly: Glue Motors

Let's start with the motors

  • Put a generous dab of hot glue in the motor mounts.
  • Place the motors into the holders, with the wires going back out of the back of the robot.

Note: Be careful that you don't get hot glue into the area that the gearboxes will be, they'll gum up and not work. I generally place my dab of glue on the ends of the motor mounts that are closest to the middle of the robot to ensure it doesn't travel to the ends, where the gearbox is.

Step 24: Robot Assembly: Bump Sensors

Let's do the bump sensors now.

  • Fit your Antenna onto a bump sensor, as shown.
  • Once you've got it on, you can add a dab of hot glue to secure it, if you wish.
  • Put dabs of hot glue on each bump sensor platform on the base.
  • Press the bump sensors into place, making sure they're lined up with the edges of the platform.

Note: Depending on how well your printer works, the antenna can be hard to put on. Just be careful not to bed the bump sensors, or break them. (This is why printing them a little larger helps a lot)

Step 25: Robot Assembly: IR Sensors

EyeR sensors! (Hehe, Geddit? Ok, ok, eye'll stop now)

  • Put a dab of glue at the top of the IR sensor mounts.
  • Bend the wires from the IR sensors out of the way, then insert them into the mounts, so that the tops protrude a little.

Step 26: Robot Assembly: Attach Board

Let's attach the board to the Robot now.

  • Prepare your 4 circuit board supports.
  • Put a dab of hot glue on each corner of the board.
  • Attach the board supports to each corner.
  • When you've finished, put a dab of hot glue on each support.
  • Attach the board to the robot body, with the motor driver and pins towards the back, and sensor connection pins towards the front.

Step 27: Robot Assembly: Connect Wires, Add Wheels

Let's connect all the sensors and motors.

  • Take the wires from the bump and IR sensors, and feed them up through the hole in the robot base.
  • Plug the left motor into the port labeled "ML"
  • Plug the right motor into the port labeled "MR"
  • Attach your wheels to the motors.
  • If they're pink, they'l had a "D" shaped hole which needs to align with the flat spot on the motor shaft.
  • If they're yellow, they can go on however, but you'll likely want to add some glue to make sure they don't just spin.
  • Plug the left and right bump sensors into their respective ports, labeled "BL" and "BR". The order of the wires doesn't matter here. (Note that the sensor that's on the right is not going to plug into the right port, because the antenna is actually on the left.)
  • Figure out which wires are which on your IR sensors, based on the diagram and which wires are where, then plug them into the correct pins on the board, labelled PWR, IN, and GND. (Right sensor in "IRR", left sensor in "IRL").

Step 28: Robot Assembly: Attach 9V Battery

Now we'll attach the battery.

  • Get your hook and loop fastener (IE, Velcro) and cut a piece of each side about as long as the battery.
  • Attach one side to the bottom of the base, where the battery goes.
  • Figure out which way the battery will sit, based on the direction of the wires coming from the battery lead, then attach the hook and loop fastener (IE, Velcro) so it will fit correctly. (See pictures. It doesn't matter too much if you don't get it correctly oriented.)
  • Feed the wire from the battery through the hole in the base.

Step 29: Finished!

Plug the battery in! If no magic smoke escapes, you're good!

The next step is to program it, but we'll cover that in another instructable. (Will link here, as soon as I get it done)

If you're impatient, can't wait, and know how to use Arduino Libraries, the library can be found here: https://github.com/Bobcatmodder/ProtoBots/tree/master/Library

If you want to learn more about the ProtoBots in general, and/or The ProtoBot Project, visit https://theprotobotproject.wordpress.com, or the ProtoBots Github, at https://github.com/Bobcatmodder/ProtoBots

Share

    Recommendations

    • Water Contest

      Water Contest
    • Fix It! Contest

      Fix It! Contest
    • Metalworking Contest

      Metalworking Contest

    4 Discussions

    That's true- I've been toying with the idea of an RGB LED, or/and a piezo buzzer, plus a few other minor improvements. Actually, I'll just upload the Fritzing file to the GitHub, so you can do it if you want.

    Next time I redesign the board, I'll probably add those, plus breakouts for all the Arduino pins, to make it easier to add your own sensors/modules. When I get time, that is... It is on my to-do list!

    0
    None
    Glumgad

    Tip 5 months ago

    Why don't you add an RGD LED to the PCB?

    It will not make it much more expensive, but add a lot of fun.

    You guys did a great job documenting your project. I like what your are focusing on. Keep up the good work!

    1 reply