Well, actually a Microbric Viper Robot instead of a real snake, however, Scott Hanselman created a great article on controlling the Viper with a custom IR Serial Port using .Net.
Scott goes on to explain the issues with controlling the robot and polling times. He ended up reflecting out the code and creating a custom, unmanaged serial port class to do the extremely quick data exchange he needed.
Really interesting stuff. If you need to do something like boosting performance of a certain piece of code, use Lutz Roeder's Reflector.