Open drain out from Arduino USB2Serial light for external i2c?

I'd like to use the USB2Serial light board to program the i2c EEPROM on another board. The other board works on +3.3 volts.

I'd like to run the PD2/PD3 pins in a pseudo open-drain fashion. These are currently used as TX/RX for the serial UART implementation, so one is a +5 volt bidirectional drive high/low output and the other is the input.

I found some i2c code elsewhere and it looks like a good start for i2c protocol in general but I need to deal with the pins and levels first.

It doesn't look like the PD2/PD3 pins can be set for open drain operation, but they could be set to toggle between output operation and input operation. Setting them for input would certainly make them "open". Has anybody used this technique?


Digital Larry

So assuming you resolve the votlage difference, what is your plan to convert the serial interface into an I2C interface? How will you handle the ACK bit that will be part of every transfer? How do you create the clock signal to the device while you are also sending data? You only have one output, the Tx line. Seems like some difficult things to work out.

I don't have the slightest idea. Looks like I'll have to learn about a lot of down and dirty details.

I do however have some USB-to-i2c code that was written for and tested on a regular Arduino for exactly the application I'm talking about. I suppose I should take a look at that first and see what is done (if anything) about the voltage level handling.