Looking for the V2.0 build instructions?

We are putting final touches on publishing them. Stay tuned!

Build the ROSbots V1.0 Kit

Step 0 - Before we build, other components / tools you'll need
In addition to the ROSbots kit, you will need the following:
  1. Raspberry Pi 3 (aka RPi3)
    *Can be purchased from Amazon or eBay for $40 shipped.
  2. 16 GB or larger micro SD card for the RPi3.
  3. 5v USB Power Bank External Battery (aka 5v PB).
    1. The 5v PB needs to output 2A or more. A 5,000 mAh 5v PB is suggested since it's light enough, and most fit within dimensions defined below and will power your RPi3 for at least 3 hours.
    2. In order to fit within inside the ROSbot platform, the 5V PB has to be less than 5 inches long, 3.25 inches wide, and at most 7/8 inches thick.
    *Can be purchased from Amazon or eBay for around $10 shipped. Search for "5000mah power bank" and make sure the dimensions fit!
  4. Four (4) standard Alkaline AA batteries
  5. Tools - you'll only need a small phillips head screwdriver, and a small black sharpie.
Step 1 - Unbox your kit
You should find the following bundles. To keep your build manageable, the hardware (aka hw) and parts within each bundle should be kept together.
  1. A main bundle of platform, wheels, caster, 4xAA battery pack, M3 sized hardware to mount the casters, wheels.
  2. Another main platform
  3. The top half-plaform + M2.5 hw to mount the RPi3
    (*do not mix the M2.5 sized hw with other M3 sized ones)
  4. Motor controller module bundle with wires to connect motor controller
  5. Two (2) speed encoder module bundles with encoder disk, wires, mounting hardware - one for each wheel, duh!
  6. Bundle of M3 sized hw to mount the platforms, velcro to hold down the battery packs
  7. A breadboard
If anything is missing, please email us at hi@rosbots.com
Step 2 - Build drivetrain - rear caster
Grab the main bundle of platform, wheels, caster, etc:
  1. Unwrap the bundle carefully.
  2. If your platform has a switch in the middle, remove it by squeezing the switch from underneath and pushing it out of the platform. Your ROSbot will not be using this switch so feel free to permanently set it aside.
  3. If your platform has protective sticky film on it, peel it off. Or leave it on - it's your aesthetic choice!

    *To make it easier to identify the holes, we left the protective sticky film on in the remainder of the build steps.
  4. From this main bundle, you'll find the following hw:
    1. (4) short M3 standoffs
    2. (8) short M3 screws
    3. A caster wheel
  5. (Optional) If there is a likelihood that you will install an Arduino UNO on your ROSbot, flip the main platform with the rear cluster of holes like that in the image. That is the *top* of the platform. An UNO can mount to the holes marked in the image.
  6. Use the hw to mount the caster wheel to the 4 holes at the rear and on the bottom of the main platform.
Step 3 - Build drivetrain - motor gearbox + wheels
Pick either the left or right side to install:
  1. Grab the following from the main bundle:
    1. (2) M3 nuts
    2. (2) long M3 screws
    3. (2) motor bracket mounts
    4. (1) motor gearbox with wires
    5. (1) wheel
  2. Slot one motor mount through the top of the main platform.
  3. Orient the motor gearbox such that:
    1. The motor is towards the rear of the platform
    2. The gearbox and driveshaft is towards the front
    3. The wires are towards the inside of the platform
  4. Sandwich the motor gearbox between the motor mounts in the orientation defined above, lining up the screw holes of the mounts with the gearbox.
  5. While holding the assembly in together, slide the two (2) long M3 screws *from the outside towards the inside of the assembly* - insert into the outside mount, through the motor, out the inside mount. The screwhead should be on the outside, threads inside.
  6. Finger thread the M3 nuts into the screws, then use the screwdriver to tighten the nuts down to hold the wheel assembly in place.
  7. (REPEAT FOR OTHER MOTOR)
  8. Friction fit the wheels onto the shaft of each gearbox.
  9. Group the wires of each motor by gently twisting them, then insert them into the rectangular hole in the middle of the platform.
