Build a J-Bot Office Robot

By Omar Arriaga

Experience Level: Intermediate (requires soldering)
Time Required: 3-5 hours depending on experience

Jameco J-BOT Kit (P/N 2140285)

Someone mentioned that Jameco needed a robot mascot. I have always been a tinkerer, especially with radio-controlled electronics and so I volunteered for the chance to design and create the J-Bot. While this was my first autonomous robot build, I'm confident it won't be my last. We thought this would be a fun project to build.

J-Bot Robot

Required tools and parts:

Qty. Description Mfr. P/N
1
Jameco J-BOT Kit J-BOT
1
Arduino UNO (Not Included in Kit) A000046
11
11 AA batteries ALK AA (EN91)
1
Philips screwdriver 127271
1
Long nose Pliers G/S(GPL-172) 4.7 -R
1
Soldering iron 200GX-25W
1
Solder wire SOLDERDISPLF
1
Helping hands 3RD HAND


Step 1 - Building the 4 wheel drive platform

Before building the brains, we'll need the basic platform. I found some good videos to help step me through the process of putting together the same 4 wheel drive platform that is included in the J-Bot kit.

Overview of kit and laying out your parts

Laying out parts (con't)

Mounting wheel motors

Prep and Soldering

After soldering the wires to the motors, I suggest adding a drop of hot glue to the copper clips so the clips do not rip off because they are very fragile.

Assembling the platform and adding wheels

At this point it would be a good idea to label all the cables so you can identify them later. I decided to label them by using regular scotch tape. I labeled the two front motors "FL" and "FR" for front-left and front-right, as well as the back as "BR" and "BL" for back-right and back-left.

Step 2 - Wiring and Mounting Arduino to Platform

This video shows how to wire for battery pack.

To mount the Arduino to the platform, I first put the standoffs on the Arduino to see where I could mount it. I decided to mount the Arduino on the bottom plate because it would require less drilling. I drilled one hole on the platform so I could get all four standoffs connected to the platform.

Insulate the screw with tape Insulate the screw with tape
One of the screws came in contact with one of the headers on the Arduino, so I decided to be safe and insulate the screw with tape.

Pull all the wires out from beneath the platform Build the Adafruit
Pull all the wires out from beneath the platform. There should be five cables, four for the motors and one positive battery cable from the switch and the negative cable from the battery pack.

Next we will build the Adafruit motor control shield to control the motors on the platform. This website walks you through the simple build.

Be sure you sort out your parts; sometimes the capacitor color will not be the same as the pictures in the instructions. Look at the value of the capacitor, not the color.

Solder jumper wire to the board Wiring the motors in series


Motors need to be wired correctly

The kit includes some headers so you can solder them onto the motor control shield to make it easier to connect the different sensors. The headers that are provided are 8-position. You will need to cut in the middle of the seventh pin so it will fit onto the motorshield. If you decide not to use the headers, you can solder jumper wires to the board. In this build we will be using pin A0, one grd (ground), and one +5V pin.

Take both sets of wires from the left side (front left and back left) and test them with an AA battery (not included) to make sure they are wired correctly. Both of the wheels should go the same direction. We are wiring the motors in series. Do the same with the right side.

After making sure that the motors are wired correctly, put the left side to the terminal labeled M1. Put the right side to terminal M2.


Connect the battery pack cables to the motor shieldConnect the battery pack cables to the motor shield as shown below.

Attach the standoffsAttach the standoffs



Solder the plug and the battery holder togetherYou will need to solder the plug and the battery holder together as shown below. This will provide power to the Arduino UNO


Solder the red cable to centerThe plug is center positive, so you will need to solder the red cable to center.


Step 3 - Adding the breadboard

I decided to put the breadboard in the front for easy access; so I put the plate on the front side.

Add breadboard and plate


BreadboardThe breadboard comes with double-sided tape. I left the first row of the plate open in case I want to add other sensors later.
Connect servo cable to SER1.Next, slip the servo cable through the top plate and connect it to SER1.



Connect jumpers to green cableConnect one of the jumpers to pin A0 which is the green cable below. Then connect a jumper cable to ground (yellow) and one to 5 volt (red).


Connecting all the cablesOn the breadboard connect the power (red cable) to the first row, the ground (yellow cable) to the second row and the signal cable to the first column.


Add header to the extension cable
Put the header into one end of the extension cable, and put it on the board as shown below. The white cable is the signal, the red cable is power and black cable is the ground.


Step 4 - Adding the PING sensor

We will use the aluminum piece that came with the breadboard to make a holder for the PING sensor. Put the sensor on the aluminum piece and mark it with a Sharpie. I used regular scissors to cut the aluminum piece.

Put the sensor on the aluminum piece fold the aluminum into a 90 degree angle Stick velcro to the sensor
Use the edge of a desk or table to fold the aluminum into a 90 degree angle.

I used a small piece of Velcro to stick the sensor to the mount.

Push in a hole in the middle of the mount Circle horn


Stick velcro to the mount Attached six AA batteries to the top plate with Velcro

Because the aluminum is thin, I used a regular screwdriver to push in a hole in the middle of the mount.

I used the circle horn for the servo and attached the mount to it by using the screw provided.

I decided to stick the sensor to the mount with Velcro. The servo was attached to the servo hole on the top of the shield by using the standoffs, two screws and two nuts.

I attached six AA batteries to the top plate with Velcro in case I want to take the top plate off.

Motor control shield Everything is connected

This is what the motor control shield should look like when all of the electronics are connected together.


Step 5 - Now time to program!

This is really the fun part; the sky's the limit when it comes to programming your J-Bot. You can pre-program the route to the candy office machine or coffee pot to have your office buddy make a pick-up. Add a web-cam to peer around high cubicle walls, add speakers to broadcast tunes, add limbs and a remote control to fetch your favorite gadgets. J-Bot is waiting for your imagination to run simply botty.

First you will need to download the Arduino software. Next download the Arduino Stepper/Servo software library and follow the directions on how to put the library in its respective folder.

Next, open the Arduino software and paste the code. Click here for code.

Stay tuned for the next addition on the J-Bot. I will add more sensors and perhaps a webcam.

Troubleshooting Guide:


J-Bot
The code will not compile.
1. Make sure the Adafruit motor control library is in its proper folder.
2. Check the code and make sure you copied the complete program.

The IC chips on the Adafruit shield heat up.
  • 1. Check the soldering job. Make sure your soldering is correct on the motor shield.
  • 2. Put a heat sink (P/N 2077335) on the IC. You will need thermal paste (P/N 615312) to put the heat sinks on the IC.

  • The wheels fall off.
    1. Apply a small amount of hot glue to the wheels.

    The fun with J-Bot doesn't stop here. See what Omar does next for J-Bot here.


    Omar Arriaga is currently attending Canada College, in Redwood City, California and is pursuing a degree in Electrical Engineering. Omar is a Product Marketing Assistant at Jameco Electronics. His interests include building robots, learning about new electronic gadgets, dirt biking and long walks on the beach. If you have any questions feel free to contact him at oarriaga@Jameco.com.