Venus634 board with newsoftserial?

Hi everyone,

I dont know if this is the correct place to put my question, but here goes:

I am trying to read my Sparkfun Venus634 GPS board using my arduino duemilanove 328. Since the serial line in my project is already in use for logging and debugging I have tried to connect it using the NewSoftSerial library (v10c). Trouble is I am not getting any readings at all using the software serial port (running at 9600 baud, which is the venus's default speed).

I am aware that there is a logic level incompatibility between the arduino and the venus chip (5v vs 3v3), so I am using an I2C style level shifter using 2 mosfets and 4 pullup resistors. For anyone that might stumble upon this last remark after a websearch: Yes, an I2C bidirectional style mosfet level shifter works like a charm for logic level conversion on plain jane vanilla serial lines too. I use one mosfet per line instead of a voltage divider on the Rx line like the sparkfun level shift board uses. When I pull the Atmega chip off my arduino board and plug my whole project board into the hardware serial ports it seems to be communicating just fine through the FTDI chip (@9600 baud I might add).

I suspect NewSoftSerial is not doing anything at all, and I doubt I am the first to have had trouble with it. Havent found any answers yet so I though I'd ask. I am using the TinyGPS library's example by the way.. it uses newsoftserial.

Do you know the full spec for the GPS (number of start and stop bits, parity, inverted or non-inverted?) Secondly which pins are you using for NewSoftSerial (I believe its interrupt driven and needs pins 2/3). You realise to connect TX on the GPS to RX pin on the Arduino? (for that you probably don't need level conversion since 3.3V reads HIGH).

8 data bits, 1 stop bit, parity none, Xon/Xof, 9600 baud. This works when connected to my PC serial port.

What about inversion?

Small update:

After finding another 'victim' of this problem I tried using a slightly modified newsoftserial example sketch, since that seemed to work for the other guy. Presto, it started spitting out data, so the problem must be with the TinyGPS example code. This uses a while softserial.available() loop to parse GPS data. I can understand if it doesnt decode much since I'm not getting any signal indoors anyway, but I tried some serial.print statements for debugging and it seems as if it never enters the loop to begin with.

Here's hoping someone has experience with the TinyGPS code.