Wednesday, January 21, 2015

Robots For Teaching Programming

One of my most popular posts has been a collection of links to block programming (drag and drop programming) tools and languages. The other day it occurred to me that a similar list for programming with robots might be useful. There seems to be more and more interest in this as time goes on. A lot of students prefer to “move atoms more than move pixels” after all. Since I first posted this I have added more and reorganized a bit. The latest update is because of resources from the #CSK8 Twitter chat and this list of Robotics and Physical Computing Resources for Kindergarten (5 yr olds) to Middle School (14 yr olds).
Robots are not just for boys either. Girls love robots as much as boys do. Many of the newer educational robots appeal to younger students as well with bright colors and friendly shapes. There are many options. I plan to add to this post as I learn about more robots over time. If you know of something that should be listed please mention it in the comments.
I’m not listing costs because a) those change a lot and b) there are often different options for educators including loans and grants. Visit the web sites to learn more.

Pre-Built Robots

Finch_logoFinch robots were among the first robots designed from the ground up for teaching programming. They seem to be programmable in just about any language you want to use. There is also a lot of curriculum support available and a large community of users.

Scribbler Scribblers are another of the early robots designed and built for teaching programming. “The S2 robot is suitable for a wide range of programming skills. The Scribbler robot arrives pre-programmed with eight demo modes, including light-seeking, object detection, object avoidance, line-following, and art. Place a Sharpie marker in the pen port and it will scribble as it drives. Next, use the Graphical User Interface (S2 GUI) tile-based programming tools, or modify the Propeller source code in our BASIC-like Spin language. Through the use of third-party tools you can also program the S2 on a Mac or under Linux, in PropBASIC and C using PropGCC.”
If you interested in Scribblers be sure to check out the Institute for Personal Robots in Education (IPRE) resources including the Calico project.

DotDashDot and Dash from Wonder Workshop Dash, the larger robot, moves while Dot is stationary. Both are pretty cute. These are both connected via Bluetooth to iOS and/or Android devices. They are programmed with a version of Blockly which is very similar to Scratch. There is also a very simple app that I am told works with students in the very early grades.

BeeBot_blinking_leftBee-bots are definitely for the young students. Small and cute they are programmed using buttons. A wide variety of resources and add-ons seem to be available.

Sparki Sparki is an Arduino based robot. “Sparki works out of the box with its remote control. To write your own programs, just plug it in via USB, install the custom-enhanced Arduino software and try any of the dozens of example programs.”

banner_edison__04371 Edison sort of fits in both the pre-built and the build it yourself categories. It is Lego compatible so you can add more to it pretty easily but from the looks of it you can use it right out of the box as well. “Edison is programmed using EdWare, a drag and drop graphical programming language that is easy to learn. EdWare is free and open source and works on Windows, Mac and Linux computers.”

graphic-render-spherographic-render-ollieSphero and Ollie from Go Sphero  are another set of app controlled robots. Ollie (the barrel shaped robot) has apps for iOS and Android devices. Sphero (the ball) has apps for iOS, Android AND Windows 8.1 and Windows Phones as well as some Amazon Kindles. There is also some curriculum support materials available.
image[4] is a robot developed in Europe for educational purposes. It provides three main features:
  • a large number of sensors and actuators,
  • an educative interactivity based on light and touch,
  • a programming environment featuring graphical and text programming.
They have a US distributor called TechnyKids who also have curriculum..
create2The Create 2 is the latest educational offering from iRobot, the people behind the Roomba home vacuuming robot. A bit more expensive than some of the others and also a bit more appropriate for people who want to add on to a robot. But it is also a lot larger than the others on the list which can be a plus in some situations.

Codie_logoCodie is involved in a crowd funding effort as I write this and should be available in the November of 2015 according to the company. They are developing their own language for programming. Check out their crowd funding page if interested.


mBot and mDrawBot from Makeblock Small classroom robots looking to get funded through Kickstarter. Bazsed around Arduino.
image[17]Pro-Bot is a turtle robot, cleverly disguised as a race carPro-Bot commands are entered via a set of arrow and number keys mounted on the back. Plan a route for Pro-Bot and press the corresponding keypad controls. Press the GO button and send Pro-Bot on its way. Pro-Bot will follow the sequence of commands that were entered step by step.
Ozobot  is a tiny robot “You can program ozobot to move, play and dance through intuitive color code patterns.” Also can be run on top of Android and iOS tables using special apps.
KIBO is a robot kit specifically designed for young children aged 4-7 years old.