Step 4 - Add wheel speed encoders
Let's start by adding a speed encoder to the *left* wheel. Grab one of the encoder bundles:
  1. Each of the two encoder bundles should have the following:
    1. (2) M3 screw
    2. (1) long M3 standoff
    3. (1) M3 nut
    4. (1) encoder module
    5. (1) encoder disk
      *IMPORTANT: make sure the holes in your encoder disk are clear of any leftover acrylic debris. Clean it out the holes with a pin or small nail.
    6. (4) male-female long jumper wires
  2. Orient the encoder module such that the sensor is pointed forward and up. Insert one of the M3 screws from the bottom of the module, through the back left hole.
  3. Thread an M3 nut down the screw.
  4. Thread a long M3 standoff over the nut. Tighten the standoff, nut, screw assembly as snug as you can.
  5. Grab (3) of the wires. Insert the female end into the pins on the module.
  6. Screw the other end of the standoff into the main platform in the hole marked in the image. It will be the middle hole in a close cluster of 3 holes.
    *Route the motor wires around the standoff so it doesn't interfere with the encoder disk.
  7. Slant the encoder module towards the motor gearbox
  8. Insert the encoder disk over the drive shaft, carefully around the notch in the encoder module sensor.
Repeat for the *right* side in a mirror like manner:
  1. Install the screws, nuts and standoff on the back right hole of the encoder module.
  2. Add wires to module.
  3. Screw the standoff into the main platform in the hole specified.
  4. Slant the encoder module, insert encoder disk over drive shaft.
NOTE: you should have (2) long jumper wires left over - 1 from each of the encoder bundles. Keep those handy. We'll need them in the future steps!
Step 5 - Install 4xAA battery pack and 5v PB
The 4xAA battery pack will power the motors on your ROSbot. To install the 4xAA battery pack:
  1. From the other misc bundle of hw, velcro, etc. - grab a round velcro piece.
  2. With the top of the platform up, stick the velcro right below the front rectangular hole.
  3. With the wire side of the 4xAA battery pack towards the rear of the platform:
    1. Position the battery pack right below the 3rd row of 2 holes on the platform
    2. ... bottom edge of battery pack right above the middle reactangular hole
    3. ... and mount it in place on top of the other exposed velcro piece. Accuracy's a plus by not absolutely necessary.
For the 5v PB, depending on the actual dimensions of the 5v PB you acquired, you may need to freelance this step:
  1. Mock position your 5v PB on the top of the main platform. To allow for access, the USB connectors should point to the rear or side of the platform. Note the rough footprint of the 5v PB on the platform.
  2. Grab one or both of the remain velcro pieces. Stick them where the footprint of your 5v PB would be - centered to the width of the platform.
  3. Double check the centering and position of your 5v PB (USB connectors towards the back!) and mount it down to the other exposed side of the veclro pieces to secure it in place on top of the platform.
Step 6 - Install the secondary main platform
Grab the 2nd main platform as well as bundle of M3 hw (the bundle you took the velcro pieces from).

Add hw to main platform:
  1. From the misc bundle of M3 hw, grab:
    1. (4) long M3 standoffs
    2. (8) M3 screws
  2. Locate the 4 holes marked in the image on the main platform with the wheels.
  3. Screw the standoffs into the 4 holes.

Add hw to secondary platform, which will be used to mount the top half-platform later:
  1. If you so choose, peel the stick film off the secondary platform.
    *We left our sticky film on to make it easier to identify the mount holes.
  2. (Optional) As with the other main platform, if there is a likelihood that you will install an Arduino UNO on your ROSbot, flip the main platform with the rear cluster of holes like that in the image. That is the *top* of the platform. An UNO can mount to the holes marked in the image.
  3. From the misc bundle of M3 hw, grab another set of:
    1. (4) long M3 standoffs
    2. (8) M3 screws
  4. Screw the 4 standoffs to the *top* of the secondary platform, into the holes marked in the image.
    *These standoffs will be used to mount the top half-platform in a later step - which is why the standoffs are mounted to the top.

Install secondary platform to main platform:
  1. Line up the secondary main platform to the standoffs on the main platform and screw it down.
    *NOTE: the other (4) standoffs on the secondary platform are pointed up, not down into the main platform.
