Hackster Classroom for Teachers and Parents: Getting Started with Robotics – Part 1

Helping parents and teachers navigate hands-on learning. This episode: getting started with robotics.

Nonscriptum
4 months agoHW101

There’s something enchanting about making something that moves on its own. Programming even the smallest robot gives a lot of satisfaction when it whirrs along as commanded (or not). This makes them ideal for motivating learning about topics ranging from coding, to trigonometry, to the history of the industrial revolution. However, getting any robot to work requires persistence. The reward is an understanding that physical systems do not always work the way they are “supposed” to!

Costs can rapidly become a challenge in a classroom environment because there are minimal components needed to build a plausible robot and some are pricier than others. In this article, we give an overview of the huge spectrum of beginner and beyond “educational” robotics kits and programs. What makes sense for a student depends on what the student is supposed to learn from it, so let’s start there. This is a big topic, which we will cover in two articles. In Part 1, we look at simpler robots. In our next piece, we will talk about the challenges in scaffolding learning to make more complex robots by high schoolers or adults.

Why robots?

Often, people say that they want to “introduce kids to robotics." But, what does that actually mean? Robotics is a mix of computer science, mechanical engineering, electrical engineering, and math. It can be used to teach all four — with quite a bit of room for artistry, too. Anything from a motor attached to craft materials to an interplanetary spacecraft is arguably a “robot." Some of what makes the discipline exciting to students is drawing a narrative line from basic robots to the sophisticated ones.

If the point is to teach electronics to a student with zero background and no random parts lying around to draw upon, then an Arduino or similar kit is probably a good choice (see the section “Basic Robots” that follows). This will also require beginning coding, either using block coding, or using the Arduino integrated development environment (IDE), which uses a language that is more or less the C++ programming language.

If the point is to teach coding, we have found that the ability to type and attention to detail are usually not mature enough for text coding for most kids until they reach their tween years (with some exceptions of course). Using block code initially lets the budding roboticist get a little more sophisticated with hardware, so they can try out departing from the step-by-step instructions (see “Beyond the Kit” in what follows). In preparation for text coding, there are many learn-to-type sites. We have good things about the BBC’s free Dance Mat Typing program to come up to speed with typing.

All is not lost for younger kids, though. Robots that are more craft-material focused, with perhaps a micro:bit controller, are an option. For a lot of ideas, check out Kathy Ceceri’s book, Making Simple Robots, Second Edition (Make: Community LLC, 2022) and its associated “getting started” kit in the Maker Shed. Here is a drawing robot from the book that Kathy kindly has let us share with you.

These projects can be good for getting kids comfortable with thinking through how things move. They let kids practice block coding and designing moving parts with minimal wiring, all for just the cost of a micro:bit starter kit and a few connectors (or less).

Basic robots

Programmable robots require a microcontroller that can control motors, lights, sensors and whatever else might be onboard. There are a number of microcontroller robot projects at hackster.io/robotics. However, if you do not have a lot of components already lying about, sourcing all the parts (or even knowing what they are!) might be challenging, and the instructions might assume you have access to a 3D printer or laser cutter for parts.

One way to avoid that is to buy a kit that gives you all the parts to build a robot that uses an Arduino, micro:bit, Adafruit Feather or Circuit Playground Express, or Raspberry Pi as a processor. More information on these processors and ecosystems around them can be found at arduino.cc,microbit.org,adafruit.com, and raspberrypi.com.

Typical kits that have materials to control and power two driven wheels (plus a passive caster) and a few sensors run about $70-$150, depending on how much is included. Check in particular to see whether the processor is included, as this is usually the most expensive single component. These kits might make a robot that can be driven around with programs written in block code, or sometimes with a phone app. Some kits, however, will be more traditional and assume coding in C++ to create robots that are entirely pre-programmed without real time input. These will come with sensors that react to some stimuli like proximity to walls, or perhaps can follow lines on the floor. Makeblock,SparkFun, Adafruit and the Maker Shed sell various options.

One thing to check is whether the kit is making a remote-controlled toy (with no or limited programming) or a truly autonomous robot that can be programmed to do things on its own. A kit that creates a robot that can be programmed extensively is a better stepping stone to advanced robots than a remote-controlled toy, since getting software to mesh well with hardware is one of the more challenging aspects for robotics engineers at all levels.

Beyond the kit

A kit, by definition, will define the projects that you can build. As such they may be good for first-time builders who may not have materials, tools, or the knowledge to branch out and experiment on their own. Many educators dislike kits because of these constraints. However, if you are figuring this out for the first time on your own, designing a moving robot is trickier than it looks. A few things in particular can cause problems for newbies.

A robot has to deliver power to wheels, sensors and a processor. This often means adding other hardware to manage power and signal beyond what the microcontroller can manage on its own. Add-on boards exist that support different processors in this, as well as battery packs, USB connections or wall power connectors to provide enough power. For example, Adafruit’s CRICKIT board has versions that interface more devices with Adafruit’s Circuit Playground Express and Feather microprocessors, as well as with a micro:bit. Various other boards exist to extend a micro:bit.

Connecting up power so that everything works has many “well, but” cases. In general, something you attach directly to a microprocessor usually needs to have its own current management circuitry, or perhaps an add-on board that manages it for you. Beyond current, devices need to be turned on or off, or get or receive data. This means they need some sort of signal wire(s).

