Build the ROSbots V2.0 Kit

Step 0 - Before we build, other components / tools you'll need
In addition to the ROSbots V2.0 kit, you will need the following (links to purchasing them can be found on the purchase page):
  1. Raspberry Pi 3 (aka RPi3)
  2. 16 GB or larger micro SD card for the RPi3.
  3. Adafruit Powerboost 1000c Board (power source for the RPi3)
    1. NOTE: the USB connector is not soldered on
  4. Lipo Battery for the Powerboost
  5. Generic Raspberry Pi Lipo Battery Power Pack Board (power source for the motors and sensors)
    1. Mounting hardware should be included
    2. Should also include a short USB-A to micro-USB cable
    3. Lipo battery should be attached to the back of the board
  6. Tools - you'll only need a small phillips head screwdriver, and soldering iron. You may also need a drill and 1/8" drill bit for the camera mount install.
Step 1 - Unbox your kit
You should find the following bundles labeled by letters. To manage your build, keep the components in each bag / bundle together. Avoid dumping everything out into a single container.
  1. A main bundle of the bottom platform, wheels, motors, caster, M3 sized hardware to mount the casters, motors.
    1. NOTE: the 4xAA battery pack will not be used.
  2. A breadboard
  3. Bag B - with your UNO board, USB cord for the UNO, the middle platform, the top platform, 3 sets of jumper wires.
  4. Bag C - a pair of wheel speed encoders plus mounting hardware and jumper wires for the sensor.
  5. Bag D - Raspberry Pi camera, camera mount, motor driver board, micro-USB breakout board (will require soldering), short USB cable.
  6. Bag E - M2.5 mounting hardware and round velcro.
    1. M2.5 hardware will be used to mainly mount the RPi3 and the Powerboost board.
  7. Bag F - M3 mounting hardware
If anything is missing, please email us at
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. 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.
  8. Friction fit the wheels onto the shaft of each gearbox.

    *WARNING: Do NOT force turn the wheels. You risk stripping the gears inside the motor 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 the wheel speed encoder to the *left* wheel.
  1. From Bag C grab the following:
    1. (2) M3 screw
    2. (1) long M3 standoff
    3. (1) M3 washer
    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. (3) male-female long jumper wires
      *Keep the wires stuck together. It'll make it easier to locate later
  2. Locate the hole on the main platform that we marked "L encoder" in the image - place an M3 screw in that hole
  3. Grab a M3 washer and the M3 standoff. Place the washer into the screw at the other side of the platform. Thread the standoff over the washer.
  4. Grab another M3 screw and the encoder module. Screw the encoder module on to the standoff oriented in the way shown in the images.
    *Route the motor wires around the standoff so it doesn't interfere with the encoder sensor.
  5. Slant the encoder module towards the motor gearbox
  6. Insert the encoder disk over the drive shaft, carefully around the notch in the encoder module sensor.

    If the disk does fits too loosely over the shaft, flip the disk and try again. One side generally fits more snuggly than the other.

    *WARNING: Do NOT force turn the wheels. You risk stripping the gears inside the motor gearbox!
  7. Make sure there's a hairline of clearance between the bottom of the encoder "U" from the disk. If not, add another washer between the standoff and main platform to add clearance.
  8. Grab (3) of the wires. Insert the female end into the pins on the module.
With the remaining components in Bag C, repeat for the *right* side in a mirror like manner - using the hole on the top platform we marked "R encoder" in the images.
Step 5 - Add breadboard to the 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 through the rectangular hole, the speed encoder wires through the circular hole in the main platforms.
    *Be careful not to kink the wires.
Step 6 - Mount components on to the middle platform
Three things will be mounted to your middle platform: the RPi3, the micro-USB breakout board, and the Generic Lipo Battery Power Pack Board.

We will start with the Raspberry Pi:
  1. From Bag E, grab (4) M2.5 female-female standoffs, (4) of the shorter M2.5 screws. Also grab the RPi3.
  2. Screw the M2.5 standoffs into the 4 corner holes on the RPi3.
