HAS/E6 results on PostCard FW V3.1 with LG290P FW V2.01 [Feb 2026]

I wanted to let you know that we’re conducting research using corrections from Galileo Has online and the BNC software from the German BKG.

Honestly, I haven’t gotten the results I expected. In fact, sometimes the results have even been worse than our previous research.

Here’s another line of research:

My actual use case is very similar :smiling_face_with_sunglasses: Tiny Helical on a PostCard. NTRIP is my primary correction source, HAS is the backup.

Our Helicals might be too optimistic for HAS, we will find out.
I expect we will have to increase the Elevation Mask significantly when using Helicals, to avoid the low birds and their multi-path.

You know I’ve tried raising the mask in the past, and I don’t recall any significant improvements.
I’ll try again with larger angles, now that I’m using the latest modifications you suggested.
My default mask is 10 degrees.

Here’s a quick test of the BT-770 Antenna, 10 solutions with HAS/E6, then 10 with PointPerfect RTK (NTRIP) for a general comparison :

:blue_circle: HAS/E6 Group (Points 1–10)

Horizontal

  • Mean: 28.7 mm
  • RMS: 38.0 mm
  • Std Dev (radial): 26.3 mm

Vertical

  • Std Dev: 109.8 mm
  • Range: 334.1 mm

:green_circle: PointPerfect Group (Points 11–20)

Horizontal

  • Mean: 0.81 mm
  • RMS: 0.84 mm
  • Std Dev: 0.23 mm

Vertical

  • Std Dev: 1.94 mm
  • Range: 6.2 mm

:chart_increasing: Summary

Metric HAS (BT-770) PointPerfect (BT-770)
Horizontal RMS 38 mm 0.84 mm
Horizontal σ 26 mm 0.23 mm
Vertical σ 110 mm 1.9 mm
Vertical Range 334 mm 6 mm

I’d say the BT-770 antenna is a good candidate for HAS/E6 work. Note: This wasn’t an exhaustive test, just points collected over 1 hour for the BT-770.

It’s not really fair to compare HAS to PP RTK, but look at those sub mm results from PP :wink:

I arrived home at midday and set up the Beitian BT-770.
The convergence took between 15 and 19 minutes, or something like that.
After that, all the surveyed points fell within a 20 cm circle, with a few isolated cases where they exceeded 20 cm slightly.
The results with the Beitian BT-770 seemed much better to me than with my helical antenna.
The accuracy reported by the software is 2 cm, but the deviations reached almost 20 cm in some cases.
I should remember that it was past midday, when the atmosphere is at its worst.

Hi @rftop and everyone else.

I’m sending you a screenshot from today, March 26, 2026, at 20:20 UTC.

The results are incredibly good.

  1. Postard with beta firmware (v1107) and a Beitian BT-770 antenna

  2. Convergence in less than 15 minutes

  3. The circles are 10 cm and 20 cm in radius.

The image speaks for itself.

After redefining the masks, excluding the 20 in GPS and enabling 28 and 32 Galileo test sats and excluding the Beidu IGSOs, the difference is in the antenna capacity…worked with
$PQTMCFGCNST,W,1,0,1,1,0,0*2A no sbas elev.&cnr to 0, V.2.01
$PQTMCFGPPP,W,2,2,90,0.01,0.01*54 & (optional) $PQTMCFGGEOSEP,W,1,47.314*00
later will try with elev to 25° & cnr to 30…

For HAS/E6: Choke-Ring & “UFO” Antennas are performing much better than Helical & Patch/Puck Antennas. I guess that’s not unexpected. My Helicals and Pucks “can” produce accurate HAS/E6 positions, but they can also get it wrong fairly easily.

Antenna selection appears to be much more critical for Galileo HAS/E6 than for General RTK due to the underlying processing techniques. The error-canceling benefits of Double-Differencing in RTK enable smaller antennas to maintain a stable integer fix. However, the Zero-Difference nature of HAS/E6 leaves the solution vulnerable to uncompensated local errors, requiring superior antenna hardware to ensure an accurate PPP convergence.

