Dexter is an open source, 5+ axis robotic arm. Its parts are 3D printed with PLA and held together with carbon fiber strakes for reinforcement. It uses 5 NEMA-17 stepper motors with harmonic drives on 3 of the axes. These don't have encoders and are prone to slipping, so we build our own optical encoders mounted on the axes themselves. We use 2 sensors with one of them 90 degrees out of phase so we get a quadrature encoder out of the system. Our software interpolates these values as sin and cos and allows us to measure each axis.
We use an FPGA to allow us to process the data from the encoders in real time. With our gateware, we're able to take 5 million measurements per second and get a 200 nanosecond control loop with the motors. This allows the motors to react when changes are detected in the optical encoder. One of our control modes known as "follow me" allows someone to physically control Dexter by touch without backdriving the harmonic drives (doing so wears them out and eventually weakens the integrity of the transmission.)
Dexter uses a socket connection for DDE, but that isn't the only thing that has used it. One of the members of the Dexter community has actually developed a Unity library for use with Dexter. Using follow me mode, you can actually connect move Dexter around in virtual reality to interact with objects. Touching one will provide haptic feedback in the physical Dexter. We think this was really cool because that opens the door for Dexter to potentially be used as a game controller.