Home » EduBots » The Mars Exploration Rover Kit

The Mars Exploration Rover Kit

A home robot project that turned into an educational robot kit

This is an account of a home robot project built from very simple components that took on a life of its own. It was initially intended to be a bulldozer – but after the people at K’NEX saw it and expressed an interest in its further development, it evolved into an educational robot used today in middle school systems.

The Mars Exploration Rover kit (MERk) is a six-wheel drive skid-steer robot with a zero-turn-radius that is capable of navigating all types of terrain while transmitting video and other data to a host computer or other robots.

The change from bulldozer to Martian Rover came at the request of a robotics teacher in Hollywood, California who was designing a curriculum based on the actual Mars Exploration Rover project. After visiting NASA’s Jet Propulsion Lab and receiving some basic performance specifications, I came up with the following configuration.

MERk is based on the popular TechnoK’NEX package available from the educational division of K’NEX and from Phantom II. The TechnoK’NEX package comes with four servo motors, light and touch sensors, a controller, programming software, hundreds of K’NEX rods, connectors, and gears, and instructions on how to build a variety of robotic devices. This package alone provided all I needed to build the robot of my dreams; but to build the Mars Rover, some additional components were needed. I was able to purchase special wheels and gears directly from K’NEX, and I found an affordable wireless camera online at www.X10.com.


The main chassis of the MERk consists of four almost identical panels sandwiching two servo motors and the drive gears. One servo motor turns the wheels on the left side of the MERk while the other turns the wheels on the right. The axles are connected to the servo motors through a series of free-spinning idler gears. The chassis assembly might appear complex at first glance, but a team of four can assemble a complete working chassis in less than an hour.

After the chassis assembly is complete, the wheels are snapped into place. These wheels can be used with or without the available rubber tires depending on the driving surface. If the tires are used on a high-bite surface such as tile, there is too much grip and the rover will jerk as it turns. If the rover is run on a surface such as sand or loose dirt, the rubber tires are a necessity.


One of the unique features of the MERk is the tilting wireless camera. A third servo and a touch sensor are used to give the camera tilting capabilities which can be executed at any time during a program. The touch sensor provides the controller with feedback of the camera’s position so it always returns to the same location after a tilt command. Power is supplied to the camera by a separate battery pack. I didn’t want to waste one of the outputs simply to provide power to the camera. I had other ideas for the controller’s additional output. The camera’s Radio Frequency signal is transmitted to a receiver that can be connected to a TV or interfaced with a computer by using an optional USB video adapter cable.

The Leonardo Controller


Here’s where the magic happens. The basic TechnoK’NEX package comes with this blue brick called Leonardo. Leonardo provides four inputs, four outputs, and six memory storage addresses. Leonardo can be powered by an external power adapter or by eight AA batteries. In fact, most of Leonardo’s size is due to its internal battery storage. These batteries provide power for the servo motors as well as additional output devices such as lights and motors.

Perhaps the most powerful feature of the Leonardo controller is its ability to communicate with a host computer and as many as 98 other Leonardo controllers wirelessly. That means you can create programs and download them to the MERk without plugging in a cable; and multiple MERks can work collaboratively with each other to accomplish complex tasks.


The TechnoK’NEX package provides a light sensor, a touch sensor, and a rotational sensor; but the Leonardo is capable of accepting virtually any sensor that provides variable voltage or resistance feedback. Because of this, it’s easy to add after-market devices to the MERk.

I added an inexpensive Radio Shack limit switch to the front of my MERk as a bumper and extended its reed with two plastic zip ties and shrink wrap tubing (complex huh?). I then added a couple of lines to my program so when the bumper detects an obstacle, the rover will stop, back-up, tilt the camera down for a few seconds (to take a picture of the obstacle), then turn and drive around the obstacle. This feature allows the MERk to independently (autonomously) explore alien terrain.

The program displayed in the lower right quadrant is relatively simple. It is read left to right and commands the controller to turn on the motor attached to “output A” in its forward mode (left wheels) at a power level of 3; turn on the motor attached to “output B” in its forward mode (right wheels) at power level 3; and listen to input 2 (limit switch bumper attached to the front of the MERk). If the limit switch is pressed (the MERk meets an obstacle), the controller will automatically shut off power to both motors. Once saved, this routine can be used in combination with other routines to create larger programs. This feature saves time and keeps the programs relatively simple.


The computer interface provided with the TechnoK’NEX package takes some getting use to. It is completely icon based, and programs and sub-routines are saved as pictures instead of named files. After some exploration, I was able to determine where the programs were stored on my hard drive, so I can now manipulate the files outside of the programming interface.

The programming screen consists of a graphic representation of the Leonardo controller that actually shows you when inputs and outputs are active. The ports labeled 1-4 are input ports. You can define the type of sensor used by clicking on the port in the picture. The ports labeled A-D are the output ports.

Below the picture of the controller are the available commands. Some are obvious, like the on and off switches. By placing the cursor over the command, the commands function is identified. The command functions are: on, off, set direction (changes polarity on the output), set power (varies voltage), flash, delay, sound, repeat, if-then, if-then-else, wait until, and reset sensor. Each of these commands can be dragged to the programming region in the lower right corner of the screen to create fairly complex routines. Routines are saved and can be used in other programs.


It’s hard to speak objectively about one’s own creation, but I feel this model is an extremely versatile robot. In addition, the builder can create any number of variations of the robot’s design, or create a totally new machine using the hundreds of provided K’NEX pieces. The MERk is currently being used in dozens of schools across the U.S. to help teach science, math, and technology. The cost of the TechnoK’NEX package is roughly $450, and the total kit price is a bit pricy for individuals; but if there is adequate demand, I’ll design a less expensive “consumer friendly” package in the near future. 


Applied Technologies

www.Mars-Rover.com, (800) 334-4943

Imagiverse Educational Consortium


K’NEX Education Division

www.knexeducation.com, (888) 222-5639

Phantom II

www.phantom2.com, (310) 201-6855

Words by John Richardson