Visible Robot Design Ideas

The motivating idea:

The basic idea behind the “Visible Robot” is to create a simple extensible 3-axis robot that a parent and child can build together. The idea comes from the days following one Christmas when my father watched and answered questions while I assembled a gift: a model Ford V8 engine called the “Visible V8.”

From this experience at a young age, with my father’s help, I learned how an internal combustion engine worked.

My hope is that today’s child, teen or young adult (parent too!) can learn the basics of robotics by building a working machine together.

Some thoughts relative to “making”

I believe that what sets humanity apart is the ability to design and build. To make.

I also believe that, as a building block of civilization and a motivator of societal progress, creative and hands-on skills are essential for each individual.

Besides simply being fun to do, “making” something builds more than just that something. It builds a feeling of individual accomplishment and self-worth that’s beyond the thing itself—and also beyond monetary value.

With the advances made possible by the Internet and the content placed in its repositories, information and knowledge has been democratized across the planet. These are now available to anyone in the world with access to a computer or a smartphone.

When the kid in a hut in Tanganyika has access to the professor at Stanford, MIT, or Oxford, the kid in the “First World,” thinking about the future, would have good insight in realizing that in a world where anyone has access to the fundamental technical knowledge and tools for design and “making,” the learning privileges that used to go with living in the “Developed World” are hugely diminished.

The 21st century belongs to the skilled and the creative.

Knowledge and skills-building grow with the building of this machine into the fields of mechanics, electronics and programming.

Going beyond …

Beyond being simply an education-oriented project, bonding parent and child, the idea is to have a useful programmable machine-tool capable of doing light-duty machine-shop-type work including 3D printing, CNC (Computer-Numerically-Controlled) machining—and other activities the creative person might conceive.

Some will find this design wanting in one way or another and will design and build improvements to it. I encourage them to do this, using licensing terms that are no more restrictive than the one used here. I sincerely hope they’ll become the giants who provide their shoulders for others to stand on.

The open-source movement has given the creative world tools to design with, engineer with, and “make stuff” with. This project is about using those tools, and producing a product that conforms to the philosophy of “freedom to hack.”

The word “hack” here is used in its original meaning: to improve, extend, resize, reinvent, and find uses for a thing that were beyond those conceived by the designer.

Note on 3D printing:

