# Problems with Thing plus RTK base signals timing out

**URL:** <https://community.sparkfun.com/t/problems-with-thing-plus-rtk-base-signals-timing-out/69835>\
**Category:** GPS/GNSS\
**Created:** [October 26, 2026, 6:28am UTC](https://community.sparkfun.com/t/problems-with-thing-plus-rtk-base-signals-timing-out/69835 "2026-10-26T06:28:30Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![CharlieT](https://avatars.discourse-cdn.com/v4/letter/c/77aa72/32.png) [@CharlieT](https://community.sparkfun.com/u/CharlieT)\
**Post date:** [October 26, 2026, 6:28am UTC](https://community.sparkfun.com/t/problems-with-thing-plus-rtk-base-signals-timing-out/69835/1 "2026-10-26T06:28:30Z")

</div>

I have set up a base with a Thing Plus as described in the Sparkfun DIY base station tutorial. My aerial is well located and when I check in U center I get regular messages and the led on the receiver blinks.

When I connect the Thing Plus all goes well and I get the correct messages on the serial monitor. It connects to RTK2GO and shows on their list as active but it always times out after a few hours.

I have also noticed that the the led stops blinking when the Thing Plus is connected and also the signals stop if I connect a LiPo to the Thing…

Any help with this would be greatly appreciated!

---

<div class="post-metadata">

**Author:** ![sparky](https://yyz1.discourse-cdn.com/sparkfun/user_avatar/community.sparkfun.com/sparky/32/6021_2.png) [@sparky](https://community.sparkfun.com/u/sparky)\
**Post date:** [October 26, 2026, 4:24pm UTC](https://community.sparkfun.com/t/problems-with-thing-plus-rtk-base-signals-timing-out/69835/2 "2026-10-26T16:24:26Z")

</div>

Hey you registered with RTK2Go for your own mountpoint? If you’re re-using the example, then when other people have their base try to use the same mountpoint then RTK2Go doesn’t know which to allow, and will kick you off.

If that’s not the issue, then please post the serial output from your Thing Plus so we can see what it’s doing from boot.

---

<div class="post-metadata">

**Author:** ![CharlieT](https://avatars.discourse-cdn.com/v4/letter/c/77aa72/32.png) [@CharlieT](https://community.sparkfun.com/u/CharlieT)\
**Post date:** [October 26, 2026, 5:50pm UTC](https://community.sparkfun.com/t/problems-with-thing-plus-rtk-base-signals-timing-out/69835/3 "2026-10-26T17:50:30Z")

</div>

Hi,

Thanks for coming back to me on this. Yes I have registered with RTK2GO and when the base is operating properly it shows up on their web page list of mountpoints. The output in SerialMonitor is entirely as expected from the sketch, and the ‘Total sent’ message clocks up as expected also but shows RTCM timeout at 22771759 or another time at 11018710. That’s after several hours of normality…

When I power up the F9P without the Thing attached RTK the led blinks regularly, but when the Thing is attached it stops, the GPS data keeps going though. If I plug a LiPo into the Thing then everything stops.

---

<div class="post-metadata">

**Author:** ![CharlieT](https://avatars.discourse-cdn.com/v4/letter/c/77aa72/32.png) [@CharlieT](https://community.sparkfun.com/u/CharlieT)\
**Post date:** [October 26, 2026, 5:58pm UTC](https://community.sparkfun.com/t/problems-with-thing-plus-rtk-base-signals-timing-out/69835/4 "2026-10-26T17:58:54Z")

</div>

![20261026_1754531](https://canada1.discourse-cdn.com/sparkfun/original/2X/b/bd04a8271a32caaff08781ac70fed1b7a43bd66b.jpeg)

---

<div class="post-metadata">

**Author:** ![CharlieT](https://avatars.discourse-cdn.com/v4/letter/c/77aa72/32.png) [@CharlieT](https://community.sparkfun.com/u/CharlieT)\
**Post date:** [October 26, 2026, 6:17pm UTC](https://community.sparkfun.com/t/problems-with-thing-plus-rtk-base-signals-timing-out/69835/5 "2026-10-26T18:17:11Z")

</div>

![20261026_1813421](https://canada1.discourse-cdn.com/sparkfun/original/2X/3/3c985cdb31b36c6bfb88ed23b6c3f11a1deb16ea.jpeg)

---

<div class="post-metadata">

**Author:** ![sparky](https://yyz1.discourse-cdn.com/sparkfun/user_avatar/community.sparkfun.com/sparky/32/6021_2.png) [@sparky](https://community.sparkfun.com/u/sparky)\
**Post date:** [October 26, 2026, 7:44pm UTC](https://community.sparkfun.com/t/problems-with-thing-plus-rtk-base-signals-timing-out/69835/6 "2026-10-26T19:44:01Z")

</div>

> SerialMonitor is entirely as expected from the sketch, and the ‘Total sent’ message clocks up as expected also but shows RTCM timeout at 22771759 or another time at 11018710. That’s after several hours of normality…

It sounds like everything is working but something breaks the link after a few hours. The example is very simple, demonstrating just the basics. For your system to be robust, you will need to build in a retry system for when the local WiFi connection burps or when RTK2Go itself becomes unavailable (happens a fair bit).

---

<div class="post-metadata">

**Author:** ![CharlieT](https://avatars.discourse-cdn.com/v4/letter/c/77aa72/32.png) [@CharlieT](https://community.sparkfun.com/u/CharlieT)\
**Post date:** [October 26, 2026, 9:14pm UTC](https://community.sparkfun.com/t/problems-with-thing-plus-rtk-base-signals-timing-out/69835/7 "2026-10-26T21:14:26Z")

</div>

Thanks again for the response. For farm use I need the RTK to be reliable. Is there a way to re-boot the Thing from within the program? If not how will I progress this? Should I perhaps change to different hardware?

---

<div class="post-metadata">

**Author:** ![TS-Russell](https://yyz1.discourse-cdn.com/sparkfun/user_avatar/community.sparkfun.com/ts-russell/32/6092_2.png) [@TS-Russell](https://community.sparkfun.com/u/TS-Russell)\
**Post date:** [October 27, 2026, 6:25am UTC](https://community.sparkfun.com/t/problems-with-thing-plus-rtk-base-signals-timing-out/69835/8 "2026-10-27T06:25:53Z")

</div>

How are you powering each? Try powering the Thing via USB and the F9P via qwiic or UART (no USB) to see if it still drops…also, when if/when it does drop can you connect the F9P to u-center right away and see if it is still outputting messages? That might help rule a few things out.

I would also double-check the polarity of the lipo and ensure it matches the board (there are small +/- markers)

---

<div class="post-metadata">

**Author:** ![CharlieT](https://avatars.discourse-cdn.com/v4/letter/c/77aa72/32.png) [@CharlieT](https://community.sparkfun.com/u/CharlieT)\
**Post date:** [October 27, 2026, 7:31am UTC](https://community.sparkfun.com/t/problems-with-thing-plus-rtk-base-signals-timing-out/69835/9 "2026-10-27T07:31:26Z")

</div>

Hi.

I have the connections exactly as shown in the DIY RTK tutorial except the Thing is powered via the USB. The USB is connected to my laptop running Arduino IDE so I can see the output on the serial monitor. The battery connects with correct polarity but seems to stall the output so I have left it disconnected. Not much point in leaving it in as my router would pack up in the case of a power cut.

Thanks for your continued help.

---

<div class="post-metadata">

**Author:** ![PaulZC](https://yyz1.discourse-cdn.com/sparkfun/user_avatar/community.sparkfun.com/paulzc/32/67_2.png) [@PaulZC](https://community.sparkfun.com/u/PaulZC)\
**Post date:** [October 28, 2026, 3:19pm UTC](https://community.sparkfun.com/t/problems-with-thing-plus-rtk-base-signals-timing-out/69835/10 "2026-10-28T15:19:04Z")

</div>

Hi @CharlieT ,

You shouldn’t need to reboot the Thing each time the NTRIP connection drops out, but you do need a way to detect if the connection has dropped and then automatically reconnect. The following should work:

The `loop()` waits for the user to press a key and then calls `beginServing()`. `beginServing()` is the code which does all of the work, sending data to the NTRIP Server. When the connection drops, `beginServing()` exits and returns to the `loop()`. What you need is code to automatically call `beginServing()` after a suitable delay.

If you replace the `loop()`:

```auto
void loop()
{
  if (Serial.available())
    beginServing();

  Serial.println(F("Press any key to start serving"));

  delay(1000);
}

```

with:

```auto
void loop()
{
  if (Serial.available() || ((millis() - lastSentRTCM_ms) > (2 * maxTimeBeforeHangup_ms)))
    beginServing();

  Serial.println(F("Press any key to start serving"));

  delay(1000);
}

```

it will do two things: the code will automatically start serving after 20 seconds (you won’t need to press a key to start serving); and the code will automatically reconnect to the server 10 seconds after the connection is dropped. What it won’t do is automatically reconnect to WiFi if your WiFi goes down, you will still need to power-cycle or reset the Thing to recover from that.

Claude is really good at making changes like this to your code. All you need to do is point it at the folder where your Base code is saved and then tell it in plain English what changes you want it to make. It would go something like this:

```auto
Read the Arduino code in folder "C:\Users\My_User\Documents\Arduino\Example14_NTRIPServer".
Adapt the code in the loop() so that it: automatically starts serving after a 20 second start-up delay; automatically reconnects to the NTRIP server 10 seconds after the connection drops.

```

Claude will ask for write permission on your Example14\_NTRIPServer folder so it can write the changes. That’s OK. You can trust it.

If you want to automatically reconnect if your WiFi goes down, you can ask it to do that too:

```auto
Adapt the code in startup() and loop() so that the code will automatically reconnect to WiFi and the NTRIP Server if the WiFi link goes down.
Explain all of the changes you make as if you were explaining them to a novice programmer.

```

You can also ask it questions like this:

```auto
SparkFun are suggesting I change the loop() to the following. I am a novice programmer. Please explain how these changes will make the code automatically reconnect to the NTRIP Server.

void loop()
{
  if (Serial.available() || ((millis() - lastSentRTCM_ms) > (2 * maxTimeBeforeHangup_ms)))
    beginServing();

  Serial.println(F("Press any key to start serving"));

  delay(1000);
}

```

Claude is very, very good at this kind of thing…

I hope this helps,  
Paul

---

<div class="post-metadata">

**Author:** ![CharlieT](https://avatars.discourse-cdn.com/v4/letter/c/77aa72/32.png) [@CharlieT](https://community.sparkfun.com/u/CharlieT)\
**Post date:** [October 28, 2026, 8:54pm UTC](https://community.sparkfun.com/t/problems-with-thing-plus-rtk-base-signals-timing-out/69835/11 "2026-10-28T20:54:43Z")

</div>

Hi Paul,

Many thanks for the detailed reply and suggestions including Claude.

I thought to ask Claude to start from scratch and write a complete sketch and it looks good with helpful comments etc. The result is understandable even for me!

Next step is to try it - I’m a little worried about upsetting RTK2GO andgeting banned so I think I’ll disable the wifi in the sketch until I’ve got it properly tested…

Best regards, Charlie.