Step 7 - Add breadboard to your secondary main platform
Grab the breadboard:
  1. Peel the sticky film off the bottom of the breadboard. Careful - the bottom is now *extremely* sticky.
  2. Don't stick down yet!! Orient the breadboard so that the letters ascend towards the rear of the platform and the numbers ascend right to left.
  3. Note the rectangular hole in the middle of your secondary platform. This is where you will feed the wires, so do not cover it with the breadboard!
  4. With the bottom edge of the breadboard right at the top edge of this rectangular hole, stick the breadboard down, centered side-to-side against the platform. Neatness counts!
    *Use a gentle touch when pressing the breadboard into place to prevent cracking the platform. Remember, the platforms are made of acrylic, not titanium!
  5. Thread the motor wires and speed encoder wires through the rectangular holes from both platforms.
    *Be careful not to kink the wires, esp the encoder wires.
Step 8 - Install top half-platform
Grab the top half-platform bundle.
  1. If you so choose, peel the sticky film off the half-platform.
    *We left our sticky film on to make it easier to identify the mount holes.
  2. Grab the (4) M2.5 standoffs and (4) M2.5 screws. The M2.5 size in the half-platform bundle is a bit smaller than the standard M3 we've been using.
    *Set the remaining (4) M2.5 screws aside. We'll be using those to mount the RPi3 later.
  3. Doesn't matter which is top or bottom for the half-platform - screw the (4) M2.5 standoffs to one side of the half-platform in the holes marked in the image.
  4. With the M2.5 standoffs pointed up, grab your ROSbot and line up the holes on the half-platform with the M3 standoffs from the secondary platform.
  5. With the misc bundle of M3 hw, grab (4) M3, *not* M2.5, screws and screw down the top half-platform into the M3 standoffs on the secondary platform.
    *Do *not* over tighten the screws around the slot or the acrylic will crack.
Step 9 - Install the RPi3
Grab the (4) remaining M2.5 screws from the half-platform bundle. With the RPi3's USB connectors pointed towards the back of the ROSbot, screw the RPi3 down into the M2.5 standoffs.
Step 10 - Wire the motors to the motor driver module
We're going to first orient ourselves to the polarity of the motors:
  1. Grab Four (4) AA batteries. Taking care to not have the red and black wires touch, install the batteries into the 4xAA battery pack.
    *You can do this by carefully rocking the battery pack off the velcro -or- remove the 4 screws holding down the secondary platform to access the battery pack. Up to you.
  2. To avoid the left wheel rubbing against the battery wires, thread the wires through any available slot through the secondary platform.
  3. Stick the red wire from the battery pack into the upper left hole on the breadboard.
  4. Stick the black wire from the battery pack into the lower left hole on the breadboard.
  5. Grab the pair of motor wires from your *left* motor. If you are looking at the ROSbot from above with the front pointed forward, the left is your left.
    *Double check that the pair of wires is indeed from the left motor!
  6. Plug one of the wires into the top row on the breadboard
  7. Pick up the ROSbot so it doesn't run away - now plug in the other motor wire into the bottom row on the breadboard.
  8. If the motor is spinning backwards, flip the wires. We want the left wheel to be spinning *forward*!
  9. Remember which wire is connected to the red wire in the top row of the breadboard, and which one is to the black wire.
    *We marked the one connected to the black wire with a black tick mark with a Sharpie pen.

Connect motor wire pair to motor driver module:
  1. Grab your motor driver bundle.
  2. On the motor driver module, screw the "red" motor wire into A-0B.
  3. Screw the "black" motor wire into A-0A.

Repeat for right motor wire pair:
  1. Find orientation to spin the right motor forward.
  2. Screw the "red" right motor wire into B-0B.
  3. Screw the "black" right motor wire into B-0A.
