element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Safe and Sound
  • Challenges & Projects
  • Design Challenges
  • Safe and Sound
  • More
  • Cancel
Safe and Sound
Blog Safe & Sound @ E14-CLEWE @#8_GPS issues
  • Blog
  • Forum
  • Documents
  • Polls
  • Files
  • Events
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: jkutzsch
  • Date Created: 23 Apr 2017 12:57 AM Date Created
  • Views 795 views
  • Likes 3 likes
  • Comments 5 comments
  • adafruit gps
  • safe and sound design challenge
  • safe & sound
Related
Recommended

Safe & Sound @ E14-CLEWE @#8_GPS issues

jkutzsch
jkutzsch
23 Apr 2017

Safe & Sound @ E14-CLEWE @#8_GPS issues


E14-C.L.E.W.E. INDEX:

#1_”The word.”

#6_Energia!

#2_”The Science.”

#7_Blog7

#3_"GPS decisions."

#8_GPS_Issues

#4_"GPS arrives!"

#5_"The box, the box!"

                                                                             image

 

 

image

 

Sadly for the past week of various testing I have not been able to see anything come across to the TI MSP432 like I have was able to see with the Arduino Uno.

 

I even went so far as to pull the TI MCU and reset up everything with my Uno just to be sure my GPS was still working and I was able to see traffic both with Hardware as well as Software switch enabled.  So the GPS is good to go.

 

I have put a request out to others to see if anyone has some suggestions in coding that I can use to check my setup so hopefully either someone may have a suggestion or I will come across another hint somewhere else.

 

For now I am going to try and work on the sensor booster and see if I can tie that in with the LCD booster.  Since the GPS is THE key component for this project I have been focused on it a exclusively for the past week but every once in awhile you have to take a step back and work on something else and then come back to the problem.  I have had previous epiphanies doing such when my subconscious managed a break through where my conscious had burnt out.  So I have not given up on this part, merely regrouping and working other parts.

 

One of the last things I tried was from the Energia Reference offerings:  Energia Reference - Tutorials focused on SerialEvent.

 

This look very promising because it specifically mentions:  "A good test for this is to try it with a GPS receiver that sends out NMEA 0183 sentences."

 

When I had read this I was thinking, cool this is a perfect test!

 

/*

  Serial Event example

 

  When new serial data arrives, this sketch adds it to a String.

  When a newline is received, the loop prints the string and

  clears it.

 

  A good test for this is to try it with a GPS receiver

  that sends out NMEA 0183 sentences.

 

  Created 9 May 2011

  by Tom Igoe

  Modified 24 April 2013

  by Sean Alvarado

 

  This example code is in the public domain.

 

*/

 

String inputString = ""; // a string to hold incoming data

boolean stringComplete = false; // whether the string is complete

 

void setup() {

  // initialize serial:

  Serial.begin(9600);

  // reserve 200 bytes for the inputString:

  inputString.reserve(200);

}

 

void loop() {

  // print the string when a newline arrives:

  if (stringComplete) {

  Serial.println(inputString);

  // clear the string:

  inputString = "";

  stringComplete = false;

  }

}

 

/*

  SerialEvent occurs whenever a new data comes in the

  hardware serial RX. This routine is run between each

  time loop() runs, so using delay inside loop can delay

  response. Multiple bytes of data may be available.

*/

void serialEvent() {

  while (Serial.available()) {

  // get the new byte:

  char inChar = (char)Serial.read();

  // add it to the inputString:

  inputString += inChar;

  // if the incoming character is a newline, set a flag

  // so the main loop can do something about it:

  if (inChar == '\n') {

  stringComplete = true;

  }

  }

}

 

No success with this led me to research a little more and I found hints that perhaps the pins were actually serial1 not plain serial so I even modified the code and ran it as such but still nothing across.

 

Just to share some information on the Adafruit GPS shield here is some interesting information:

 

While it is specified as 3v and 5v in the documents and is clearly marked for 3v as well as 5v my testing with the Arduino and all of the examples I have seen for the shield has been using the 5v so I have stayed the same to be consistent until I have success where I can then deviate if needed.  But I did find a specific statement that is interesting:

 

Pin and Address Reference

The shield uses the following pins:

  • +5V
  • GND

For SD card:

  • Digital pins 10-13 (Card Select, MOSI, MISO, SCK, respectively)

