Skip to content

Bottington

Brooke Morrison edited this page Jan 22, 2022 · 6 revisions

From Amazon to Bottington: A DIY Bot Guide for Remo.tv

By S.A. Youngblood (Chad)

Figure 1: A picture of the original Bottington

Intro

If you are reading this guide, then you most likely have found and enjoyed many of the unique telepresence robots available at remo.tv; and are wondering how to build one yourself. This guide will hopefully give you the information you need to take you from a driver to a remocaster. However, if this guide is not completely clear feel free to ask any questions you have in the #not-yet-implemented channel on the Discord server.

Please note that the robot build that is covered in this guide is meant for use indoors only. This form factor of robot may have issues getting around on grass, soil, or even rough sidewalks. As such if you are looking to construct an outdoor robot, use the information below more as an informational pamphlet than a step-by-step guide.

Additionally, the style of robot that this guide covers is a 4 wheel drive acrylic chassis robot. While not the cheapest way to become a remocaster, the acrylic chassis style bot offers flexibility and expandability, while being relatively easy to build.

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.

Tools and Parts

Robot parts list

Name Link Notes
Chassis - YIKESHU 4 wheels Amazon Not my favorite version but is cheap, it works, and is available
SD Card (minimum 8 GB in size) Amazon 16 GB is cheaper than 8 GB
USB Speaker Amazon Optional, but required for TTS
Logitech C270 Webcam Amazon Includes mic
Raspberry Pi 3 Amazon RasPi 3b+ is also an option but is untested with this guide
Adafruit DC Motor Hat Amazon Can be also picked up from Adafruit
USB Battery Amazon Any battery with > 2A output
Rechargeable AA and charger Amazon 4 AA batteries needed
USB A to USB Micro-B cable Amazon 3' recommended

Other required parts (that most people will already have on hand)

Name Use Note
2A USB charger w/ cable Set up & recharging Official Raspberry Pi power supply highly recommended

Tools (required)

Name Use Notes
Soldering Iron Construction
Solder Construction
Small Phillips screwdriver Construction
Needle nose pliers Construction
Tape Construction Wide blue painters tape recommended

Optional things (to make construction easier)

Name Use Note
22 AWG insulated wire (2 colors) Construction Use to extend motor wires
Zip-Ties Construction Used for wire management
M2.5 Standoffs and screws Construction Used to prevent shorts
E6000 Construction & Operation Used to hold the wheels to the motors
3M Command Picture Hanging Strips Construction Used to hold batteries in place but allow them to be removable

Hardware Construction

It is now time to build your new robot. This is a lot easier than it might appear from the pictures or the massive list. Most of the instructions for building the bots individual sub-components have already been written by another party, and whenever possible I will link to their instructions instead of writing my own. Now let's get down to melting some metal, tightening some bolts, and applying some tape.

Soldering

There are two things that need to be assembled using soldering. These components are the Adafruit DC and Stepper Motor HAT which needs the headers attached to the yellow DC motors when need to have wires attached to them.

To assemble the Adafruit DC and Stepper Motor HAT for Raspberry Pi, follow the linked instructions on the Adafruit Learning System.

For the motors, which were included in the chassis, use a soldering iron and solder to attach the included wires to the motors. Attach one black and one red wire to each motor. If the red and black wire are attached in a pair, attach a paired set of wires to each motor. Does not matter which terminal of the motor you attach which color of wire to, as any polarity issues will be corrected later in the instructions.

For ease of construction, use needle nose piers to bend the one end of the wires into hooks, as the hook may help hold the wires in place while you solder them to the motors.

See Figure 3 below for a photographic walk-through on soldering the wires.

  1. Get one motor and one set of black and red wires
  2. Bend hooks into the stripped ends of the wire and feed them into the terminals on the motors
  3. solder on of the wires to the motor
  4. solder the other wire to the motor

Figure 3

Protecting the Pi and the HAT

Now that the Adafruit DC and Stepper Motor HAT is soldered together it is time to get the Raspberry Pi ready for the Adafruit DC and Stepper Motor HAT to be installed.

To prevent a short between the Adafruit DC and Stepper Motor HAT and the HDMI port of the Raspberry Pi, some sort of protective measure needs to be taken. 2.5mm standoffs can be installed onto the Raspberry Pi if you have some; or some type of insulation can be installed on top of the HDMI port. This insulation should consist of several layers of non-electrically-conductive tape installed above the HDMI port. If you go the tape route over the standoff route, make sure to flush trip the leads of the terminal block so that they do not eventually make a hole in the tape and short out your bot.

Build the Chassis

Use the instructions that came with the chassis to construct it. Please skip step 5 as the battery compartment will need to be placed elsewhere. 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 a taller robot with the motors below the lower chassis plate. This tall configuration is much better at getting over obstacles 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 mini 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

To install the AA battery holder (which was not installed in step 5) add a loop of tape to the bottom of the AA battery holder. Then press the AA battery holder down on top of the lower place at the back of the robot. Position the AA battery holder in such a way that it can be easily accessed and removed to allow you to easily change out the batteries. It is recommended to put the battery holder on the back of the robot, as close to the back edge as possible.

Optional: Use 3M Command Picture Handing Strips on the AA battery holder and on top of the lower place to make the battery holder easy to remove and reinstall.