As with all manufacturing techniques, 3D printing comes with its unique features. One can design parts that would be difficult or impossible to do with standard machining: e.g.,

  • A Russian doll-inside-a-doll-inside-a-doll—without a seam;
  • The material infill of printed parts can be selected as a percentage other than “zero or full,” as with machined parts, to give a lighter weight, though still stiff part.
  • Helical forms, giving twists to columnar structures.
  • Locknut-type features can be designed right into the plastic.
  • Complex forms are easy (too easy, sometimes 😉 to develop.
  • A reasonably complex part can be designed in the morning and printed in the afternoon, resulting in exceptional turn-around times for designed components. The ease and rapid turn-around allow the designer to experiment with more alternatives, and to more quickly complete a working prototype.

Too, 3D printing has its limitations.

  • Print times can be on the order of hours, and can even be days for large parts.
  • Thinly designed parts are particularly susceptible to shear fracture at layer boundaries.
  • The “finish” of parts is not up to the quality of machined or injection molded counterparts,
  • And just like “real” manufacturing tooling, the machines need to be well calibrated to yield quality parts.

Note on CNC machining:

Computer Numerically Controlled (CNC) machining is to the machine shop as robots are to the factory floor. This type of machinery is usually used for material-removal processes: cutting, milling, drilling, etc. Machinery of this type is usually massive, ultra-stiff, highly precise and costing tens or hundreds of thousands of dollars, euros, or pounds.

With CNC, a set number of parts can be “knocked-out” quickly and then, within minutes, a new program can be loaded into the machine to produce dissimilar parts using tools other than those used for the preceding parts.

A desktop CNC machine cannot hope to compete directly with its way-bigger cousins, but it can be useful in producing lower volume, more personalized product, though no-doubt with less precision.

Ideas going into the design:

RepRap formula: RepRap (replicable rapid-prototyper) was introduced as a “machine that is aimed at reproducing itself.” This robot (with a bit of help) attempts to be true to that vision. Refer to

Transparent: True to the model of the “Visible-V8” of my childhood, the Visible Robot’s workings are clearly visible via its open-box mechanical architecture and glass bed. The viewer can see all the components and how they work together.

A Workstation vs. a Robot: Beyond simple visibility, the openness of the design allows various accoutrements to be placed alongside and within the perimeters of the device. These auxiliary devices complement the machine in giving it increased capabilities. For example: parts presentation devices, tool exchange devices, etc.

Scalable: The simple cartesian design model allows for sizing the device to accommodate the needs of the working space available and the workpieces to be manufactured. Changes to the lengths of the frame members (and possibly their diameters) and the angles of the stiffening supports are all that’s required.

Extendable: Multiple gantries can be driven along the same common (‘Y’) axis to give additional capabilities. Think of the difficulties of the work of a robot as a “one-armed paper-hanger” and how these might be surmounted with a second or third ‘arm.’

Easy to Print: A simple, small-footprint 3D printer is all that’s needed to print the parts of this design. The workspace of the 3D-printer used to print all the parts was only 5 ½” x 4 ½” x 4” (130mm x 115mm x 100mm). All the 3D printed parts can be printed in non-toxic, non-fuming PLA. The parts to the working prototypes were all printed in my small home office/computer room which has no outside ventilation. No support material is required for any of the parts.

Easy to Assemble: The base and gantry are fastened with standard 5/16” and 3/8” nuts. (For those in metric environments, 8mm and 10mm can be substituted easily for the 5/16” and 3/8” parts). M3 (3mm) screws are used throughout for non-structural component fastening. The printed components themselves contain holes serving as lock-nuts for fastening.

Easy to Align: With all corners of an axis fixed, a precision machine can be difficult to align due to very slight differences in shaft parallelism, producing binding due to supposedly parallel shafts being non-parallel. Allowing a small amount of ‘slop’ in one direction in just one corner retains the precision of the device. The fixed shaft between the fixed ends provides the respective axis a solid “datum” for accuracy.

Easy to Wire: Easily obtained ribbon cable, with attached Dupont connectors can be used for the wiring. These are made to be easily pulled apart to give as many wires as needed for connection to the motors, micro-switches, etc. This cable-type also provide a clean method for electrical testing and troubleshooting. (Hook up a measuring device to the end of the cable, with the other end of the cable attached to the thing to be measured). The coloring of the wires even serve as “color coding” to help avoid transposition errors.

Extensible: The design was intended from the outset to be a basis for a “workstation”—a small manufacturing center with associated programmable tools, sensors and feeders.

The form-factor chosen is that of a gantry-style cartesian-coordinate (box-like) structure. The open-sided design is intended to allow for enrichment of its ecosystem. It allows for extending the system to include new functionalities, such as tool-presentation devices, cutting bit exchange, vision inspection, new gripper types, and 4th and 5th degree-of-freedom end-effector platforms (EEPs).

Developers will find a suggested architecture conforming to solid practice in manufacturing systems organization in the online documentation.

Value-oriented”: The base design includes precision parts such as linear bearings, leadscrews and anti-backlash nuts, which give the machine its resolution. Coupling and framing those precision parts is a combination of inexpensive plastic parts that have been 3D printed and framed with inexpensive threaded rod and nuts and bolts that can be bought at any hardware store.

Conceptually, aside from the necessary precision components, the intent was that the machine could be built in the developing world nearly as easily as in the developed.

The combination of precision parts where necessary, but otherwise inexpensive components leads to the ideal of a “value-oriented” system. The Visible Robot is not targeted at the “low end.” Instead, as mentioned, it is targeted as a foundation for a useful light-duty desktop machine tool, capable of performing tasks—albeit at lower precision, lower speed and smaller tool and part size—that one would see done in a machine shop.

Minimal tool set requirement: To accommodate building the machine in the home, whether the home is a sprawling home in the suburbs or a hut in the jungle, it is designed to be assembled by hand, with minimal tools. Fastening is by nuts and bolts rather than by weldments. A tiny home, local library, school, or neighborhood-based 3D printer can print the needed connecting parts.

Achieving stiffness with a non-stiff medium: Given the lack of stiffness in plastic parts—a plastic device will never be as stiff as a metal one—steps were taken to achieve the degree of stiffness needed. Mechanically, stiffness is achieved using inexpensive threaded-rod set at angles bracing the ‘X’ and ‘Y’ axes.

To avoid reliance on an inherently imprecise plastic extrusion process, metal-to-metal contact is used where it can be. The ‘X’ and ‘Y’ shafts, gantry shafts, and ends of the threaded-rod frame all contact one another and are bound together to provide stiffness and assured dimensionality.

Floppy parts—a lesson learned: Loose cabling can cause interference problems, resulting in missed steps of the stepper motors and ruined workpieces. (Ask me how I know this 😉

As a result of this (sad) lesson, care has been taken with the design of cabling routing, such that it is not free to interfere with the travel of any axis or the workpiece.

Leveling: Bed leveling is a common problem with failed prints (again ask me …). It’s also a problem if the leveling mechanism is difficult to reach. Consequently, the bed can be leveled using the four easily reached manual leveling dials—one at each corner.


This design would not have been possible without others who have gone before and provided 3D CAD design software, the Arduino platform, robot-control ‘shields’ for it, design software, robot control software, slicing software, etc. In this design and its implementation I’ve used OpenSCAD, the Arduino, Printrboard, RAMPS, Repetier Firmware, Repetier Host, and Slic3r, and the vision of RepRap—the self-replicating robot. I thank and am indebted to the developers and maintainers of these stalwarts of the Free and Open Source Software and Hardware world.

For hacking the design of the plastic parts, a free and open-source program (OpenSCAD) available at is used. (BTW: a OpenSCAD is a nice first-entry into the world of programming languages in that one can visualize the outcome of the program as a shape that one’s just created)!

RepetierFirmware (not included) is used as the firmware base for the ArduinoMega/RAMPS control board. Though other control boards may be used.

RepetierHost (not included) is used as the robot controller.

RepetierFirmware and RepetierHost are both available for free download at Newer versions of RepetierHost do not conform strictly to the guidelines defining free and open source software. However the software is free of cost, and FOSS-conforming versions can be found at