Learn to Make Robots Without Knowing How to Code

Learning to make a robot is a long process, especially if you've never learned how to program. This guide will show you how to start right now.

Learn to Make Robots Without Knowing How to Code
DepositPhotos

If you’re reading this, then robots probably look cool to you. You might be inspired to learn to make a robot yourself because of shows like BattleBots or maybe you just want to create a helper around the house like iRobot’s Roomba. The truth is, there are much easier roads to travel in programming than learning robotics, but there are few as rewarding either.

So where do you begin? If you’re not in a high school or college robotics club, it can seem like robotics is impossible to get into.

Not so.

If you follow these steps and invest the resources necessary to learn—robotics can be an expensive hobby—you’ll be programming robots to do all kinds of things for you sooner than you think.

Learning to Make a Robot, Starting From Scratch

Scratch Books
Source: 1, 2

Scratch was originally developed by MIT as a way to teach kids game programming by using pre-written blockly-style pieces rather than text code. 

SEE ALSO: BOSTON DYNAMICS TO START SELLING ITS DOG-LIKE ROBOT IN 2019

The block-structure still teaches the fundamental knowledge and skills you will need to know in order to start programming with text and it is the perfect place to start, especially since your first few robots will be programmed using this same visual programming model.

Evo App-Connected Coding Robot

Evo Coding Robot
Source: Ozobot, via Amazon

The Evo Coding Robot is a good first robot to work within that its usable right out of the box. It's small, requires no assembly, and no extra parts; it's just you, the robot, and your code. There are two ways to program the Evo: online using a similar blockly system that you saw with Scratch, or you could use the color-coded markers to create visual cues for the robot.

While the markers are interesting in that they show you how a robot can use sensors to make decisions, where you really need to spend your time is working with its blockly system, which will serve as your primary programming tool for your next few robots.

UBTECH JIMU Robot Astrobot

UBTECH Astrobot
Source: UBTECH, via Amazon

The Astrobot isn’t exactly Boston Dynamics, but it's a good start. This robot kit will serve as an introduction to common robot parts and design features and it's easy to start building something right away.

It uses the same kind of blockly-style programming that Scratch and the Evo do, so after some time with the Astrobot, you should start getting comfortable with the idea of loops, if-else conditional decision making, nested commands, overall program flow, and how to debug code that isn't doing what you want it to.

Advertisement

Don’t worry if you’re awful at it, we all were when we started, and these essential programming skills are developed over a lifetime, not overnight.

LEGO Mindstorm EV3

LEGO Mindstorm EV3
Source: LEGO, via Amazon

Automotive

GM Uses 334,544 Lego Bricks to Build a Full-Size Chevrolet Silverado

You may not have known it before, but LEGO has one of the coolest robot lineups out there in their Mindstorm product line. Beginning with a central CPU block called an Intelligent Brick, there is an unlimited potential for creative robot building using existing LEGO pieces and add ons for various sensors.

The EV3 programming software is a different form of visual programming blocks that is specific to the EV3 robot but don’t worry. The dirty, little secret to programming is that once you learn to program in one language, other languages become much easier to pick up since the fundamental principles of programming do not change from language to language.

Advertisement

With the EV3, you could stop here and spend a lifetime building cool, sophisticated robots that do all kinds of things. But if what you’re looking to do is build the kinds of machines that you see in BattleBots or similar shows? From here on out, you’re going to start building toward more custom-built machines of the sort we think of when we think about robotics as an industry.

Learn Javascript

JavaScript Books
Source: 1, 2

From here on, you’ll need to start programming in actual, textual code blocks, rather than blockly, and a great place to start is with JavaScript.

JavaScript is a good language for beginners just starting to work with text code because it doesn’t require the programmer to do the kinds of minute program management that you’ll ultimately need to do yourself when you begin working with C/C++.

Advertisement

Now is the time to begin the time-honored programmer tradition of going out and buying a programming manual for a new language. O’Reilley and Apress make some excellent programming manuals if you want a physical copy or you can find any number of free resources on JavaScript scattered around the Internet and YouTube.

Sphero Bolt

Sphero Bolt
Source: Sphero, via Amazon

The Sphero Bolt might remind you of the Evo Coding Robot, and you wouldn’t be wrong, they are both very similar from the outside. Inside, however, you will find a more sophisticated programming setup that allows you to implement all that JavaScript you’ve learned.

Advertisement

The Sphero Bolt is the first robot you’ll buy that you can program with text code but it also uses blockly to ease the transition if necessary. Once you’re comfortable programming the Sphero Bolt, you’ll be ready to make the most significant jump yet.

Learn C/C++

C-Plus-Plus
Source: 1, 2

C/C++ is one of the oldest languages still in use today, so it has a lot of relics of the era when programming was much more functional and less open-ended than it is today. This means that a lot of the hidden work of JavaScript is now your responsibility, which can make it one of the most difficult languages to learn.

Advertisement

However, C/C++ also has unique advantages over newer languages that tend to manage fundamental operations for you. The most important being that C/C++ is much closer to the machine hardware than other languages, so it is the lingua franca of robotics (and high-performance game development, but that’s another article).

Invest in a solid C/C++ for Programmers manual and start getting used to pointers, static typing, preprocessor instructions, and all the rest, but as you go, you’ll be working with robots that are functionally no different than the stuff Boston Dynamics is putting out.

VEX Robots

VEX Robotics
Source: VEX Robotics, via iDesign Solutions

Like LEGO Mindstorm, VEX Robot Kits allow you to build sophisticated machines using modular bricks and pieces, so you are limited only by your creativity, the available parts, and the strength of your program. These kits are the major educational tool for robotics clubs the world over, so you will be doing the same robotics programming you see in robotics championships and competitions.

Advertisement

VEX robots can be programmed in 4 different ways using the VEX Coding Studio. It uses a version of blockly called ModKit Blocks to get you started before transitioning to Modkit Text, which introduces text programming to the mix. Next, you’ll have VEX C++, which is an assisted form of C++ that will help you gain your footing before you move fully into professional, industry standard C/C++ programming.

iRobot Create 2

iRobot Create 2
Source: iRobot

You know the iRobot Create 2 very well. The Create 2 is a Roomba, those automated, floor vacuuming robots that cats and lazy people adore, except it has the vacuum component removed. That’s it.

Advertisement

It has a serial port to that converts to USB so you can plug your Create 2 into your computer and start programming the thing to do whatever you want. 

There are no guard rails though. It only knows UNIX-based C++, comes with no branded accessories, and offers no guidance on where to even begin but this is an actual, functioning robot used in the real world, repurposed for educational purposes. With some engineering know-how (or the ability to google some in a pinch), external sensors like cameras, laser range finders, and others can be hooked into it and used to control the robot.

From here on you’ll need to study up on some robotics theory and learn about things like drift, probability sampling, mapping, and navigation but take some pride in knowing that you've already learned to make robots and programmed them to do some amazing things. It's up to you now what you want to do with your hard-earned knowledge.

Advertisement