Stepper motors were the guts of my final project for a Mechatronics class - we had to make a machine sort of like a computerized etch-a-sketch. I got along OK with those.
My nemesis was digital potentiometers. I was using one (again in conjunction with a BASIC stamp) to control the speed on our autonomous vehicle - the drive motor was out of a Rascal scooter, and speed was via a PWM controller. I wanted to use a digital pot to replace the 'throttle' control from the scooter.
In theory, the BASIC stamp monitored 5 inputs (4 speeds and a stop command), and whenever one of the inputs was triggered, it would flip the write pin high on the digital pot and pulse a bit sequence...I think it was probably 8 bits, and it scaled the resistance appropriately. This worked great on the bench but whenever I coupled it to the PWM controller it'd melt the chips right away. I never figured it out and ended up just mounting a standard pot on the side of the vehicle, so you just set it manually like a cruise control, with a relay to kill the PWM controller to stop it.
Bitch of it was, I had accidentally ordered surface mount chip packages instead of something a little more workable. I managed to use the 15-watt grounded soldering iron from Radio Shack (and 2 or 3 beers for a steady hand) to stick them to some boards...interesting task.
The digital compass was a whole 'nother fiasco...ever write in Matlab? That's a story for a different day.