If for instance you were to just directly connect a small motor to a micro:bit's power and ground connections, it would just stay on. Because it was seeing power and ground but no signal, there would not be any way to control its speed or turn it off with the micro:bit. Powering a motor from one of the micro:bit's controllable outputs would draw too much current, and probably damage the microcontroller. Additional circuitry is needed in between to let you provide sufficient current to the motor while being able control its speed and direction.

The limited connections on a micro:bit means that, for instance, add-ons usually are limited to a strip of lights or a servo motor (which has a built-in control circuit). We have even found experimentally that some small hobby servos will work with the power provided by a micro:bit's two AA batteries, while identical-looking ones (sometimes even from the same supplier) will not.

Another challenge is finding appropriate software libraries for the hardware you want to use on your robot. Libraries need to exist to drive your sensors and motor controllers for the processor you elect to use. For example, ultrasonic sensors that cost a few dollars each are often included in robot kits to see how far away the robot is from the nearest obstacle. (Those are the things that look like eyes in many robot kits.) For the microprocessor running the show to be able to turn on the sensor and get data from it, a code library for that sensor and that processor needs to exist. Documentation can be sketchy too.

Also, some cheap components might not work very well, or might have unexpected quirks. Take a look at the specifications. Ultrasonic sensors don’t work when a robot is under a few centimeters from the nearest object, since they work by sending out a ping from a transmitter and seeing how long it takes for the signal to come back to a receiver. If the reflection happens too close to the transmitter, it may reflect back into the transmitter and never hit the receiver. Likewise, these often drop off in accuracy beyond 4 meters or so, and smooth surfaces at oblique angles or surfaces that are soft enough to absorb the ultrasound may not be detected.

Connecting up the sensors, motors, power supplies, and the processor requires some planning. Are all your components going to be happy with the voltage supplied? If the robot is mobile (as opposed to, say, a robot arm) will you want to run it tethered to a USB cable, or will it always need to run on batteries, and how will you recharge them?

What kind of cables and connectors will you need? This is one of the areas where experience comes into play. We are planning to devote an entire future column to talk about options for connectors appropriate for classroom projects. Finally, some components might require soldering. If that is not an option for you, be sure you buy components with pre-soldered connectors.

If all this need for fiddling and folklore are too much for you (or the student you are buying for) a good, but pricey, way to solve the problem is to enter into one of the closed ecosystems of kid-friendly robotics parts. Typically these are not intended as make-and-take projects, but are built sturdily to last for many years.

LEGO robotics

One of these ecosystems is the LEGO universe, where there are a variety of different parts that are more open-ended. LEGO has had its Technic line for decades (Wikipedia says it has been around, under a few different names, since 1977.) These include motors and sensors, as well as pieces like wheels and axles to make things move.

The offshoot Mindstorms line, first the NXT, then the EV3, and now LEGO Spike, added a proprietary microprocessor “brain” to allow for sophisticated coding with block or text code. These devices are aimed at fully-autonomous robots. Technic devices other than these might not have motors at all, or might be intended to run with the Technics CONTROL+ phone app that allows radio-controlled motion for suitably equipped LEGO Technics creations.

We have used EV3s in an afterschool program for some time, and have found them good for introducing basic math of robotics, starting with wheel circumference and turning circle, and moving on to gears and integrating sensors to control motion. Coding (blocks or JavaScript) is done on a laptop using a LEGO app, or in a third-party programming environment like makecode.mindstorms.com.

These kits have been superseded by LEGO Spike, but many schools are unable to make the capital investment of hundreds of dollars per kit to go over to new systems and are sticking with their EV3s for now. That these robot kits are still viable after many years of hard use by sometimes-frustrated kids is a tribute to their durability. For home use, you might be able to pick up a used EV3 kit with a little online hunting around. Be aware that LEGO says the EV3 app to control the bots will be available until July 2026, and it’s not clear what happens after that.

Once coding gets more complex, such as following a line, grabbing an object on the line, and returning to start, block coding can rapidly become a thicket. It is also possible to use MicroPython with EV3s, with some reflashing of hardware, or Javascript with the makecode software noted earlier.

LEGO robots are the basis of the international competitive robotics program FIRST LEGO League (FLL). This competition has two age-based divisions and annually creates a playing field and LEGO-brick-based challenges for competitors to try their skills. The World Showcase robots are pretty amazing engineering feats for the elementary and middle school crowd!

Going forward

There are many other systems that are great for various age-level learners, including MakeBlock’s Mbot, Sphero, and the various offerings of Crunch Labs. What makes sense for a particular student will depend on their patience, dexterity, safety-consciousness, math knowledge, coding ability and access to help and tools. Whether learning mechanical design, electronics, or coding is the focus might determine the best path, too.

Speaking of more advanced robots, what can older kids (and adults) learn by experimenting with the next level of robot? Middle- and high-school students may want to embark on competitive robotics, which can be used as motivation for “just in time learning” of math, physics and engineering principles. The challenge then becomes how to teach some of these materials out of sequence.

In the second installment of this article, we explore how to scaffold learning to enable making more complicated robots, like those found in high school competitions. Stay tuned! Meanwhile, you can talk to us on the Hackster Discord channel (use this invite if not in the group already) in the #-educator-parent topic as you think about how to get started with robotics.

Nonscriptum
The creative partnership of Joan Horvath & Rich "Whosawhatsis" Cameron, creating content to teach 3D printing, electronics, math and more.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles