hi,
no experience with a robot-arm,
but we are controlling up to 8 motors (servo or PWM),
with Arduino Uno with SD-shield, and a PD front-end.
The PD front-end can play and record scores.
The manipulation of the motors is done with potmeters.
In our situation the potmeters are read by the Arduino,
the values are then sent to the PD front-end.
In principle one could use direct input from a joystick, or a wiimote, or..
The installations are able to run stand-alone;
the Arduino program then uses a recorded score, stored on the SD.
The stand-alone feature made the use of standard Firmata impossible.
For a short period we tried to create an extended version, but gave up on it.
Bottlenecks: the combination with the reading of the SD, and the max datarate for the serial port (115200) which forced us to make our own minimized message system.
Re the noise of the servo's: i guess it comes from the motor's constantly trying to keep there position against the gravity pulling on the arm.
How do you imagine to filter that?
rolf