Gado 1

The Gado 1 was an Arduino-based scanning robot, replaced by the Gado 2 as of 2012.  The Gado 1 was designed to autonomously digitize sensitive archival materials (especially photos) which can not be placed in a standard document feeder (since these tend to bend flat objects in order to scan them). The Gado 1 lifts items using suction, places them on a standard flatbed scanner, scans them into a computer, and sets them aside for re-filing.


Gado 1 robot at the Afro American Newspapers’ archive


Gado 1 X Axis Stepper Motor

Gado 1 X Axis Stepper Motor

The Gado 1 has four axes of movement: x (side to side), y (back and forth), z (up and down) and i (opening and closing the scanner lid). The x and z axes are controlled by stepping motors, driven by Brian Schmalz’s excellent Easydriver. The y axis is controlled by a 12inch linear actuator, driven by a TB6612FNG. The i axis is controlled by a servo motor, connected directly to the machine’s main control board.

The main control board is an Arduino Mega with a Mega Shield, which makes it easier to connect in other components.

Suction for lifting items is provided by a household vacuum cleaner, which the Arduino controls using a Powerswitch Tail and a simple relay. A suction lifter is mounted on the Gado 1’s z-axis arm, and is connected to the vacuum cleaner using plastic tubing.

In order to make sure that it doesn’t damage the materials it’s scanning, the machine incorporates several sensors. The z-axis arm has an infrared proximity sensor which lets the Gado 1 judge how far its arm is from materials below it, and the arm’s suction lifter has an embedded photocell which helps the robot determine when it has successfully picked something up.

The x, y, and z axes each have two limit switches which prevent the machine from moving beyond set boundaries, and the y axis has two photo-interrupters which allow the machine to confirm that it is positioned correctly before it goes to pick something up.


Many of the Gado 1’s functions are controlled by Firmware on the main board, written in Arduino’s Processing language. The Gado 1 can perform most of its work using only serial commands sent over USB.

The Gado 1’s computer control software is written in Python. It handles more complex tasks,  like operating the scanner or uploading images to a database.

Since the Gado 1 is designed to work with any off-the-shelf TWAIN-compatible flatbed scanner, the machine’s scanning capabilities are limited only by the scanner its operator chooses.  This means the Gado 1 can do everything from quick-and-simple 72dpi scans to 1200dpi archival quality reproductions.