DIY Telepresence Robot: Part 3

Yuan Gao (Meseta)
Meseta builds Robots
6 min readAug 7, 2020

Lasers. It needs more lasers.

In this section, I describe the electronics part selection for the telepresence robot. For the mechanical parts build in Part 2 see here: https://medium.com/meseta-robots/diy-telepresence-robot-part-2-ca6d9af73a61

I split the robot into four main systems:

  • Control system — this contains all the high-level control
  • Power distribution — this is all the power wiring for getting power (at the right voltage) across the robot. While power distribution is conceptually simple, it is also the most tedious
  • Base electronics — this is all the remaining electronics that are part of the base unit
  • Head electronics — this is all the electronics in the head unit, yes it has lasers.

Control System

The brains of the unit. I needed something that would run python scripts, my preferred stack as well as having USB ports needed to interface with the rest of the electronics, and WiFi for data. One compelling choice was the Raspberry Pi 3, which was available at the time (RPi 4 hadn’t come out yet), or competing SBC boards.

I actually went with the ODroid XU4 instead, which had a powerful 2GHz Octacore processor (and conveniently I already had it available)

ODroid XU4 (left), Raspberry Pi 3 (right)

The Control unit would have the following things plugged into it over USB:

  • The Wifi dongle
  • The motor controller
  • The head servo controller
  • The relay board
  • The LED controller
  • The head webcam
  • The navigation camera
  • A USB speaker/microphone

So a USB3.0 hub was added

Power Distribution

Power wiring is one of the more annoying aspects of building robots like this, because it’s not just convenient connectors, you have to cut wires to length, crimp or solder connectors, and often the common ground point needs to have many wires coming together.

For power wiring, I decided to go with crimped blade connectors, which are relatively common (and I already had the crimping tools on hand).

Source: (Wikimedia Commons)

A benefit of going with crimped blade connectors is that a wide range of off-the-shelf parts become available for use such as fuse boxes and junctio nboxes. Since the whole power distribution ran off 12V, I could use 12V fuses for each subsystem as well for added safety.

While the motors can run off 12V, virtually everything else needed 5V, so I used a bunch of these in-line DCDC converters wherever 5V was needed:

The tablet would also be charged from its own 5V converter. However, with an added twist: the tablet tended to go into sleep mode after a while when not in use, but needed to come on again in order to accept the video call from the remote operator. After experimenting with different options of turning the tablet on and off, I discovered that the most reliable way to wake the tablet up from sleep without having to plug in any USB devices to do it, was simply to cycle the charging power, which would cause the tablet to wake up. So I reasoned: the simplest way for me to do this was put the power to the tablet through a relay so that the control unit could briefly interrupt the power, and force the tablet to wake.

To do this, I used a USB relay module. The second relay I would use to power the lasers.

Finally, no project is complete without oversized buttons or switches. I opted to go for this comedically large power switch, which turned the main 12V power on and off (again, the 3D printer coming in useful to print a mount for it so it could be attached to the tripod).

For charging, I used a magnetic coupling connector. These connectors are designed for 12V systems, and snap together with strong magnets. I mounted one part to the rear of the robot, plugged into the batteries, and the other to a table-leg, plugged into an SLA charger unit.

Base Electronics

The main piece of electronics in the base is the motor driver. The four motors on the base were DC brushed motors running at 12V, this meant that if you plugged in 12V, they would run at full speed. If you reversed the polarity, they would run backwards. To run at part speed, you would need to run at a lower voltage, or PWM it.

Fortunately, plenty of off-the-shelf units provide H-bridge/PWM control of motors exist. I found the USB-connected RoboClaw motor controllers to be excellent to use, not only as they can be plugged into a computer for control (rather than having to bridge through an arduino), but also has excellent software for configuring and testing the motors

Source (

Head Electronics

For the head unit, there were two components necessary: the head gimbal, which mounts a webcam that can be remotely steered, and the tablet’s power control.

The gimbal is simply an off-the-shelf servo-based two-axis gimbal, which I extended one of the 3D printed tablet mount gripper shims to be able to mount. The gripper also has three lasers installed in a 3D printed mount. Why the lasers? So I could remotely point at things.

The gimbal’s servos were plugged into a small servo controller board that would have 5V power supplied by the power distribution, and controlled via USB from the control unit.

Source: Pololu

Extra Bling

The LED strip I had installed previously was simply controlled by an Arduino, I had previously used similar LED strips for a halloween costume, so had leftover Arduino nano for the task. This is simply loaded with simple code to control the strip, and its USB plugged into the control unit.

The LED lights give the robot some night-time navigation ability in case the operator wanted to stalk dark corridors.

My halloween costume: The Youtube loading spinner. Slow internet is a horror of our modern time

That sums up all the electrical components that eventually made its way into the robot.

In the next section, I’ll talk about the software build.

--

--

Yuan Gao (Meseta)
Meseta builds Robots

🤖 Build robots, code in python. Former Electrical Engineer 👨‍💻 Programmer, Chief Technology Officer 🏆 Forbes 30 Under 30 in Enterprise Technology