mOway A european entry that looks like it can be programmed in a flowchart language called "Moway World Software", C, and Assembly language. See mOway education for more information.

ezrobot EZ-Robot makes a family of robots including the Adventure Bot, JD Humanoid, Six Hexapod, and EZ-Robot Roli. These are not inexpensive but they look pretty interesting. An SDK allows the robots to be controlled using C# or Visual Basic with a wi-fi connection.

Built Them Yourself Robots

mindstormslogo A lot of students get their start with
Lego Mindstorms. Involvement with FIRST Robotics and their FIRST Lego League competition has been a big part of that. This is a nice platform for people who want to include building the robot as well as programming a robot.
EV3 Basic is an extension to Microsoft Small Basic that allows Small Basic to interact with the Lego Mindstorms EV3 robot.
image3[3]The WeDo 2.0 is designed for the younger grades – grades 2 through 4 – while the earlier NXT and related products are for older grades – middle and high school. They seem to see this product as fitting in to science classes not stand alone computer classes. I like this idea. I think we should use coding and related tools as ways to teach other subjects and not just as independent and unrelated topics.

imageMirobot is an Arduino compatible kit that can be controlled via wi-fi using a number of programming languages and tools.

arduino-UNO Arduino is not strictly robots but a lot of people use them as the base for a robot.  And there is an Arduino robot kit! There are other robot kits built around Arduino as well. One of them is the Funduino UNO Robotics Kit
Arduino is an open-source electronics platform based on easy-to-use hardware and software. It's intended for anyone making interactive projects. Arduino senses the environment by receiving inputs from many sensors, and affects its surroundings by controlling lights, motors, and other actuators.

 Hummingbird Robotics Kit Not complete robots but important building blocks for creating and programming robots. Probably just the thing for maker spaces and pre-engineering programs. “The Hummingbird Robotics Kit is a spin-off product of Carnegie Mellon's CREATE lab. Hummingbird is designed to enable engineering and robotics activities for ages 13 and up (8 with adult supervision) that involve the making of robots, kinetic sculptures, and animatronics built out of a combination of kit parts and crafting materials.”
Vex Robotics - “The affordable VEX platform is expanding rapidly and is now found in middle schools, high schools and university labs around the globe. Robotics hobbyists also appreciate the advanced capabilities of the VEX System”
moss Cubelets are magnetic robot blocks that snap together to make an endless variety of robot toys. Without wiring or programming, you and your youngsters can build thousands and thousands of tiny robots!
Edison is Lego compatible, easy to program and has built-in programs that are activated by driving over barcodes.

BrainNewLogoandPhotoRiQ This is a “brain” for use in building with a number of build it yourself platforms.
“The All-New Cortex™ 5.0 is compatible with Windows and Apple computers and, best of all, offers tablet based robotics programming for Android and iPad!!  The Cortex robotics programming language is gamified, visual, and intuitive. Kids have so much fun with RiQ they don’t realize they’re learning to program robots!”


Garth said...

Arduino. It is a BYOB (Build Your Own Bot) approach but for something a little more advanced it is a fun approach.

Garth said...

Just found this "roll your own" robot. The price is very nice compared to all the pre-made robots.

Mike Zamansky said...

Actually, I think prices are useful even though they change.

On the DIY side, I always like and as resources.

On the other end of the spectrum, don't forget "software based" robots like rurple, Guido Von Robot, Karel the robot, and I just discovered for the younger set.

These don't have the real world feedback issues so are not a replacement for actual physical hardware but they can provide structure for introducing programing concepts.

xota said...

Loads of robots out there, just want to let you know I had a lot of fun with my 16 year old daughter assembling the cockroach style robot from And that's before we started to reprogram the Arduino that controls it.

Anonymous said...

Sparki works out of the box with remote control, but lets you program in either C or a block-based language.
The same people also make a hexapod bot

Unknown said...

Ozobot programmed by color coding lines it travels on, Probot - car which also carries a pen for drawing..

Auro said...

I've been teaching a class this term using some Multiplo sets ( The documentation is not amazing, but I think they were a good intro to Arduino based robotics. I would recommend Multiplo for middle school and above.