Pages: [1]   Go Down
Author Topic: Venus634 board with newsoftserial?  (Read 813 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 25
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
« Last Edit: April 04, 2011, 05:09:14 pm by ivan141 » Logged

0
Offline Offline
Shannon Member
****
Karma: 162
Posts: 10523
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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).
Logged

[ I won't respond to messages, use the forum please ]

0
Offline Offline
Newbie
*
Karma: 0
Posts: 25
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Global Moderator
UK
Offline Offline
Brattain Member
*****
Karma: 241
Posts: 24481
I don't think you connected the grounds, Dave.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

What about inversion?
Logged

"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

0
Offline Offline
Newbie
*
Karma: 0
Posts: 25
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Pages: [1]   Go Up
Jump to: