I have a Beagle Board xM rev C, which has been working great driving Dynamixel servos over serial/USB. However, when I try to drive hobby (PWM based) motor controller it works really erratically. The usleep(1000) call, for example, can sleep anywhere from 1000 to 1500uS, making servos jiggle and move un-smoothly. Perhaps part of the problem is that to drive the bits (I/O lines) which connect to the motor controller, I am using what looks like a lot of file opens and closes and fprintf calls. This could be causing erratic timing too. Also I am not using an ISR or IRQ structure but rather a simple main program which loops and calls uSleep(). Is there a better way such as to use timers and/or interrupts? Is there any way to have the tightly-timed calls go some other rout than the file-system? I programmed QNX a decade ago so am familiar somewhat with that approach. I also am working on getting WiFi (through a USB dongle) working so I can SSH to the board. Thank you!