Introduction: RO-V : Remote Operated Vehicle

About: Has code in brain, soldering iron in hand, Art Blakey blaring in the background... transforms techno babble into reality and is strangely fond of the ellipsis.

You are about to embark on a quest of epic proportions. Start-to-finish, this project will take at least a few weekends to complete. High-level instructions, schematics, detailed assembly, and a project repository will guide you in your journey.

Have you heard about the rover on Mars?
It was born from children dreaming of stars.
Doodles to drafts and then to rockets...
Fueled by fire and big shiny sprockets.

Take your time and review the entire project at least once before digging in... this is a big project (just sayin').

Step 1: Tools / Supplies


  • Lulzbot TAZ Open Source 3D Printer (or a printer of your choice)
  • Soldering Iron
  • Butane Torch
  • Flush Diagonal Cutters
  • Digital Calipers
  • Pilot Point Drill Bits
  • Screwdriver Set
  • 6 Channel Transmitter and Receiver (choose one)
    • OrangeRx T-SIX / OrangeRx R615X
    • Spektrum DX6i with Compatible Receiver



Step 2: OpenRC Project

RO-V has grown out of the roots of the OpenRC Project, which is an amazing group of people bound together by their interested in RC vehicles; truggies, buggies, crawlers, planes, helis, and quadcopters galore.

I've poured hundreds of hours into RO-V... and know that the people behind the OpenRC Project have contributed an order-of-magnitude more before me.

There are simply too many names to list... props to everyone for their hard work!

So, you're probably wondering what I changed and why - that's a good set of questions!

For starters, rovers like Curiosity aren't built for speed and doing doughnuts on a Red Planet. Telemetry (two-way communication) between the vehicle and the operator isn't common-faire for truggies, but is for a rover. Latency... becomes a huge factor.

Project cost needed a little help as well:

  • Consolidate & reduce hardware requirements (screws, bolts, nuts, bearings, etc.)
  • Reduce unique body and chassis part-count
  • Simplify drive mechanisms

Step 3: Make It, Break It!

Early in the doodle-cycle, I added a webcam; nothing fancy. It was screwed to the chassis using the mounting point on its base. It was a sore-thumb.

Making it cohesive, meant breaking it down. Have fun, but be careful in your deconstruction. When you see glue or fused parts, that's the point of no return.

"Have fun, don't burn the house down."
- My Dad

Getting parts to 'look' and 'fit' well will take precise measurements; calipers are indispensable. You can find a good pair at your local home improvement store for about $20, double that for ones you might leave out on your desk because they are so pretty, or go crazy for the brand trusted by unicorns everywhere: Mitutoyo Digimatic Digital Calipers.

You could try to replicate the case of the webcam exactly, if that's the way you roll. Simple solutions are good too, like a little hot-glue and and a hole for the microphone.

Make sure to save all the little screws and metal doodads from your deconstruction. You'll use them sooner or later; or sooner.

Step 4: Wibbly Wobbly Webby Cam

A pan / tilt mechanism could work... range of motion would be great - but it's a little bulky for my taste.

Have you ever seen a v-tail airplane? If not, it’s time for a Google-break.

This mash-up involves a ball-head mixed with a v-tail, realizing a compact and symmetrical armature mechanism thingy.

I've made ball-ends on an FDM printer, but nothing this small. You can find them at your local hobby store in a pack of ten (or so) for a fiver. If they were more expensive and the resolution of my printer wasn't an issue, I'd print them in massive quantities!

You could use some of the brass rod for the armature, but that might be a little stiff and could lead to damaged parts at the maximum ranges of your servos. I would recommend using a bit of 3mm filament or ABS hobby-store rod instead. A little flexibility here is a good thing.

Secure the assembly to the shock mount with 8mm screws and to the body standoff with 12mm screws.

Step 5: Driven, Simply…​

Eliminating the front, rear, and central differential reduced project print-time by 12 hours, saved $50 on bearings, saved $20 on axles, simplified construction, and made it possible to add a second battery.

Front bearings / hubs have similar dimensional characteristics, but are constructed from a washer, 20mm socket cap screw, hex nut, a bearing, and a plastic hub.
Screw this \'sandwich' into the front mount and then screw your wheel on just like the rears.

When mounting the tire, drill the holes to ~3mm so the screws rotate freely. When tightened, your socket cap screws should have a snug-and-flush fit.

There are so many options when it comes to tires: slicks, knobby, and everything between. These off-road ones are overkill I know, but don’t they look wicked cool?
So you know, this particular setup runs great on level terrain; four-diggin' or doughnuts will require motors with a little more torque.

Step 6: Front and Rear Suspension

It’s a matter of 'when' and not 'if' your prints will make you sad. Tacky adhesives can help with print-bed adhesion and warping. Rotating parts 90-degrees can turn oblongs into circles.

Understanding tolerances, axial error, and the characteristics of your print material can greatly improve the quality of your prints.

When passing long screws through PLA you can generate enough heat (from friction) to soften the plastic - slow and steady wins the race.

Here's a classic assembly goof - screwing the chassis sides to the shock tower base would have been _much easier_ without the chassis base-plates in-place.

Step 7: Mounting a TReX Jr

The TReX Jr Dual Motor Controller is a versatile DC motor controller designed to seamlessly blend autonomous and human control of small robots. The TReX Jr can control two bidirectional and one unidirectional motor via three independent control interfaces: radio control (RC) servo pulses, analog voltage, and asynchronous serial (RS-232 or TTL).

TReX Jr has a wide operating range (5v to 24v) and can deliver 2.5A continuously per motor - perfect for RO-V!

Stand-off rails are asymmetric; battery and motor PC terminals towards the rear, servo connections to the front.

Step 8: Durable Pivot Points

Front and rear wishbones use a pin-joint. Cut several sections of 3mm brass rod ~54mm in length. You’ll need four total, two for the front and two for the rear.

A pipe cutter will mushroom the rod a bit on either side of the cut. Knock this down with a bit of sandpaper, along with any other sharp bits.

You may need to sand the entire exterior of the rod down a bit if the tolerance on the hole in the shock tower is too tight; range of motion should be smooth and unrestricted.

Thin Teflon or fiber washers between the wishbone and shock tower can help reduce friction. And, make sure that when you seat the M4 set screws… not too tight. Just right.

Step 9: Shock Towers

As their names imply, shock towers take a lot of punishment. Solid mounting points aren’t optional; it’s a requirement from top to bottom.

Same story for the turnbuckle, it has to be solid. Let’s re-use the stand-off we made for the shock absorber and pattern the turnbuckle arm around it.

There are a few features I’ve added that can help with cable management. A zip-tie here and there can greatly improve visual appeal as well as durability. Optionally, you can add cable-wrap and shrink tube as well.

Step 10: Steering and Webcam Servos

We’ll be using a standard high-torque servo to drive RO-V, mounted in a C-style bracket secured on top and bottom with 8mm socket cap screws.

Transmitters used for RC cars and air vehicles are very different. Driving RO-V with a transmitter used for airplanes requires a few adjustments: removing the 'mix' jumper from the TReX Jr. and bridging M1/M2 with a single cable.

Steering is easy, plug that into the rudder (left stick - left/right). Servos for your webcam are plugged into the elevator and aileron; add a v-tail mix if you like. Power from the UBEC is plugged into AUX1,

Adjust trim, flip channels, and mix to taste…

Step 11: Rack and Pinion

Buy vs build… making your own threaded rod is easier than you might imagine. Brass is a good place to start, it’s soft and is fairly easy to machine.

Just remember to use a little oil to keep the rod from heating-up too much.

Cut a length of rod between 85mm - 90mm, you’ll need ~42mm per-side. Screw the M3 nuts onto the rod before doing any trimming.

You can cut the rod with a hacksaw or with a good pair of pliers. We’ll make final adjustments after we install the pinion.

Use an 8mm socket cap screw to secure the pinion gear to the servo. Center the rack, and tighten the set-screw to make it permanent.

With the rack and pinion in place, it’s time to align the front end. Rotate the ball-end 180 degrees at a time moving from one side to the other until your tires are parallel.

Before your maiden voyage, drive the rover forward and backward on a smooth and level surface three or four times to asses drift. If the front-end pulls noticeably to the right or left, repeat these alignment steps until that mischief is managed.

Step 12: WiFi in the Sky

Advertised range of a WiFi travel router is typically around fifteen to twenty feet… expect signal quality to degrade quickly over a fairly short distance.

Signal reception can be improved by securing the router to a mast - providing a line-of-sight between the router and a mobile device.

Increasing WiFi range beyond a \'hotspot' will require a monopole or dipole antenna. Off the top-of-my-head, here are two ways to make that happen.

  • Modify the router by adding an external SMA connector and antenna
  • Use a USB WiFi dongle similar to the TP-LINK TL-WN722N

There are trade-offs with each approach - let’s go stock for now.

Step 13: Powering Everything

Fire-up your soldering iron, we need to make a wiring harness to power the BeagleBone Black, WiFi router, and servos. We’ll connect this harness to the UBEC via 2mm banana connectors.

Battery Elimination Circuits (BEC) often use a linear regulator, and as a result suffer from line-noise and poor efficiency. We’ll be powering sensitive electronics here an need something a little better, like a UBEC that uses a switching regulator.

Adding banana connectors between the UBEC and wiring harness can help in setup and take-down; a quick-disconnect for all the control components.

Make sure to set the voltage output jumper on the UBEC to 5v, to match the input requirements of the router, BeagleBone Black, and servos. Else, you may toast your circuits…

Zip-ties are my absolute favorite cable management solution. They are easy to get hooked on, buy them in bulk!

Step 14: BeagleBone Black

Adding a BeagleBone Black to RO-V transforms a standard Remote Control (RC) vehicle into a First Person Video (FPV) experience. And, when you’re ready to flip the autonomous switch, you can giveOpen Source Computer Vision (OpenCV) a try.

One of the exciting aspects of using BeagleBone Black with the TReX Jr, is that you can ditch the RC transmitter and use UART for motor control. Add a Micro Maestro 6-Channel Servo Controller and you’ll be able to steer and move the webcam entirely from software.

Have you ever seen an RC vehicle crash before? Sigh… a bitter-sweet moment - the carnage can be both amazing and scary at the same time.

Worst-case scenarios involve a battery pack 'ejection' of twenty to thirty feet, puncturing the protective sleeve. Hard-case battery packs are more durable and greatly improve puncture resistance; I highly recommend them.

Step 15: Pre-Trek Check

Don’t worry too much about receiver placement, just about anywhere is good. If you need more range, you can drop-in a full-range receiver and antenna extension.

Before sending your rover out into the wilds, make sure to test all your control points: steering, throttle, webcam up, down, left, and right.

With two 4000mAh batteries you should be able to explore for twenty to twenty-five minutes - possibly more depending on how aggressively you drive.

Ready... Set... EXPLORE!

Internet of Things Contest 2017

Second Prize in the
Internet of Things Contest 2017

Invention Challenge 2017

Participated in the
Invention Challenge 2017

Untouchable Challenge

Participated in the
Untouchable Challenge