The Generic Lipo Battery Power Pack should come with a bag of hardware.
  1. Grab (4) M2.5 male-female standoffs and (4) M2.5 screws from the Power Pack's bag of hardware.
  2. Grab one of the platforms in Bag B
  3. Orient the RPi3's USB ports towards the curved side of the platform, then screw each of the 4 M2.5 male-female standoffs through the platform into the M2.5 female-female standoffs mounted on the RPi3. This mounts your RPi3 onto the platform.
  4. Grab the Power Pack Board. Orient it so that the Lipo battery is facing out and the connector wires are facing towards the flat side of the platform.
    1. The Power Pack's USB ports should be on the same side as the RPi3's HDMI and audio ports.
  5. Screw the M2.5 screws through the board onto the standoff to mount the Power Pack Board.
Lastly, let's mount the micro-USB breakout board to the middle platform.
  1. From Bag D, grab the micro-USB breakout board and header pins.
  2. Solder the pins onto the board. Pin posts should be on the side of the writings (ie VCC, GND).
  3. From Bag F, grab (2) M3 screws and (4) M3 nuts.
  4. Place the M3 screws into the board holes and screw in the M3 nut.
  5. On the left side of the middle platform (the side of the HDMI and audio ports on the RPi3), mount the micro-USB assembly in the rear slot on the platform with the remaining M3 nuts. Make sure the micro-USB's USB port is pointed out upon mounting.
Step 7 - Mount the middle platform to the main platform
  1. From Bag F, grab the (4) M3 female-female long standoffs, (4) M3 female-male really-long standoffs, and (4) M3 screws.
  2. Locate the 4 holes on the main platform which we marked.
  3. With the 4 M3 screws, screw the female-female M3 standoffs into the 4 holes.
  4. Grab the middle platform assembly. Orient it so that the RPi3 is pointed upwards and the curved part of the 2 platforms match.
  5. Screw the middle platform onto the 4 M3 female-female standoffs with the 4 really long male-female standoffs.
Before we cover up the middle platform, let's do some wiring for our micro-USB:
  1. From Bag B, carefully separate out (2) long female-male jumper wires from the bundle of wires.
  2. Connect the female end of one wire to the micro-USB board's VCC pin. Place the other male end into the upper right hole of the breadboard.
  3. Connect the female end of the second wire to the GND pin. place the other male end into the lower left hole of the breadboard.
Lastly, let's wire up the RPi3's ground to share a common ground with the micro-USB breakout board.
  1. From Bag B, carefully separate out (1) long female-male jumper wire from the bundle.
  2. Place the female end into the lower left pin on the RPi3.
    *Be very careful you double check the connection to prevent damage to your RPi3!
  3. Place the other male end into the bottom row of the breadboard, right next to the micro-USB's GND wire.
Step 8 - Mount the UNO board to the top platform
We will be using some M3 hardware to standoff and mount the UNO board to the top platform.
  1. From Bag B, grab the last platform and the UNO board.
  2. From Bag F, grab (3) M3 screws and (6) M3 nuts.
  3. Thread the 3 M3 screws into the holes of the UNO board as shown in the image, and tighten down an M3 nut into the screw. The last hole does not fit a screw very well so we will ignore it.
  4. Orient the top platform so the hole patterns match the image.
  5. In the holes marked on the top platform, place your UNO board assembly screws into the holes.

    NOTE: the screws sandwiched between the UNO board and the platform act like standoffs lifting the UNO board slightly over the platform.

    Tighten the screw posts down with the remaining 3 M3 nuts.