For GPS:

  • Digital pins 0 (RX) and 1 (TX) when using 'Direct' switch setting
  • Digital pins 7 (RX) and 8 (TX) when using 'Soft Serial' setting

This shield can usually be stacked with others (including those using SPI), provided that each has a unique Chip Select pin.

 

 

As you can see this only mentions the 5v.

 

In addition the digital pin specifications is nice and handy and matches up with my Arduino Uno tests.

 

At this point I am not sure if I need to stop trying Energia or if someone might have some suggestions for me to look at.  I wouldn't be surprised I just need to jumper something on the board but so far have been unable to see where that is needed yet.

 

Please feel free to share suggestions in the comments, I do read them/listen to them and even follow through!

  • Sign in to reply

Top Comments

  • jomoenginer
    jomoenginer over 8 years ago +2
    You might need to enable the pins with pull ups on the MSP432 to get them to work properly with the GPS device. Check the pin numbers on the MSP432, but you should have something like: pinMode ( 6 , INPUT_PULLUP…
  • dougw
    dougw over 8 years ago +1
    Sounds like a proper nightmare. So simple nothing can go wrong, but it doesn't work. If you can try looking at the signal coming from the GPS with a scope, you can figure out if the pins are connected…
  • jkutzsch
    jkutzsch over 8 years ago in reply to dougw +1
    Thank you, I will definitely take a look for a loopback and see what other options might be out there. Since the LCD was occupying the 3v and I had used the 5v successfully with the Arduino I wasn't too…
  • cstanton
    cstanton over 7 years ago

    jkutzsch , what are the pin numbers you're actually connecting the GPS shield's RX and TX to on the MSP430?

     

    According to a cursory search on the internet the hardware UART pins are 3.2(rx) and 3.3(tx) aka pins 3 and 4 on the Energia Pin map.

     

    The secondary serial port is apparently shared with USB, so if you're using that one you won't see anything on the serial monitor.

     

    If it's still not working then I'd suggest it's a baud rate issue.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mcb1
    mcb1 over 8 years ago

    Since the LCD was occupying the 3v and I had used the 5v successfully with the Arduino

    Arduino inputs seem to be more tolerant to the wrong voltage.

     

    Part of the troubleshooting for Arduino is to loop back D0 and D1 and see if the serial from your device is echoed.

    While this is the 'other way' loop back is an important tool to use to verify something.

     

    If you have a FTDI (USB to Serial) device it might be worth trying. Mine has the ability to switch to between 5v and 3v3, which makes it super useful.

     

     

    Mark

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • jomoenginer
    jomoenginer over 8 years ago

    You might need to enable the pins with pull ups on the MSP432 to get them to work properly with the GPS device.

    Check the pin numbers on the MSP432, but you should have something like:

      pinMode(6, INPUT_PULLUP);
      pinMode(5, INPUT_PULLUP);
      pinMode(9, INPUT_PULLUP);

    However, as is quite common when trying to use Arduino compatible shields, they are usually set for 5v where as other devices are 3.3v on the GPIO as i believe the MSP432 is.  In this case, you can a level shifter from 5v to 3.3v between the MSP432 and the GPS board to convert between the two values.

     

    In Energia, there should be an UART example  for the MSP432 that you can use to test the com port functionality and use that as a baseline for the GPS.

     

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • jkutzsch
    jkutzsch over 8 years ago in reply to dougw

    Thank you, I will definitely take a look for a loopback and see what other options might be out there.  Since the LCD was occupying the 3v and I had used the 5v successfully with the Arduino I wasn't too worried quite yet for the gps, but I may jumper off of the 3v anyway just to be sure.  Always better to check everything you can.  :-)

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • dougw
    dougw over 8 years ago

    Sounds like a proper nightmare. So simple nothing can go wrong, but it doesn't work.

    If you can try looking at the signal coming from the GPS with a scope, you can figure out if the pins are connected correctly, whether the voltage is correct and what the baud rate is.

    On the Launchpad, adjust your code to print every character that is received - don't wait for a CR or LF character. This should confirm if you have the correct receive pin configured.

     

    If the character string is to short, it may indicate the baud rate is too low and vice versa.

    I think all of my GPS devices work on 3.3V, but I know some others can work with 5V.

     

    Maybe you can find a loop back test program and connect the TX to the Rx on the Launchpad to ensure the serial port is working.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube