Read longitude, latitude, speed and time from the ublox NEO-6M GPS

How to add the GPS robot skill

  1. Load the most recent release of ARC (Get ARC).
  2. Press the Project tab from the top menu bar in ARC.
  3. Press Add Robot Skill from the button ribbon bar in ARC.
  4. Choose the GPS category tab.
  5. Press the GPS icon to add the robot skill to your project.

Don't have a robot yet?

Follow the Getting Started Guide to build a robot and use the GPS robot skill.

How to use the GPS robot skill

This robot skill has been deprecated and replaced by:

Read longitude, latitude, speed and time from the ublox NEO-6M GPS. This control will automatically initialize UART port 0 at 9600 baud for the GPS. One initial startup, the GPS must warm up to begin communicating. The GPS Status will be red and say "disconnected" until the GPS warms up and begins communicating with the satellites. If there are clouds or a building above you, it will not be able to communicate with the satellites. Move outside or wait for a better day to allow the GPS to connect. Once connected the GPS can be moved back inside and stay connected (At least from what I have experienced). Once connected the GPS Status will change to green and say "connected". Data should begin to populate the text fields. The GPS Data tab shows the processed data received from the GPS. The data has been formatted to clearly show latitude, longitude, time (UTC) and speed. The Raw Data tab shows the unprocessed data received from the GPS. Data other than latitude, longitude, time (UTC) and speed can be found here, but is not formatted in an easy to understand way.

Release V2 All variables are now instantiated to 0. This helps solve any problem had when no GPS is connected and the variables are being used.


Upgrade to ARC Pro

Take control of your robot's destiny by subscribing to Synthiam ARC Pro, and watch it evolve into a versatile and responsive machine.


Have you been able to incorporate this with ARC and a rover for movement?

#2   — Edited

Hey sorry about the wait on this thread @Automation Man. A NEO-6M GPS was mounted to a Roli Rover to test with and it worked but I don't believe any example code was ever generated.


No problem, having the ability to work with really accurate GPS would be very beneficial. There are some that are down to the cm level.


Does it work with ublox NEO-8M as well?


Most likely it’s backwards compatible. The same gps signal is used on all gps systems

#6   — Edited

I tried to connect the ublox NEO-8M, but no signal detected either inside oder outside. Maybe switch to NEO-6M?

User-inserted image

#7   — Edited

The wires are incorrect. The TX connects to RX. And the RX connects to TX. Make sense?

Transmit is TX. That means it transmits. So you can't transmit to a transmit. You need to transmit to a receive. Receive will receive what is transmitted. So you transmit to receive, and you receive from transmit.

(that sounded like a dr Seuss book)

User-inserted image


Now it works, thanks! But the data are trash, I'll try again tomorrow during better weather.

User-inserted image


Has anyone been able to use this data with ARC to make a robot move around the driveway etc. Does this skill need to be incorporated with another skill? which ones?


Alone, this skill would require additional hardware and writing code. The trouble is gps doesn’t have a compass. The heading value is misleading because it takes the points of travel and calculates an estimated heading. With the inaccuracy of gps, the heading can be off substantially. There is a unit I had played with that has gps and compass for cheap.

i have a robot skill and Arduino firmware for it but it’s not done. I couldn’t get it to work with NMS because the values are too inaccurate. It would need to do path planning on its own.


I am looking forward to the final product and have many items that I would like to do/use with GPS   Thumbs up


Afterthought, a good alternative for large-scale navigation is the Camera NMS Pose. It uses glyph markers on the robot to determine the orientation and location across multiple cameras. It was created for a warehouse robot for one of our enterprise customers. The warehouse is HUGE, and there are dozens of cameras, each viewing a quadrant of the floorplan. They mark off shelving areas so the robots know where to go. This is similar to how Amazon robots work - and they do something similar.

Here's the link for it: