Coding with Color

Read Time: 3 minutes

Code comes in many shapes and sizes. Often this means differing paradigms with text or gui workflow tools, but there are other ways. Enter Evo, a robot that leverages coding in the form of color. I recently had the opportunity to play with one of the little bots. It is intended as an educational toy for kids, and it fits the bill perfectly. More than that, it is an interesting case study in seeing the world differently. Take code beyond text, and into a realm that can easily appeal to kids (young and old).

Although the Evo has multiple levels of functionality, the one of interest here is the sensor on its underside. The intended interaction with the bot is to draw black lines on a white piece of paper, the Evo will follow the lines. Where it really gets interesting is using markers other than black. The Evo responds to patterns of black, red, green, and blue. It is an elegant method of code, instead of thinking in binary, it uses a quaternary system. Using patterns of these 4 colors, the Evo can be programmed to perform actions. A program looks like a series of lines with dots of color.

Color Codes

Color Codes PDF

Here is an example program.

Example

Do you see the bug? Hint: Green-Red-Green jumps to the next line on the robot’s left. Go the wrong way at the top and he’ll run off the paper
This isn’t just about play, but it is about diagnosising bugs and figuring out solutions to them.

These codes provide a fun way for the bot to interact with the world, and allow kids to program with tools, and in a way, they feel comfortable. This alone is enough, but I appreciate the forethought into some of the codes. Knowing the Evo could run in either direction on a line, many of the codes work in both directions.

When coding with markers isn’t enough, Blockly is available. For those not familiar with Blockly, it is meant to be a kid-friendly drag-and-drop coding experience. It is a great option for taking the next step. They also offer a clever program upload method. The Evo can be placed against the screen as the program uploads to the Evo using flashes of color. Again, data encoding and transfer can happen in cool and interesting ways.

The Evo is fascinating, and a great reminder how code comes in many forms. Keep a lookout for different approaches to coding, you may be surprised what you find.