RAPID is the programming language used to control the robot. It is a non-standard language (i.e. unlike Java/C++) and learning it thoroughly is probably not a good use of your time. But there are a few commands that are useful to know.


If you decide to do some RAPID programming, please refer to the following manuals:
RAPID Reference Manual – Instructions
RAPID Reference Manual – Functions and Data Types
These are for version 4 that works with the little dFab robot. The big dFab robot is version 5, but can still run the same code.

Useful RAPID Commands


A MoveJ instruction is often the fastest way to move between two points as the robot axes follow the closest path between the start point and the destination point (from the perspective of the axis angles). MoveJ is less prone to joint errors because it is not restricted to moving along a straight path between two points.


With a MoveL instructions the TCP travels along a straight line between the start and destination points.


MoveJ with a digital out included (useful for controlling timing of DOs).

MoveJDO p2, v1000, z30, tool2, do1, 1;


MoveL with a digital out included (useful for controlling timing of DOs).

MoveLDO p2, v1000, z30, tool2, do1, 1;


WaitTime is used to wait a given amount of time (seconds).

WaitTime 5;

It is useful if you want the robot to pause between movements.


WaitDI is used to wait until a digital pin enters a given state, i.e. on or off. For example,

WaitDI di1, 1;

will wait until digital pin 1 is turned on and will then proceed with the rest of the program.


SetDO is used to set a digital pin on or off. For example,

SetDO do1, 1;

will turn digital pin 1 on.


TPWrite is used to write text out to the teach pendant and is useful for debugging.

TPWrite "Check yourself before you wreck yourself";