µArm Developer Quickstart
The µArm is a great bit of hardware, but since shipping the software has let it down. The official software isn't readily usable to kickstart your own programs. This Quickstart contains several ready-to-hack programs that will get you started immediately.
This is an unofficial collection of software, intended for experienced, cautious hackers. µArms are easy to break by misuse of the servos and the current firmware doesn't do much to prevent such harm.
Solving the Tower Of Hanoi
./bin/hanoi - details below.
Setting up the µArm
Make sure your µArm servos at in the correct position shown in the construction guide. They will rapidly burn out if not.
- Install the FTDI drivers on your computer. These are needed for the integrated programmer on the Arduino.
- Install the Arduino software.
- Add the
firmware/UF_uArmlibraries to Arduino, and copy the contents of
firmware/arduino.txtinto your Arduino code editor.
- Connect your µArm to power and your computer. If this is your first time connecting it will emit a very loud continuous beep.
- Select the correct port in the Arduino software menus for your µArm.
- Upload your Arduino software to the µArm. It should stop beeping once this is complete.
- Hold the front µArm button until it beeps. Immediately push the rear cylindrical joint all the way down. Then pull the µArm 'hand' all the way forward. Now hold the front button again until it beeps.
Controlling your µArm
I suggest placing the µArm on a flat, smooth surface. Clear the surrounding area of anything you don't want to get knocked over.
Edit the serial port in each
.c program. Run
make to build the provided demo programs into
This test program just moves your µArm about a bit.
This can be used to solve the Towers of Hanoi, if you have a pile of 3 objects to place.
Pipe commands to the
stdin of this program to forward them to the µArm. We've used this to control it with an Xbox controller.
Command format for ./bin/uarmin
Commands must be formatted like
30 120 180 0 0 and separated by
\n newlines. Each integer corresponds to:
- Arm Rotation in degrees. Ranges from -90 to 90.
- Arm Stretch. Ranges from 0 to 210.
- Arm Height. Ranges from -180 to 150 but values below 0 will go through your table.
- Hand Rotation in degrees. Ranges from -90 to 90.
- Gripper. Set to 1 to pick up an option, 0 to release.
I suggest leaving 1-2 seconds between commands to ensure previous movements have completed.
There's a lot of problems with the official firmware, a quick list here. I aim to build a new firmware that resolves many of these issues, and would love contributions to this Quickstart in the meantime.
The µFactory team have done a great job designing and shipping the µArm.
Scott Gray wrote up the useful uArm Serial Protocol Manual.