last year's solution, was a PC based user-interface for the kids to learn programming. for this year, we upgraded the project to teach kids binary number system, improve the interactivity with the robot, and help them control the robot using a terminal-like interface. a robot with 2 servo motors was built. it can be controller using three methods: 1- using a glove that reads inputs from the kids' hand as binary. 2- using 3-bit DIP switches 3- using a terminal like PC app (Based on Processing)

This project is solving the Karkhana Rover challenge.


Project Title: BinaryEdu Robot Team: Karak. Aim of the project: Educate children mathematics, science and coding by robots.

For now, many educational robots for kids exist, but most of them have a pure graphical user interface, and teach only programming concepts. For this year’s project, we created an Arduino-based robot that have two servos, and can be controller to move forward, backward, left and right. Therefore, two parameters control the movements of the robot: the direction and how many steps should it take in that specific direction.

There are generally two methods to interact with the robot: - The hardware method, which we use DIP switches or the control glove to input a binary number, that gets converted into an integer for the steps number. Then, we press one of four switches (up, down, left or right) which tells the robot what direction to move - The software-based method, where a program (based on processing) was created. A window, that is designed to look and function like a terminal, pop-up. Then, the kids can enter the control statements, view a help terminal-like help window, and even change the design of the window!

Pictures: a general look at the project: the small robot: the control panel:

Kids can use this robot to drive it throughout a maze, to reach the end of it. 2 mazes were created for testing: 1- a maze were kids drive the robot, reach a small target, take it, then go for the end. the "rock" was made from paper and magnets. a magnet attached to the robot attracts the rock and holds it. picture: 2- a maze-like table of numbers, can be used to teach kids addition and subtraction of numbers that can be input to the robot. picture:

The control glove is a normal glove, with flex sensors mounted on the fingers. When the finger is bent, the resistance of the flex sensor changes and can be read through the Arduino. Using this ability, we know each finger, whether it is an open or close (one or zero). 3 fingers are used for the input, which equals 3-bit input. Thumb, index finger, and the middle finger were used. picture:

The other control method, DIP switches, are just 3 DIP switches aligned to create a 3-bit inpit.

The software control –the terminal- is a window that kids can enter their control statmens in the form of (direction > enter > steps) i.e. (move right press enter 3 press enter).

Used Equipment: Software: Arduino Software Processing software

Hardware: 1x Arduino UNO 5x Flexes sensors 2xContinous rotation Servo motors 3x LEDs 5x 10 K ohm resistor 4x 330 ohm resistor Breadboard (1x 9V to Barrel Jack Adapter) optional (1x 9V Battery) optional 3x Push buttons Cytron frame and tires

Cost: 80$ to 90$ (Depends on verity of sensors and tools)

Power Consumption: 5 volts for the Arduino (provided by the USB) , and 5 volts DC source for the Servos.

Project Information

License: GNU General Public License version 3.0 (GPL-3.0)

Source Code/Project URL:


Schematic -
Youtube 2-min video -


  • Mohamed Elamin
  • Ali Al-Zawqari
  • Abdulhadi Al-Qahtani
  • Salman Badnava
  • Yahya Al-Homsi
  • Omar Hommos