I've been playing with a Delcom Engineering USB I/O controller. USB just makes me happy--- control + power together, so no wierdo serial bit-banging or parallel printer connection necessary to interact with electronics, and no $$$ for a power supply.
I started out using Thomas Hargrove's libdelcom, but I wanted a more convenient interface. So, I've written a C++ library called libdelcom++, which I released last night under the GPL. (Woo! First freshmeat entry!)
I'm working on a companion library for talking to I2C devices.
P.S. SWIG rocks. If only it handled nested classes.