Optional: Apply a small amount of E6000 to the end of the motor axle where the wheel is going to be pressed on, before attaching the wheel to the axle.

Arranging Hardware on the Chassis

As there could be 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 of your bot are:

  1. Don't short the Raspberry Pi out on any of the screws.
  2. Make sure that the charge port of the battery is still exposed.
  3. Use a removable method for affixing the components to the robot like tape or Velcro straps.
  4. Make sure none of the USB cables overhang 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.

Connecting the wires

Now it's time to start wiring the robot so that the motors work and the Pi gets power. We will also connect up the webcam and speaker, if installed, so that we can get the software installed next.

Figure 8

Let's wire the 4 motors using the Adafruit DC and Stepper Motor HAT so that the bot can start moving around. Using a small Phillips screwdriver loosen/open all the terminal screws on the Adafruit DC and Stepper Motor HAT. If necessary strip the insulation off the ends of the wire so that you have about 2 to 3 mm of wire exposed. Next, take each wire from each motor hat and insert it into the long row of screw terminals on the Adafruit DC and Stepper Motor HAT, making sure to skip each GND terminal, see Figure 8. Connect each motor's pair of wires to each of the two M[number] terminals. Follow the table below for information on which motor gets connected where. Once the wire is in place, tighten the screw terminal down to hold it into place. Again, we don't need to worry about which color of wire goes into which hole, as we will correct polarity of the motors later in the instructions.

Motor Location (while looking from the back of the robot towards the front) Motor Hat M Number
Front Left M1
Front Right M2
Rear Left M3
Rear Right M4

To power the motors, the Adafruit DC and Stepper Motor HAT needs to be attached to the AA battery holder. The power terminals are the two closest to the Ethernet port, and should be loosened/opened using a small Phillips screwdriver> If necessary, strip the insulation off the ends of the two wires coming from the AA battery holder. For best results make sure that you have about 2-3 mm of wire exposed. Next, take the red wire coming from the AA battery holder and insert it into the (+) terminal, and once the wire is in place tighten it down to hold it into place. Finally take the black wire coming from the AA battery holder and insert it into the (-) terminal, and once the wire is in place tighten it down to hold it in place. This will allow the AA batteries to power the motors through the Adafruit DC and Stepper Motor HAT.

Finally it's time to connect the USB cables to the Raspberry Pi. First, connect the C270 Web Camera and USB speaker (if you have one) to the female USB ports on the Raspberry Pi. Order does not matter, but take this time to make sure that the wires are bundled up and managed in some way so that the cables are bundled up and do not rub on the tires or extend beyond the frame. The last USB cable to be installed is the one that runs the USB battery to the Raspberry Pi. Install the USB A end of the cable into the output port of the USB battery but do not plug the micro end into the raspberry pi yet. Next run the USB cable from the battery back to near the micro USB port on the raspberry pi. I recommend going between two places of the chassis. Again, take this time to make sure that the wire is bundled up and manged in some way so that the cable does not rub on the tires or extend beyond the frame.

Install the controller

Just follow the instructions.

Change the following settings in ~/remotv/controller.conf

[robot]
type=motor_hat

If the script is running, restart it to give it the new settings.

Connecting the Motor Hat and Setting up motors

Now install the Adafruit DC and Stepper Motor HAT to the GPIO headers of the Raspberry Pi. Install Adafruit DC and Stepper Motor HAT so that GPIO headers fill each of the pin sockets on the Adafruit DC and Stepper Motor HAT and so that the Adafruit DC and Stepper Motor HAT is directly above the Raspberry Pi. Next power on your robot.

To power on your robot for the first time, just connect the USB battery up to the Raspberry Pi and put the AA rechargeable batteries into the AA battery holder. Your bot should boot up and then say "OK". When it does the bot is drivable. Navigate to your robot on remo.tv and you should be able to see and control it.

You will want to next test the motors, but as you may have polarity issues with some of the motors, you may not want the robot to actually try to move itself. Start by picking up the robot and holding it in such a way that the wheels are not making contact with anything. You can use a small object like a cup or small box to support the robot if you do not wish to hold it. Next, use the on screen controls or your keyboard to see if all the motors move when you press one of the directions.

If one or more of the motors do not move when you press any of the buttons/keys, then you need to visually check to see if the wires are well soldered to the motor and make sure the wires are secure in the terminal of the Adafruit DC and Stepper Motor HAT. Correct any issue you find, until all the motors are moving. For reference below is the table that shows which motor corresponds to which terminals.

Motor Location (while looking from the back of the robot toward the front) Motor Hat M Number
Front Left M1
Front Right M2
Rear Left M3
Rear Right M4

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 forward key on your keyboard. While doing this, you want to make sure that the Left front and Left back wheels are spinning counter clockwise. If either left front or left back wheels are spinning clockwise, stop and then use the small screwdriver to swap the position of the black and red wires from the motor in question, within the terminal block. Then test the right side; the motors should move clockwise.

Once all the wheels are spinning in the correct direction, you should take it for a test drive around the area you intend to let it explore. This is to test for any obstacles or encumbrances that may interfere with the robots operation.

Congratulations, you are now a Remocaster on remo.tv. Grab your self 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.

Written by S.A. Youngblood (Chad (@BigScot#5715)), adapted for remo by Brooke Morrison (@brookee#8030).

Clone this wiki locally