Step 9 - Mount the Powerboost board to the top platform
We will be using some M2.5 hardware to mount the Powerboost board.
  1. Grab the Powerboost board. The USB connector may not be soldered onto the board (ie 1st image). If not, you need to solder the 4 pins (ie 2nd image).
  2. From Bag E, grab (2) long M2.5 screws and (4) M2.5 nuts.
  3. Thread the 2 M2.5 screws through the mount holes on the Powerboost board, and tighten the nut down. Like the UNO board, this nut will act like a standoff.
  4. With the two holes identified on the top platform UNO assembly, screw the Powerboost board on to the top platform with the remaining 2 M2.5 nuts.

    *WARNING: do NOT torque/lift the Powerboost board up since it is only bolted down on one side!
Step 10 - Velcro the Powerboost battery under the top platform
The Powerboost's battery will be velcro'd underneath the top platform.
  1. From Bag E, grab the round velcro tab.
  2. Grab the Lipo battery.
  3. Peel one side of the velcro tab exposing the sticky surface. Stick it to the middle of the Lipo battery.
  4. Get the top platform, flip it upside down.
  5. Orient the Lipo battery so that the wires point towards the curved part of the top platform.
  6. Remove the other side of the velcro tab exposing the sticky surface. Press the Lipo battery (with the wires pointed to the curved rear of the top platform) into a spot near the middle of the underside of the top platform, away from screw posts.
  7. Grab your battery wires and stick it into the Powerboost board to make sure you mounted it correctly.

    Then DISCONNECT the battery wire from the Powerboost board. You don't want to drop a metal screw on the board and accidentally short the board out!

    *WARNING: when you disconnect the wire, again, be careful not to pull the Powerboost board up, else you run the risk of breaking the board.
Step 11 - Mount the RPi3 Camera on to one piece of the camera mount
  1. From Bag D, grab the Pi Camera Mount and RPi3 camera.
  2. The mount has a piece with side notches. With that piece, and the plastic screws and nuts included in the camera mount kit, screw the RPi3 camera in place.
    1. Make sure to line everything up like in the image. The tiny LED on the upper left of the RPi3 camera is aligned with the notch in the mount.
    2. Place the mount on top of the camera, again double checking that the tiny LED on the camera is exposed by the small notch
  3. The screws and nuts are small and awkward to work with. Take your time. Be careful not to damage the camera.
  4. BTW - we only mount 2 of the 4 holes which we feel is plenty!
Step 12 - Mount the other camera mount piece to the top platform
Now let's screw the other camera mount piece to the top platform.
  1. From Bag F, grab (1) M3 screw, (1) M3 washer, (1) M3 nut.
  2. Grab the other camera mount piece sort of shaped like a U.
  3. If the mount piece has a small hole at the bottom of the U (not the big hole, but a small hole), then you are all set. If you don't have a hole:
    1. Grab a drill and 1/8" drill bit.
    2. Drill a small hole into the mount at the spot marked in the image.
    3. If your drilled hole is not perfectly centered, no worries.
  4. Screw the main mount piece onto the left-front slot of the top platform - marked by the arrow in the image - with the M3 hardware.
    1. Sandwich the washer between the top platform and nut at the bottom. So you'll have screw, camera mount, top platform, washer, then nut as your sandwich.
    2. Mount it as close as possible to the middle of the top platform, marked by the arrow in the image.
    3. If your mount hole isn't centered, use that to your advantage to get the camera as close to center to the platform as you can.
Step 13 - Connect the camera to the RPi3
  1. Lift up the hold-down tab on the RPi3 camera connector.
  2. With the RPi3 camera cable's "metal" side pointing away from the RPi3's USB and Ethernet connectors, slot it into the connector.
  3. While holding down the cable firmly into the connector, carefully push the hold-down tab back into place.
  4. Gently lay the camera assembly towards the front of the robot on top of the breadboard.

    Be careful not to pull on the camera cable!