Over-Simplified Summary: HAS/E6 Convergence guesses wrong less often with a good antenna verses with a small one.
I know that’s an obvious statement, but my testing shows a substantial difference in HAS verses RTK’s ability to perform with inferior antennas.

Hi everyone.
Last night I took measurements while changing antennas.
What I’ve seen these past few days I verified again. With the Beitian BT-770, I get repeatable results within 30 cm (1 foot) and sometimes much better.
For Galileo HA, we need a good antenna, and it seems to be quite consistent over time. I don’t see any unexplained jumps or shifts.
Now, with the helical antenna, I’ve gotten very good results as well as very bad ones, with unexplained position jumps, and I even stop receiving corrections from Galileo HA, and the age difference increases.
It would be interesting to try a quality helical antenna to have a practical piece of equipment for the field. That is, a pocket-sized piece of equipment that’s easy to transport.
If anyone knows of a high-quality helical antenna, please share. Would the Beitian BT-603 be better than the small helical antennas? If anyone knows of it, please comment.

As an example, I propose…

Greetings

Hi Marco (@bamarcant)
Could it be that you have a BT603 in your measurement experiments?

If you confirm, please tell me how it generally works for you.

Sure, but I’m using a clone of the BT-603 since Beitian also has the BT602 I was afraid they would get confused and I chose Starf…
I ran some more tests using the good BT-T076 and the recent STA-609 both helical (for convenience), here are the results:

And boom… SparkFun has a short and simple video explaining that process, with a good bit of extra tips.

YouTube Video

This is a great example of how HAS/E6 can be useful for a quick Base/Rover setup.

I love how @sparky kept the video short without going into a ton of boring details :slight_smile:
I’d like to add a couple comments for consideration - for a similar situation:

  • Users can chisel an “X” in the concrete sidewalk, install the Base over the “X” in the concrete (or any permanent mark that’s easy to setup on). Publish the HAS/E6 PPP solution used by the temporary base (X,Y,Z), along with the reference frame, epoch date, etc. This is Control Point #1.
  • create another similar “X” within the line-of-sight as Control Point #2, that could be used as a traditional backsight for conventional surveying, or a simple “Check-Point”. We would collect this Control Point #2 as a RTK position after the Base is operating.

Doing this will “future proof” your work. Any time in the future, the RTK positions could be updated, transformed into another system, etc.
IE: a few months later you might decide to perform a 24-hour PPP static mission for the Base Location to fine-tune the elevations on the site. It’s easy to shift all the previous RTK points (from a HAS base solution) after you have more accurate Base coordinates for the chiseled “X”, as they all move by the same 3D Vector (+/- X,Y,Z).

Summary: I think it’s worth creating a permanent mark anytime you setup a base, even if you think it’s temporary. Always create and capture a 2’nd control point. Finally, try to keep the Base metadata with your positions. These simple steps only take a few minutes, and can be a huge help in the future. It’s cheap insurance to protect your investment of time in the fieldwork.

Once again, outstanding job on the Video SparkFun!
Using HAS/E6 for survey-in (and ESP-Now for small/medium sized sites) seems to provide real-world benefits and not just marketing hype. I like where this is headed.

I am glad you liked the video! A big thank you @bamarcant for the idea!

I figure this a good thread to report a recent test.

TLDR: The Base Assist Mode is a NICE feature, and works well with a HAS/E6 corrected Base if you don’t have a NTRIP source available. I’m also impressed with the simplicity of using the ESP-NOW radios with Sparkfun RTK devices for local Base/Rover.


I wanted to test a PostCard & HAS/E6 with the “new” Base Assist Mode.

For reference, this is the documentation I found, but there may be more:

and

I started with a Factory Reset on the PostCard, on V3.3 FW. I let the PostCard cook in Rover mode using HAS/E6 for ~30 minutes on a tripod and 2M pole. The reported Rover Accuracy was eventually 0.050m (RTK Float) with a mini choke ring antenna.

With a Bluetooth serial terminal, I switched the PostCard to operate in Base Mode using Base Assist. I use a wireless serial terminal to not monkey with the USB-C, the PostCard’s power source.

