Update (26/08/2025): We have plenty of stock of all our products, find us also in and    Shop now

Understanding GPS Timepulse or PPS

Forget for a moment about GPS position. A GPS or GNSS also calculates time. And it does it very accurately. As precise as 10 nanoseconds. This is 0.00000001 seconds.

Imagine you have 2 devices in 2 different countries or 2 sensors in 2 different locations and you want to synchronize whichever action or measurement they are taking. You could use internet to get an accuracy of around 10 milliseconds, or use a GPS receiver on each device to get it down to 10 nanoseconds. And the best, no internet needed.

When we arrive to this level of timing accuracy, it is also important to know in which time scale we are working. GNSS receivers usually synchronize with global UTC time scale, but can also synchronize time scale to a specific constellation (GPS, GLONASS, Galileo, BeiDou). Each time scale has its own absolute counter (for example there are few seconds difference between GPS and UTC), but in general the change of second is synchronized to the millisecond level. In any way the takeaway is: check that all your sensors are using the same time scale.

Theory is very nice, but how can you actually make use of GPS time pulse in your project?

All ArduSimple boards have a pin called Timepulse, PPS or TPS. These are different names for the same signal. By default, this timepulse is configured at 1 Pulse Per Second (PPS). That means that every second, at the exact moment of change of second, this signal will be triggered to inform the application of the exact moment of change of second. The receiver might need some time to make the calculation of the actual new position and will make it available to you as soon as possible. In the next image you will find a visual representation of this.

In your application, you can connect the Timepulse and the Serial Data Out to your processor or computer. At some point, your application will read that time is 8:30:00. It’s time to get ready for the next timepulse, that will indicate exactly 8:30:01.

But you might say, what if the signal I want to measure is between 2 timepulses?

  • Option A. You have a high running oscillator inside your processor (MHz or more) that you can synchronize every time that there is a timepulse.
  • Option B. Use another feature of GPS receivers: the EXTINT or EVENT Input. We will talk about this signal another day, we will update this post with a link.

If you liked this content, you can follow us on Twitter, YouTube, Facebook or LinkedIn to stay updated of content like this.

Got any questions or requests?
Contact us! We'll answer <24 hours!

Icon
Contact ArduSimple
Close

Want to learn more about GPS/RTK?

1. Our engineering team will contact you to solve any questions
2. We will keep you updated about promotions and new product releases
3.You will only hear from us when we have important news, we won’t spam your email