Galil Design Kit (GDK)

Software For Motion Controller

Galil Motion Control offers a range of software tools to assist you with programming, servo tuning and support. The primary development software is the Galil Design Kit (GDK). For software developers writing code to communicate with Galil controllers, the gclib application program user interface is available. Examples can be found here with comments in German: Code examples.

There are also special utilities such as the Ladder Logic software for RIO, the Frequency Domain Tuning Tool (FAS) and EPICS support.

GDK modules at a glance

Feature Functional description
Scope emulates a conventional digital oscilloscope
Tuner supports the optimization of system performance
Terminal sends commands and receives responses from the controller
Editor writes, saves and executes application programs
Viewer enables real-time monitoring of I/O status, motor position and more
Plot display movement on a plane
Setup read, edit, save and restore controller data
Step-By-Step guides you step-by-step through initial commissioning
EtherCAT supports the commissioning of devices with EtherCAT interface


GDK interface

The scope function is the emulation of a digital oscilloscope. It offers measurement and trigger functions, zooming, autoscale and more. Various trigger functions (Scan, Auto and Normal) allow the user to influence the view of the display. The scope function is therefore helpful, for example, when setting the control loops, displaying motion profiles and time events such as reaching limit switches.


The tuner supports the optimization of system performance. Filter parameters such as pole, notch and PID filters can be set via a simple interface. Users can set torque limit, voltage offset and feedforward parameters. The auto-crossover tuning algorithms are variable and the test signal can be set according to individual requirements.


The viewer tool allows customizable monitoring of inputs and outputs, motor position and other values in real time. It is particularly useful for troubleshooting and commissioning as it displays the values simultaneously. The GDK XML can be used to change what is displayed.


The setup tool includes functions such as view, edit, backup and controller memory readout, as well as parameters, variables, arrays and program memory. This tool enables the user to save all important controller information on a PC and transfer it to other motion controllers, for example. After a master reset, settings can also be restored in this way. A firmware upgrade can also be carried out with this tool.


Any help is welcome, especially during initial commissioning. The Step-By-Step module was specially developed for this purpose. It guides you through the necessary steps for the basic configuration of an axis. Afterwards, all options are available to further optimize the setting.


The terminal is used to communicate with the Galil devices. It can be used to query parameters or to execute a program or individual commands. It allows you to search the command history, repeats commands easily and automatically and prints out the terminal output if required.


You can use the editor to write, save, load, download and execute source texts. It is possible to open, edit and save several programs at the same time. In addition, comments can be quickly switched on and off and a quick go-to function can be used. You can quickly change the program code using Find & Replace. The syntax is highlighted in color for better readability.

Communication server (new)

GDK's communication library (gclib) now uses a communication server by default. This software works with a multiplexer with the hardware and allows several applications to communicate with the same controller. Data that was previously only available to one application is now distributed to all registered clients.

The advantage of this is that an application can use all the communication features of a Galil motion controller. At the same time, a debugger, as contained in the GDK, could also have full access. An already written gclib code can use the server with the "-d" option of the GOpen() function. Install the latest version of gclib and GDK and try out the new server.

To top