Step 11 - Complete motor driver module installation
  1. Double check that the motor wires are securing screwed down.
  2. Flip the motor driver module upside down
  3. Line the pins A-IA ... GND to the breadboard holes j-6 to j-1.
  4. Seat the pins into the holes carefully. Remember the platform is made of acrylic. Push down hard enough and it will crack.
    *The fit may be snug. Try wiggling the module into the breadboard. It will seat with some patience.
  5. Grab the following from the motor driver bundle:
    1. (2) short jumper wires (male-to-male, M-M)
    2. (4) long jumper wires (male-to-female, M-F)
      *Your long jumper wires may be grouped together. Feel free to carefully peel them into individual wires.
  6. Insert (1) short M-M jumper wire into the breadboard in g-1, other end into bottom breadboard row under colunm 9.
  7. Insert (1) short M-M jumper wire into g-2, other end into a-3.
  8. Insert (1) long M-F jumper wire into g-3, other end into your RPi3 pin GPIO-21
    *Map of the GPIO pins in the image in this step.
  9. Insert (1) long M-F jumper wire into g-4, other end into your RPi3 pin GPIO-20
  10. Insert (1) long M-F jumper wire into g-5, other end into RPi3 GPIO-24
  11. Insert (1) long M-F jumper wire into g-6, other end into RPi3 GPIO-23

IMPORTANT: Double check your GPIO pin connections. If you miss the pins by one, you run the risk of damaging your RPi3 and/or the motor driver IC!

NOTE: you should have (4) long jumper wires remaining - 2 from the encoder bundles and 2 from the motor driver bundle. Keep those handy, we'll be using them soon.
Step 12 - Wire up your wheel speed encoders
Grab the 3 groups of wires from your *left* wheel encoder:
  1. Plug the wire connected to VCC on your *left* encoder module into the 2nd-to-top row on your breadboard (*NOT* the top row, the 2nd-to-top row) - into a hole above column 22.
  2. Plug the wire connected to OUT on your *left* encoder module into f-22 on the breadboard.
  3. Plug the wire connected to GND on your *left* encoder module into the bottom row on your breadboard under column 22.

Now for the 3 groups of wires from your *right* wheel encoder:
  1. Plug the wire connected to VCC on your *right* encoder module into the 2nd-to-top row on your breadboard (again, *NOT* the top row, 2nd-to-top row) - into a hole above column 21.
  2. Plug the wire connected to OUT on your *right* encoder module into f-21 on the breadboard.
  3. Plug the wire connected to GND on your *right* encoder module into the bottom row on your breadboard under column 21.

Grab (2) long jumper wires:
  1. Plug one wire into j-22 on your breadboard, other end into RPi3 GPIO-17.
  2. Plug the other wire into j-21 on your breadboard, other end into RPi3 GPIO-22.
Step 13 - Finishing touches to wiring
Lastly we want to connect the RPi3's 3.3v DC output to the breadboard:
  1. Grab (1) long jumper wire, connect one end into the 2nd-to-top row on the breadboard (*NOT* the top row, the 2nd-to-top row) above column 11. Connect the other end into on of RPi3's 3.3v pin. We chose the 1st pin on the top of the right column.
  2. Grab our last long jumper wire, connect one end into a hole on the bottom row of the breadboard under column 10. Connect the other end into one of RPi3's Ground pins. We chose the 3rd pin down on the right column of our RPi3.
Step 14 - Done assembling the ROSbots kit.
You are now ready to install the ROSbots software if you haven't already done so. As for the physical wiring, there are some interesting things to note:
  1. The top row on our breadboard supplies 6 volts from the 4xAA batteries. This power source is dedicated to the motors hungry use of current which may drop the voltage.
  2. The 2nd-to-top row of our breadboard supplies 3.3 volts from the RPi3's regulated 3.3 volt DC output pin. This will power most our sensors which the RPi3 will read from. We cannot use the 6v supply since 6v will fry out RPi3 circuitry.
  3. The VCC on our motor driver is connected to... nothing! Eventually, we will connect this to the top row on our breadboard for 6v of power. But to prevent your ROSbots from running away upon power up, it's disconnected.
  4. Your RPi3 can be powered via USB through the 5v PB or a wall adapter.
  5. Your RPi3 and 4xAA battery pack share a common ground.
Step 15 - Install the ROSbots software
Please continue onwards to the ROSbots Github Repo for instructions on how to set up the ROSbots software and give ROS a test spin!


About

ROSbots is created by Jack Pien, a Maker who loves robotics, computer vision, and inspiring, being inspired by other Makers. When he's not tweaking ROSbots, he's teaching kids robotics, electronics, and coding over at EEME.

Want to say hi? Questions?
Please reach out: hi@rosbots.com