No soldering needed and everything is available from Amazon!
This Guide is derived from From Amazon To Bottington: A DIY Bot Guide for letsrobot.tv
If you are reading this guide, then you most likely have found and enjoyed many of the unique telepresence robots available at letsrobot.tv; and are wondering how to build one for yourself. This guide will hopefully give you the information you need to get take you from a driver to a Robocaster. However, if this guide is not completely clear feel free to ask any questions you have in the #robot-setup-help channel on the Discord server.
This is a beginner robot and a perfect first test to learn the process before making a more complicated robot. It is built with cost in mind and could probably be even cheaper with parts from DX.com or Banggood.com at the expense of shipping time. However I’d highly recommend not swapping out different parts like webcams, speakers, or batteries as this will often cause more trouble than spending a bit more on these.
Please note that the robot build that is covered in this guide is a basic robot that has the following limitations
It uses inexpensive 3-6V DC motors with plastic gear boxes.
It won’t drive very straight because the motors will all likely have slightly different speeds.
Motors will wear out and break often (especially if they stall)
- Stalling is a condition when the motor stops rotating. This condition occurs when the load torque is greater than the motor shaft torque.
You will be limited as to what the robot can drive over/on.
- Consider this an inside only robot that may have trouble with deep carpet.
Turning may be difficult depending on the amount of friction between the wheels and the surface.
Using this 4WD chassis and hardware limits turning to both wheels on one side going one way while the other 2 wheels on the other going the opposite. To achieve a turn wheels are going to have to slide a bit.
To improve turning I’d recommend wrapping blue tape or duct tape around the wheels.
Warning: Building a robot or working with electronics can be dangerous for yourself, for others, to the property and to the components used. By using this guide you assume all responsibility for safe operation of your robot and for the quality of your construction. If you have questions or concerns with this document or construction of the bot in general, please seek assistance from a knowledgeable person. This document comes with no guarantees and is provided As-Is.
Chassis - YIKESHU 4 wheels
Cheap all around passable chassis. It has a lot of limitations but will do surprisingly well for the price.
Micro SD Card
Minimum 8 GB in size
Optional but required for TTS
Logitech C920 Webcam
Amazon, Bid on Ebay
Includes stereo mic (Cheaper to bid used on Ebay, aim for $30)
This model is hands down better than any other webcam due to built-in hardware encoding.
Raspberry Pi 3 B+
L298n Motor Driver
Step Down regulator
Steps 12V battery out down to 6V motors
USB Battery Pack (12v + 5v)
Lasts about 4 hours
6000mAh also works well for $33 and lasts about a 7-8 hours
To connect everything
SD Card Reader/Writer
USB A to USB Micro Cable
Shorter the better (6" to 1' )
2+ amp USB charger
Official Raspberry Pi supply recommended
Small Phillips Screwdriver
Small Flat Head Screwdriver
Needle Nose Pliers
Tape (Blue Painters or Duct Tape)
Used for wire management
Use to prevent shorts
Construction & Operation
Used to hold the wheels to the motors
Used to hold batteries in place but allow them to be removable
Connecting wires when you can't solder
It is now time to build the your new robot. This is a lot easier than it might appear from the pictures or the massive list. Most of the instructions for constructing the bot’s individual sub components have already been written by another party, and whenever possible I will link to their instruction instead of writing my own. Now let's get down to melting some metal, tightening some bolts, and applying some tape.
Connect a red wire to each of the motor terminals POSITIVE (+) side. Look closely there should be a small indicator on the motor or plastic. Connect a black wire to each of the motor terminals NEGATIVE (-) side.
Here is a basic how-to on connecting the motors without soldering. However I’d recommend using heat shrink tubing or electrical tape, but duct or gaffers tape will suffice.
Another option is to slip the end through the motor lead and twist it together and secure with Wire Glue. Just be sure not to have it touch the motor’s metal components other than the leads.
If you plan on doing any more upgrades or work with electronics in the future, I’d highly recommend learning to solder and buying a soldering iron. Soldering the wires to the motors will ensure a better connection and less issues later.
Use the instructions that came with your chassis to construct the it. Please, skip step 5 as the battery compartment won’t be needed. This will allow you to have room for the Raspberry Pi, camera, and speaker on top of the chassis.
Additionally, there are two ways to configure the chassis. The first configuration is into a taller robot with the motors below the lower chassis plate. This Tall configuration is much better at getting over obstacle and offers more space between the two chassis plates for components. The second configuration is a shorter robot, with the motors placed between the two chassis plates. This shorter robot is much better suited to getting under low objects like beds and can be easily excluded from an area with a very minor barrier. See Figure 4 and Figure 5 below for how the chassis will look in each of the possible configurations.
Figure 4: Tall Configuration
Figure 5: Short Configuration
Optional: Apply a small amount of E6000 to the end of the motor axel where the wheel is going to be pressed on, before attaching the wheel to the axel.
As there could some variability in the configuration of the chassis, we are going to put all the parts we can on the robot’s top plate. The four things to make sure of while arranging the components on your bot are:
Don't Short the Raspberry Pi out on any of the screws
Make sure that the charge port of the battery is still exposed
Use a removable method for affixing the components to the robot, like tape or velcro scraps
Make sure none of the USB cables over hang the front or the back, or rub against the tires
This is where some creativity in arranging the parts comes into play. Use whatever tie down method works best for your bot, be-it tape, zip-ties, or hair bands. Feel free to arrange the parts in a way that best fits your functional needs and aesthetic wants for your bot.
Optional: Install the USB battery pack with 3M Command Picture Hanging Strips attached to the battery itself and the top of the top plate, to make it easy to remove the battery for charging or other use.
Now it's time to start wiring up the robot so that the motors work and the Pi get power. We will also connect up the the webcam and speaker, if installed, so that we can get to install the software next.
Fig 6: Wiring everything up
Once you have the wires connected to the motors start by connecting the two left hand motors to one side (Out 1 & Out 2) and the two right hand motors to the other side of the l298n (Out 3 & Out 4). Aim to get a positive from one motor and a negative from the other motor (of the same side) together in each socket like the diagram. Do the same on the other side. Don’t worry too much whether you get this correct or not. We will come back to this and swap them later if the bot doesn’t drive correctly.
Use your jumper wires to connect the Raspberry Pi pins as shown in the figure 6 above. Remove the jumpers from ENA and ENB if your board came with them. If your board does not have a GND pin where indicated just leave that wire off (Grey Wire in Fig 6).
When you get to pin 8 with the green wire you’ll notice it is a "Y" connector and connects to two pins on the l298n. You’ll need to cut and strip a couple of your jumper wires and create this. If you bought the solder glue you can use that after twisting them together, then insulate with some electrical tape.
Sacrifice the 12v splitter plug you got with the battery and split it down the middle leaving a male plug and two wires as long as you can get them. Strip the ends and put it to the in side of the Step Down Converter. Plug it into your battery and turn it on. Use the flat head screwdriver to turn the potentiometer screw counterclockwise until the LCD screen says 6.0V. It may take a lot of turning at first to get it to change. Once it is set to 6.0V disconnect from the battery and connect the OUTside of the converter to the l298n as shown.
Powering On the Pi
Now it is time to connect up the Raspberry Pi, setup the Raspberry Pi, and install the required software. Start by connecting the keyboard and mouse to the two open USB A ports on the Raspberry Pi and connect Raspberry Pi’s HDMI port to your HDMI Monitor/TV using a HDMI cable. After making sure the monitor is on, plug in the power supply and connect the USB micro cable from the power supply to the USB micro on the Raspberry Pi. This will power on and boot the Raspberry Pi.
- Note: Don’t use the battery for this step, use a power supply that plugs into the wall and delivers 2.0-2.4 Amps.
Note: You may get a warning saying "Under-voltage detected! (0x00050005)" that means the USB cable or power supply is not up to snuff and may need to be replaced.
GO TO: Connect a Robot to LetsRobot.tv to continue the software installation.
IMPORTANT: In your start_robot file use --type l298n in the list of controller.py arguments.
You may want to start testing in Dev mode to ensure others can’t drive your bot while you are testing it.
Once you have all the motors working, it is time to correct any polarity issues that you may be experiencing. Start by repetitively clicking on the forward button or the up arrow key on your keyboard on your robot at LetsRobot.tv
While doing this, you want to make sure that the Left Front and Left Back wheels (left while looking from the back of the robot toward the front) are spinning counter clockwise (counter clockwise while looking at the wheel from the left side towards the bot). In other words are the wheels moving so your robot will go forward? Are they both moving in the same direction?
If the wheels are rotating the same direction but backward:
- Keep the wires that are together in the wire jack together, but switch their position from Out 1 to Out 2 and vice versa.
If the wheels are rotating in different directions:
You may have wired the red and black wires on the motors incorrectly (But That is OK!) or its a bit more mixed up.
Start by ensuring in Out 1 that each of the 2 wires go to different motors. (if not move to point 3)
Then take one motors wires out completely and plug the wires of one motor in each (OUT 1 & Out 2) and test. If that one motor moves correctly try adding the second motor and swap that motors wires if it doesn’t match the direction.
If one or more of your wheels aren’t turning (but some are):
- Make sure one wire from each motor is in Out 1 and if they aren’t re-arrange them to be so. (Preferably one red wire and one black wire from each motor, if they were wired correctly).
If none of your wheels are moving:
Check all of your connections including power.
Be sure --type l298n is in your start_robot file.
Check the wiring diagram to ensure the l298n and the Pi are connected correctly.
Repeat this for the right side in OUT 3 & OUT 4
- Now test that right and left turns correctly. If when you set your robot on the floor and when you want to turn right, it turns left, and vice versa. BUT it goes correctly forward and back. Swap the wires pair on pin 11 + 12 (Violet and Purple in the diagram) of the Pi with the wire pair on 15 + 16 (Blue and Yellow).
Once all the wheels are spinning in the correct direction you can stop repetitively clicking on the forward button or the up arrow key on your keyboard. You can now set the robot down on its wheels on the ground to give it a test drive. Take it on a tour of the area that you are going to let it explore/operate to see if there are any obstacles or encumbrances that may interfere with the robots operation. Once you are satisfied with the way your robot is running, it is now time to open control of your robot up to the world.
Click on your username in the upper right of letsrobot.tv to access your profile page. Then scroll to the bottom of your profile page and click the Edit Button to the right side of the robot’s name. Then scroll to the bottom of your robots setting panel and set "Dev Mode" to Off (where the toggle is white) by clicking on the blue toggle to the right of “Dev Mode”. Once you have changed your robots setting, click the Save Robot Setting to save the settings and then click Close on the popup that appears.
Congratulations, you are now a Robocaster on letsrobot.tv. Grab yourself some Pepsi and a plate of sketti with John Madden, as you are now live on the internet with a telepresence robot controlled by people from all over the globe.