Tuesday, 6th of January 2009
Tuesday, 6th of January 2009
"Maxim3378" — 1 post
I want to connect the gumstix to the gpsstix and the robostix....hmmm....we'll if I connect the gpsstix to the gumstix in the stack, then I can talk to the robostix via I2C using David Hyland's great i2c programs. There are a set of i2c pins exposed on the gpsstix, so I soldered 0.05" headers to those pins and will use the robostix's i2c 0.1" pins (the SDA and SCL are on the UARTS connector).

The robostix's i2c lines run at 5v and the gumstix run at 3.3v, so I need to shift bidirectionally. Maxim sells a bunch of chips to do this. I'm using the Maxim 3378 (datasheet). The Max3378 is bidirectional and accepts +1.2v to +5.5v on the low side and +1.65v and +5.5v on the high side. Obviously, I don't need 4 lines for the i2c bus, but I think I might find uses for the other ones. in the TSSOP package. I mistakenly ordered the UCSP package first, man that is a small chip.



Well, I'm not that good at soldering, so I'm using the TSSOP with the Spark Fun SSOP to DIP Adapter (SKU#: BOB-00498).

Here you can see the diagram from the datasheet and here it is on the breakout board.



I have connected up leg 1 on the chip to pin 1 on the breakout board.

According to the datasheet, Vl is the low voltage side (3.3v in my case) and Vcc is the high voltage side (5v). You apply a reference voltage to pin 1 and pin 14.

Image ©Maxim

On the Robostix, the i2c pins are on the UART section. The pinouts are:
10: Ground
12: SDA (labeled TX)
14: Vcc (5 volts)
16: SCL (labeled RX)
SDA and SCL are both 5v logic levels and have 10k pullups to +5.

On my test board I have SDA connected on Vcc1 and Vl1 and SCL connected on Vcc2 and Vl2. I have a 0.1uF cap on both Vcc and Vl and 1uF cap on the Vcc as per the datasheet.

Plugged it all together and it worked! It seems that I have to boot the gumstix first and then the robostix. If I turn off the robostix and then back on while the gumstix is already booted, it also didn't work. Have to look more at this.