I built a USB IR serial converter out of some of the open source hardware modules we’re working on. The idea stemmed from a past design.
About a decade ago we designed a LED diagnostic module for a deep sea robotics platform. The customer had a complex system that was packed into an oil filled, pressure resistant, steel enclosure. The ROV had an entire cargo container of equipment to communicate with, and control, the system. There was also a need for much simpler diagnostic interface that allowed the system to be tested when the ROV was not fully connected. A simple serial interface was needed, but we couldn’t pass wires through the enclosure since it was sealed against the high pressures of the deep ocean.
The solution was an IR to serial interface. A board internal to the ROV sat behind with a thick window and connected to an RS485 port that could access a variety of microcontrollers that made up the system. This allowed a technician could point a hand-held IR device at the window and communicate with the system. We had some 7 segment LED numbers that could be used to display error codes as well.
I liked that idea, and it’s a pretty simple one. An IR to serial data converter can be useful for “no-touch” short range communication. So I built on onto our 9-pin SIP open source hardware module. It’s short range, about 1 meter, but operates from 9.6Kbps to 115.2Kbps. To test the communication link I used a second open source hardware module, a USB to serial converter built around FTDIs FT232R part. Using two USB to serial modules and 2 IR to serial modules I set up a loop back test at 115.2kbps. The video is short, but has blinking LEDs, so everyone should love it.
After this test I made an effort to program an Arduino Uno 3 through this serial interface. I was not successful. I came pretty close by using the reset button and timing the data transfer between the Arduino software and the PC. I was able to get echoes back from the Arduino that indicated communication was occurring. But alas, no sync with Avr Dude. I’ll have to tackle that problem later on.