EdgeRobotArm logo by kyllikki
Edge robot arm software

GUIThe "Edge" Robot ARM is a USB controlled robot arm. The arm is also sold under a number of of other names from numerous retailers including:

The software is principly intended for Linux and consists of a library to control the hardware and a GTK graphical program written in VALA.

Background and Hardware

The box the kit comes inI have kids, it was a holiday so I bought this kit from Maplin Electronics as a project for the holiday. Before we had chance to build it someone on reddit posted saying the device needed to be reverse engineered. I obliged, and this is the end result.

The actual robot arm once built is little more than a toy. The main issues are:

PCB bottom sideThe electronics consist of a single sided PCB with a mix of through hole and surface mount devices.

PCB bottom sideThe motors are interfaced through two ST1152B dual motor controllers and a single channel ST1152A motor controller. The USB to motor driver interface is performed by a pre-programmed EM78M612 microcontroller.

There appears to be absolutely no decoupling or power supply smooting capacitors anywhere on the board which occasionally makes operation somewhat erratic. I have added a 2400uF electrolytic and a 100nF to the supply rails which has improved operation when using the brake command.

Dependencies

The library depends on libusb version 1.0

The UI depends on vala version 0.7.6

Building the software

The whole project can be built with a simple make invocation:

$ make

This builds both the library "libedgerbtarm.so" and the user interface "edgerbtarm"

If you want to execute "edgerbtarm" from the build directory the LD_LIBRARY_PATH needs setting or the error "./edgerbtarm: error while loading shared libraries: libedgerbtarm.so: cannot open shared object file: No such file or directory" will occur.

$ LD_LIBRARY_PATH=$PWD ./edgerbtarm

If the user executing the program does not have access to the USB device or it is not plugged in an error will be displayed "Unable to connect to USB device" but the program will not exit. An attempt to conenct will be made every time the user tries to move the arm.

License

Released under the MIT License http://www.opensource.org/licenses/mit-license.php

Contact

Vincent Sanders (vince@kyllikki.org)

Download

You can download the latest release (v0.3) of this project in tar format.

You can clone the development branch with Git by running:

$ git clone git://github.com/kyllikki/EdgeRobotArm