I watched the terminal and copied the coordinates it used for the Fixed Base Position (it’s HAS solution), to compare later.

This PostCard (now a Base, using it’s HAS/E6 Position) started transmitting RTCM corrections to another PostCard Rover using their ESP-NOW radios.
The Rover performed as expected with RTK Fixed solutions.

Now the interesting part:
Later I used PointPerfect Flex RTCM to determine the coordinates of the choke ring antenna and compared that to the HAS/E6 position that Survey-In captured in Base Assist.

The 30-minute HAS/E6 solution used by the Base Assist Mode was fairly close to the PointPerfect solution :

HAS vs PP (truth) Measurement (cm)
North Displacement -3.40 cm
East Displacement 4.09 cm
UP Displacement (Vertical) -13.55 cm
Total 3D Distance 14.56 cm

Horizontal Only - we could call this a ~5cm accurate Base Position from HAS/E6
3D - we can say it easily falls within the 20cm “published” expectation for HAS/E6 in the USA.

The table above includes the differences in the reference frames from the 2 correction sources. Google says GTRF and ITRF are considered interchangeable, but Google also says there can be up to a 3cm difference between these reference frames. A measured horizonal accuracy of 5cm for HAS isn’t bad when you consider the possibility of up to 3cm of error between the reference frames that we are comparing. But to be completely fair and unbiased - that could also mean 5cm + 3cm => 8cm Horizonal :face_with_raised_eyebrow: . Either way, it’s still a great result for a free & over-the-air correction source.

Note: The table above was with a PostCard on RTK Everywhere V3.3.

I also used the custom config script with QGNSS on a LG290P breakout, for better vertical results after 30 minutes of convergence.

Custom HAS vs PP Measurement (cm)
North Displacement 2.11 cm
East Displacement 5.83 cm
UP Displacement (Vertical) 0.20 cm
Total 3D Distance 6.20 cm

The same script can be used on a Postcard, but you need to change the baudrate in QGNSS to 230400 when connecting to “Serial B”.

All Tests were performed during “good” local atmospheric conditions this morning.

@sparky and @PaulZC , Quick discussion about Base Mode in the HAS/E6 context.

I’m thinking about a “no-touch” PostCard Base for HAS/E6.
Power it up, and it collects HAS for 30 minutes (survey-in) and then begins Base Operations. No buttons or config needed (after the initial setup).

We are currently limited 10 minutes in the FW.

With all my HAS testing, I trust the Occupation Time (I’m loving 30-min) more than the “required accuracy” from the $PQTMCFGPPP command. We need ~20 minutes for HAS, and the extra 10 is well worth it in my experience for vertical.

Unless I’m missing something, this feels like an easy Base Solution that could automatically serve ESP-NOW corrections to Rovers (PostCards, TX2, Torch, etc) without touching anything?

I did notice the Age of corrections on the Rover started to increase and become unstable when I had the Android Tablet (SPP/Bluetooth Classic) connected to the Base to make config changes during testing. That PostCard Base was sending Corrections to RTK2Go over WiFi while also serving a local rover on ESP-NOW.

I decided to actually read the docs (here and here) and I learned a lot :

  • When using ESP-NOW, BLE is preferred. Not a problem for normal work and many data collector apps.
  • ESP-NOW is also available on the “older” RTK hardware (Surveyor, Express, Express Plus, Facet, Facet L-Band, etc).
  • ESP-NOW also works with a 1-to-many relationship, allowing multiple rovers to be served by 1 local base.
  • By pre-pairing all our RTK devices to a “No-Touch” PostCard Base (for example), we could move straight into a HAS/E6 Survey-In Base Mission when the need arises (no Cellular Coverage). I’m not sure of the limit on pre-paired radios for the Base however.
  • Note: The 2’nd link says pairing isn’t required, but I have not confirmed if that is still the case. Since the Default is the ESP-NOW radio is turned off, we still need to enter the config menu one time on each device we own, and leave the radio ON.

“Expected” Real-World use: If I ever find a location that Cellular NTRIP wont work, I’ll be ready with a No-Touch PostCard to set on top of a fence, etc, and get the work completed without fuss. I won’t need to dig into the configuration on any SparkFun RTK device that I’ve pre-paired the ESP-Now radios to the temporary PostCard Base (assumes pairing is required). The dedicated PostCard Base already knows to start the HAS/PPP convergence for Survey-In as soon as it gets power. That’s a very inexpensive backup plan, and not the end-of-the-world if someone steals the temporary PostCard Base :smiling_face_with_sunglasses:

Another use-case that’s more likely for me is Marginal Cellular Coverage. The cheap PostCard base could still use NTRIP (PointPerfect Flex) with the new Assisted Base Survey-In. The PostCard Base then has a PP fixed position solution and can broadcast it’s own correction/observations with ESP-Now to a Rover that’s having trouble maintaining a constant Cellular connection. It feels like that’s worth having a dedicated postcard in the toolbox.

Thanks, Marco.

I thought it was just the online distribution.
If someone was saving data from yesterday, there’s a gap.

Regards

What an amazing review! Thank you rftop. Yep, The ESP-NOW range is limited, but is very handy when the situation arises.

Pairing is handy if you have multiple ‘pairs’ operating in the same area, but 98% of the time, users can just turn on ESP-NOW on both the rover and base, and they’ll start communicating (sans pairing).

Thanks @sparky ,
I’m still learning tips and tricks with ESP-NOW to maximize range and reliability.

Quick Question: Google seems to think pairing is optimal (verses 1-to-many Broadcast Override). Pairing allows the base’s radio to monitor the link and switch to the 256 Kbps Long Range Mode when necessary.

Since range testing is an exhaustive process and extremely time consuming, I’d love some feedback on the following to maybe shorten the list for proposed settings in a BASE using ESP-NOW:

  1. Pair the radios to allow the longest range mode, 256 Kbps when conditions require it.
  2. Use Wi-Fi channel 11 in the USA.
  3. Turn off Bluetooth on the Base to free up the radio.
  4. Stick to MSM4 Messages, but offset the transmission intervals using Prime Numbers (GPS gets 1Hz). This one is optional.
  5. Turn OFF all NMEA on the Base. NMEA serves no purpose for a Base.
  6. Increase the Elevation Mask and C/N₀ Mask to eliminate unhelpful satellites and their ESP-NOW packets.
  7. Should anything else make the proposed list to maximize ESP-NOW range and reliability ?

The Application (no cellular service) :
HAS/E6 is growing on me, but still has it’s limitations, since there is no “easy” way to feel comfortable with the accuracy of a Position produced by HAS/E6.

Using a StarLink Mini for $10/month works great to receive PointPerfect Corrections, but the StarLink Mini’s WiFi range is limited. We can turn the SL Mini’s Router OFF and add an external Outdoor WiFI Router to increase the range - but the SL Mini is already power hungry and doing this is only marginally better than ESP-Now range. The SL Mini is extremely useful, but it can get frustrating with disconnects during RTK work.

Proposed Solution: The SL Mini is only needed for a few minutes of runtime, to boot and provide PointPerfect Corrections to the Base. A PostCard uses the Assisted Base function to establish a PointPerfect Solution quickly, then turn off the StarLink Mini. The PostCard now serves it’s Paired Rover(s) via ESP-NOW with a decent footprint in a “Cellular Dead” Area. We get to park the PostCard Base in the best spot for clean sky, and can trust the RTK work since it’s anchored with a PointPerfect Base Solution.

This feels like a good reason to use RTK Everywhere’s Built-in NTRIP Client on the dedicated PostCard Base. The Base will have the StarLink Mini’s WiFi creds saved, and the PP NTRIP creds. To start a mission in an area without Cellular Coverage (a new base location)… I think we just need to start the PostCard in Rover mode with the portability shield. It should find the StarLink and connect to PointPerfect NTRIP automatically (no data collector needed). As soon as the PostCard has a PP RTK fixed position shown on the OLED screen, switch to Assisted Base with the shield’s button, and turn off the Starlink Mini. Am I missing anything important ?