Step 14 - Mount the top platform to the main assembly
  1. From Bag F, grab (4) M3 screws.
  2. Move the RPi3 Camera unit towards the front of the assembly if you haven't already done so. Be careful not to pull the cable out of the RPi3.
  3. With the UNO board pointed up, align the top platform's curved and flat sides with the curved and flat sides of the middle platform already installed.
    1. Tuck all the jumper wires under the platform inside the 4 standoffs.
  4. Screw down the top platform with the 4 M3 screws.

    A snug turn is enough. Over tighten the screws and you risk cracking the platform.
  5. Carefully pressure fit the camera mount pieces together.
    1. It helps to have the jumper wires under the cable
    2. Be very careful pressure fitting the 2 mount pieces together. Otherwise you risk cracking the U piece's arms.
Step 15 - Wire up the ROSbots robot
Let's get 5 components handy and do the following:
  1. From Bag B, grab the USB cable. Plug one end into the RPi3, the other end into the UNO board.

    For the next couple of steps, to deal with extra cable length, you might have to get carefully creative with how you route the cables and wires.
  2. From your Powerpack's kit, you should have a USB-A to micro-USB cable. Plug the USB-A end into the lower Powerpack, the micro-USB end into the micro-USB breakout board.
  3. From Bag D, grab the motor driver board. We'll connect the motors in another exercise. For now, push the board's pins into J-1 to J-6 on the breadboard.

    There might be some resistance as you try to seat the pins into the breadboard. Try to slightly rock the pins to get the pins to seat. Be patient!
  4. From Bag B, carefully separate out a long male-male wire. Connect one end into the GND pin on the UNO board, the other end into the 3rd hole on the bottom row of the breadboard - right next to the other ground connections. This allows the UNO's GND to be tied to everyone else's common ground.

    Avoid this jumper wire from blocking the from of the camera by routing it through the front slot on the top platform.
  5. From Bag D, grab the short micro-USB cable. Connect the USB-A end into the Powerboost (which is still disconnected from the Lipo battery wire right?). Connect the other micro-USB end into the RPi3.
    1. Be super careful not to bend the Powerboost board up as you plug in the USB-A end!
    2. Your Lipo battery wire should still be disconnected from the Powerboost. This way, your RPi3 still stays powered off despite being connected to the Powerboost board.
Step 16 - Setting up your ROSbots' RPi3's SD Card Image
Grab your blank SD card - 16 GB or larger.

Let's set up the RPi3' card image by following the instructions on our ROSbots Github Page.

Upon completing those steps, in summary, you should have:
  1. The SD Card image set up.
  2. The SD Card inserted into the RPi3.
  3. The RPi3 powered up by plugging the Lipo battery into the PowerBoost board (see image to the right).
  4. Set up the ROSbots software on the RPi3.
  5. See the following rosnodes upon typing rosnode list from the ssh command line - /rosout and /uno_serial_node.
Step 17 - Wiring up your ROSbots robot
Wire up your ROSbots robot with the diagram to the right.

To identify what's the Left + and Left - motor wires, you can plug one left motor wire into the top bus / row, the other left motor wire into the bottom bus / row on the breadboard. If the left motor wheel spins forward, your successfully identified the + (wire plugged into top row) and the - (wire plugged into the bottom row). Otherwise, flip the wires.

Same for the Right +/- motor wires. Identify the wire configuration that makes the right motor spin the wheel forward.

The A/B-OA/OB connections to the motor wires refer to the motor driver screw post connectors on the motor driver board. Unseat the motor driver board from the breadboard. The A/B-OA/OB markings should be etched on the bottom of the motor board. You will need a small screwdriver to loosen / tighten the post hold-downs against the appropriate motor wire. Once you screw down the wires securely, remount the motor driver board into the breadboard along J-1 to J-6 (see image to the right).

Recall the motor driver is connected upside down along rows J-1 to J-6. That's represented by the "bar" of header pins in J-1 to J-6 on the schematic image.

Lastly, the speed encoder sensor markings - VCC, OUT, and GND - will be clearly marked on your physical sensor board.

Step 18 - Powering up - Helloworld examples
Let's run through a couple of exercises to get your ROSbots robot moving (COMING SOON...).


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: