diff --git a/docs/accuracy_verification.md b/docs/accuracy_verification.md
index 5112b33e0..4f7ab9326 100644
--- a/docs/accuracy_verification.md
+++ b/docs/accuracy_verification.md
@@ -8,7 +8,7 @@ Surveyor:  / Express: ![Feature Supported]
You’ve got an incredibly powerful GNSS receiver in your hands. How do you verify that you can get really accurate location readings? It's a bit of work but it's a lot of fun and you'll learn a tremendous amount about surveying along the way.
-This is, admitedly, a very US-centric tutorial. We hope that it will provide some of the tools and basic guidance to be replicated in other countries. If you have additional sources for GPS/GNSS surveyed monuments in your own country, consider [adding them](/contribute) to this document!
+This is, admittedly, a very US-centric tutorial. We hope that it will provide some of the tools and basic guidance to be replicated in other countries. If you have additional sources for GPS/GNSS surveyed monuments in your own country, consider [adding them](/contribute) to this document!
This is a replication and confirmation of the procedure done by [RTKLibExplorer in 2018](https://rtklibexplorer.wordpress.com/2018/03/17/measuring-a-survey-marker-with-the-datagnss-d302-rtk/). We modified it to demonstrate a similar process but using u-blox hardware and with a few updates.
@@ -25,7 +25,7 @@ The process goes like this:
*RTK Fix Mode*
-Before we can consider doing anything in the field, we need to get really comfortable using the RTK product. Verify you can get your device into RTK Fix mode. This includes setting up a permanent base and/or using a service like Skylark to provide the correction data to the RTK product. Before planning a trip to the field get really used to using the RTK product in Rover mode with NTRIP corrections being passed over Bluetooth to your device.
+Before we can consider doing anything in the field, we need to get really comfortable using the RTK product. Verify you can get your device into RTK Fix mode. This includes setting up a permanent base and/or using a service like Skylark to provide the correction data to the RTK product. Before planning a trip to the field get used to using the RTK product in Rover mode with NTRIP corrections being passed over Bluetooth to your device.
## Locate GPS Monument
@@ -59,7 +59,7 @@ Find a GPS monument that is easiest for you to get to, click on it, and open the
*Position in both NAD83 and ECEF*
-My respect for the surveying industry grows daily, but that doesn't mean they are free from competing and confusing standards. What you need to know is that the SparkFun RTK product line outputs coordinates in the **WGS84** coordinate system by default and can output **ECEF** as well. Most of the coordinates by the NGS are **NAD83** which has about 1.5 meter difference from the WGS84 coordinate system. No big deal for general mapping but it'll throw a wrench in your testing if you're not careful.
+My respect for the surveying industry grows daily, but that doesn't mean they are free from competing and confusing standards. What you need to know is that the SparkFun RTK product line outputs coordinates in the **WGS84** coordinate system by default and can output **ECEF** as well. Most of the coordinates by the NGS are **NAD83** which has about a 1.5-meter difference from the WGS84 coordinate system. No big deal for general mapping but it'll throw a wrench in your testing if you're not careful.
The SparkFun example monument is at:
@@ -81,13 +81,13 @@ The earth is not static and the tectonic plates have this [annoying habit of mov
*Plate tectonic time machine*
-Thankfully the NGS has a tool called the [**Horizontal Time-Dependent Positioning**](https://www.ngs.noaa.gov/cgi-bin/HTDP/htdp.prl?f1=4&f2=1). This allows both the conversion between coordinate system, and adjusting a given location to a given start and end time. Use the tool to convert the NAD83 coordinates of your monument from the time they were taken (June 27, of 2012 in our example) to WGS84(G2139) coordinates in today's date. If you convert the location for your monument on a Tuesday and visit it 5 days later, the coordinates should still be perfectly fine. This tool is needed both for the coordinate change (NAD83 to WGS84) and for long (months or years) periods of time between when the monument was surveyed.
+Thankfully the NGS has a tool called [**Horizontal Time-Dependent Positioning**](https://www.ngs.noaa.gov/cgi-bin/HTDP/htdp.prl?f1=4&f2=1). This allows both the conversion between coordinate systems and adjusting a given location to a given start and end time. Use the tool to convert the NAD83 coordinates of your monument from the time they were taken (June 27, 2012, in our example) to WGS84(G2139) coordinates on today's date. If you convert the location for your monument on a Tuesday and visit it 5 days later, the coordinates should still be perfectly fine. This tool is needed both for the coordinate change (NAD83 to WGS84) and for long (months or years) periods between when the monument was surveyed.

*Monument converted to WGS84 corrected to 2022*
-Once we enter all the pertinent data, we receive a nice output showing us our modern day WGS84 coordinates! Also note the X/Y/Z ECEF coordinates.
+Once we enter all the pertinent data, we receive a nice output showing us our modern-day WGS84 coordinates! Also, note the X/Y/Z ECEF coordinates.
The SparkFun example monument is at:
@@ -115,7 +115,7 @@ The SparkFun example monument is at:
* Longitude: -105.15048340 (WGS84 in 2022)
* Elliptical Height: 1613.737 meters (WGS84 in 2022)
-These are the coordinates we hope to see using SW Maps once we get out into the field. Write down your monument coordinates so that you have some idea of how close your unit is to the ideal in real time.
+These are the coordinates we hope to see using SW Maps once we get out into the field. Write down your monument coordinates so that you have some idea of how close your unit is to the ideal in real-time.
## Field Trip!
@@ -125,15 +125,15 @@ These are the coordinates we hope to see using SW Maps once we get out into the
Not a bad view!
-You will need to decide how cheap you want your setup to be. I went too cheap; my tripod doesn’t have a hook on the bottom so the string with a bolt (I didn’t even have a plumb bob) to center above the marker was not really center to the Facet. The height measurement from the mark to the ARP (bottom of the Facet) was done with a tape measure, in other words, not very accurate. But *it works*!
+You will need to decide how cheap you want your setup to be. I went too cheap; my tripod doesn’t have a hook on the bottom so the string with a bolt (I didn’t even have a plumb bob) to center above the marker was not central to the Facet. The height measurement from the mark to the ARP (bottom of the Facet) was done with a tape measure, in other words, not very accurate. But *it works*!
-Find the monument and locate your Facet (or RTK Surveyor, Express, Express Plus, Facet L-Band, etc) over the monument. Using a tape measure or other tool, measure the distance from the top of the monument to the bottom of the Facet. In this example it was 45 ¾” or 1162mm. Obviously milimeters matter here but don't let 'perfection' be the enemy of 'done'.
+Find the monument and locate your Facet (or RTK Surveyor, Express, Express Plus, Facet L-Band, etc) over the monument. Using a tape measure or other tool, measure the distance from the top of the monument to the bottom of the Facet. In this example, it was 45 ¾” or 1162mm. Obviously, millimeters matter here but don't let 'perfection' be the enemy of 'done'.

*L-Band Facet ARP*
-Locate the ARP of your given RTK product ([53mm](https://geodesy.noaa.gov/ANTCAL/LoadFile?file=SFETOP106_NONE.atx) for units using the TOP106 Antenna, [61mm](https://learn.sparkfun.com/tutorials/sparkfun-rtk-facet-hookup-guide/all#hardware-assembly) for Facet, [69mm](https://learn.sparkfun.com/tutorials/sparkfun-rtk-facet-l-band-hookup-guide/all) for Facet L-Band). Add your ARP to the height above the monument you measured previously. In this example 1416 + 69 = 1.485m. Enter that total height into SW Maps as the ‘Instrument Height’. This will allow the software to subtract the antenna location height from the current 3D location to gain the location of the point where the plumbob (or bolt) below your apparatus is located.
+Locate the ARP of your given RTK product ([53mm](https://geodesy.noaa.gov/ANTCAL/LoadFile?file=SFETOP106_NONE.atx) for units using the TOP106 Antenna, [61mm](https://learn.sparkfun.com/tutorials/sparkfun-rtk-facet-hookup-guide/all#hardware-assembly) for Facet, [69mm](https://learn.sparkfun.com/tutorials/sparkfun-rtk-facet-l-band-hookup-guide/all) for Facet L-Band). Add your ARP to the height above the monument you measured previously. In this example 1416 + 69 = 1.485m. Enter that total height into SW Maps as the ‘Instrument Height’. This will allow the software to subtract the antenna location height from the current 3D location to gain the location of the point where the plumb bob (or bolt) below your apparatus is located.
With your instrument height determined, connect to the RTK product, begin sending RTCM corrections (either over NTRIP or radio link) and enter RTK Fix.
@@ -145,19 +145,19 @@ With your instrument height determined, connect to the RTK product, begin sendin
We can see the approximate location of the monument in the above location.
-
+
-*Screen shot of a point in time*
+*Screenshot of a point in time*
Note the 8 decimal places on the Lat/Long.
-Screenshots are an easy way to record lat/long/alt but SW Maps (and other GIS software) allows the averaging of a position. Choose your own adventure. For our example, we took screenshots / snapshots of the location. Some surveyors hold a position for multiple minutes to get a point; we can do the same in under a second.
+Screenshots are an easy way to record lat/long/alt but SW Maps (and other GIS software) allows the averaging of a position. Choose your own adventure. For our example, we took screenshots/snapshots of the location. Some surveyors hold a position for multiple minutes to get a point; we can do the same in under a second.
-
+
-*Comparsion of three RTK correction sources*
+*Comparison of three RTK correction sources*
-Off the shelf we regularly see 300 down to 150mm horizontal positional accuracy using any RTK product with a good L1/L2 antenna. This is shown in the picture above as the circle with 'No Corrections'.
+Off the shelf, we regularly see 300 down to 150mm horizontal positional accuracy using any RTK product with a good L1/L2 antenna. This is shown in the picture above as the circle with 'No Corrections'.
With corrections turned on, the benefit of an RTK fix is obvious. The two surveyed points overlap each other so closely they are nearly indistinguishable. The SparkFun base station is documented [here](https://learn.sparkfun.com/tutorials/how-to-build-a-diy-gnss-reference-station) and has a location accuracy of approximately 8.4mm. Using a base station is more accurate (as we will see) but L-Band corrections will also get you *incredibly* similar accuracy with a lot less hassle.
@@ -177,23 +177,23 @@ We’ve established the monument’s location, we’ve captured the location of
*Convert LLA to ECEF*
-Enter your lat, long, and altitude coordinates into a LLA to ECEF converter. We found the [Sysense calculator](http://www.sysense.com/products/ecef_lla_converter/index.html) to work very well. How do we know it’s accurate? Take the [original coordinates](img/VerifyAccuracy/SparkFun%20Verify%20RTK%20-%2013%20Datasheet%20for%20Monument.jpg) from the NGS Datasheet, and use the calculator to convert to ECEF. They are identical.
+Enter your lat, long, and altitude coordinates into an LLA to ECEF converter. We found the [Sysense calculator](http://www.sysense.com/products/ecef_lla_converter/index.html) to work very well. How do we know it’s accurate? Take the [original coordinates](img/VerifyAccuracy/SparkFun%20Verify%20RTK%20-%2013%20Datasheet%20for%20Monument.jpg) from the NGS Datasheet, and use the calculator to convert them to ECEF. They are identical.

*ECEF difference between monument and readings*
-Feel free to look at and make a copy of the [SparkFun example](https://docs.google.com/spreadsheets/d/1uEGnceLoAVwG3xnyWp8XTN8BBa__z4pg0l7IQRBcj8c/edit?usp=sharing) spreadsheet. ECEF is a wonderfully simplistic frame of reference; the comparison between two points is simply X/Y/Z in meters. We can use the Pythagorean theorem to calculate the 3D variance. In our example it is 52mm using corrections from a fixed based, and 189mm for an L-Band corrected base.
+Feel free to look at and make a copy of the [SparkFun example](https://docs.google.com/spreadsheets/d/1uEGnceLoAVwG3xnyWp8XTN8BBa__z4pg0l7IQRBcj8c/edit?usp=sharing) spreadsheet. ECEF is a wonderfully simplistic frame of reference; the comparison between two points is simply X/Y/Z in meters. We can use the Pythagorean theorem to calculate the 3D variance. In our example, it is 52mm using corrections from a fixed base, and 189mm for an L-Band corrected base.
-52mm off a professional mark is a clear indicator we are *very close* to the limit of our equipment. The sheer amount of geoscience, coordinate math, and relativistic phsyics that very smart people have contributed to enable any part of this experiment is awe inspiring. It gave me great satisfaction and reassurance that our base at SparkFun HQ is setup well, and that, in the hands of a professional, the RTK product line is quite capable of providing *very* accurate readings.
+52mm off a professional mark is a clear indicator we are *very close* to the limit of our equipment. The sheer amount of geoscience, coordinate math, and relativistic physics that very smart people have contributed to enable any part of this experiment is awe-inspiring. It gave me great satisfaction and reassurance that our base at SparkFun HQ is set up well, and that, in the hands of a professional, the RTK product line is quite capable of providing *very* accurate readings.
## How do I get 14mm?!
-* Use the best equipment. Our mechanical setup was rickety and cheap. Use a surveyor’s bi-pod setup, with a bubble level, and a prism pole to accurately level the RTK receiver and measure the distance to the monument.
+* Use the best equipment. Our mechanical setup was rickety and cheap. Use a surveyor’s bipod setup, with a bubble level, and a prism pole to accurately level the RTK receiver and measure the distance to the monument.
* Use an antenna that is NGS calibrated to obtain accurate ARPs. The [SparkFun TOP106 antenna](https://www.sparkfun.com/products/17751) has been calibrated and we are in the process of calibrating the RTK Facet and RTK Facet L-Band.
* Use an accurate base. A temporary or ‘survey-in’ base will not be accurate. The base needs 24 hours of logging with a [PPP analysis](https://learn.sparkfun.com/tutorials/how-to-build-a-diy-gnss-reference-station/all#gather-raw-gnss-data).
* Be within 10km of your base. A baseline that is more than 10km will introduce inaccuracies to the RTK fix readings.
* Correction services are not as accurate as a fixed base. While services such as Skylark and PointPerfect are *convenient*, they use models to estimate the overall isotropic disturbance. A local, fixed base will outperform a correction service.
-* Take an average of points. All the points taken in this example were single snapshots. Average a few seconds worth of readings.
+* Take an average of points. All the points taken in this example were single snapshots. Average a few seconds' worth of readings.
This was a lot of fun and a good excuse to get outdoors. We hope you enjoy finding some new points in your world.
diff --git a/docs/configure_base.md b/docs/configure_base.md
index 601684d91..eefc8ef14 100644
--- a/docs/configure_base.md
+++ b/docs/configure_base.md
@@ -2,13 +2,13 @@
Surveyor:  / Express:  / Express Plus:  / Facet:  / Facet L-Band: 
-**Note:** The RTK Express Plus does not support Base mode. The Express Press contains an internal IMU and additional algorithms to support high precision location fixes using dead reckoning.
+**Note:** The RTK Express Plus does not support Base mode. The Express Plus contains an internal IMU and additional algorithms to support high-precision location fixes using dead reckoning.
**Note:** The RTK Facet L-Band is designed to use corrections provided via u-blox's PointPerfect system therefore, a Base/Rover setup is not needed. However, if the service is not available the RTK Facet L-Band can still be used in a traditional Base/Rover setup. Here we’ll describe how to assemble a Rover and Base.
-In addition to providing accurate local location fixes, the SparkFun RTK devices can also serve as a correction source, also called a *Base*. The Base doesn't move and 'knows' where it is so it can calculate the discrepancies between the signals it is receiving and what it should be receiving. Said differently, the 'Base' is told where it is, and that it's not moving. If the GPS signals say otherwise, the Base knows there was a disturbance in the ~~Force~~ ionosphere. These differences are the correction values passed to the Rover so that the Rover can have millimeter level accuracy.
+In addition to providing accurate local location fixes, the SparkFun RTK devices can also serve as a correction source, also called a *Base*. The Base doesn't move and 'knows' where it is so it can calculate the discrepancies between the signals it is receiving and what it should be receiving. Said differently, the 'Base' is told where it is, and that it's not moving. If the GPS signals say otherwise, the Base knows there was a disturbance in the ~~Force~~ ionosphere. These differences are the correction values passed to the Rover so that the Rover can have millimeter-level accuracy.
-There are two types of bases: *Surveyed* and *Fixed*. A surveyed base is often a temporary base setup in the field. Called a 'Survey-In', this is less accurate but requires only 60 seconds to complete. The 'Fixed' base is much more accurate but the precise location at which the antenna is located must be known. A fixed base is often a structure with an antenna bolted to the side. Raw satellite signals are gathered for a few hours then processed using Precision Point Position. We have a variety of tutorials that go into depth on these subjects but all you need to know is that the RTK Facet supports both Survey-In and Fixed Base techniques.
+There are two types of bases: *Surveyed* and *Fixed*. A surveyed base is often a temporary base set up in the field. Called a 'Survey-In', this is less accurate but requires only 60 seconds to complete. The 'Fixed' base is much more accurate but the precise location at which the antenna is located must be known. A fixed base is often a structure with an antenna bolted to the side. Raw satellite signals are gathered for a few hours and then processed using Precision Point Position. We have a variety of tutorials that go into depth on these subjects but all you need to know is that the RTK Facet supports both Survey-In and Fixed Base techniques.
Please see the following tutorials for more information:
@@ -34,15 +34,15 @@ The Base Menu allows the user to select between Survey-In or Fixed Base setups.
*Controlling the type of Base from WiFi AP Config*
-[](https://cdn.sparkfun.com/assets/learn_tutorials/1/8/5/7/SparkFun_RTK_Express_-_Base_Menu.jpg)
+[](https://cdn.sparkfun.com/assets/learn_tutorials/1/8/5/7/SparkFun_RTK_Express_-_Base_Menu.jpg)
*Base Menu Options*
## Mode
-In **Survey-In** mode, the minimum observation time and Mean 3D Standard Deviation can be set. The defaults are 60s and 5m as directed by u-blox. The device will wait for the position accuracy to be better than 1 meter before a Survey-In is started. Don't be fooled; setting the observation time to 4 hours or an initial positional accuracy of 0.3m is not going to significantly improve the accuracy of the survey - use [PPP](https://learn.sparkfun.com/tutorials/how-to-build-a-diy-gnss-reference-station#gather-raw-gnss-data) instead.
+In **Survey-In** mode, the minimum observation time and Mean 3D Standard Deviation can be set. The defaults are 60 seconds and 5 meters as directed by u-blox. The device will wait for the position accuracy to be better than 1 meter before a Survey-In is started. Don't be fooled; setting the observation time to 4 hours or an initial positional accuracy of 0.3m is not going to significantly improve the accuracy of the survey - use [PPP](https://learn.sparkfun.com/tutorials/how-to-build-a-diy-gnss-reference-station#gather-raw-gnss-data) instead.
-In **Fixed** mode, the coordinates of the antenna need to be sent. These can be entered in ECEF or Geographic coordinates. Whenever a user enters Base mode by pressing the SETUP button the GNSS receiver will immediately go into base mode with these coordinates and immediately begin outputting RTCM correction data.
+In **Fixed** mode, the coordinates of the antenna need to be sent. These can be entered in ECEF or Geographic coordinates. Whenever a user enters Base mode by pressing the SETUP button the GNSS receiver will immediately go into Base mode with these coordinates and immediately begin outputting RTCM correction data.
[](https://cdn.sparkfun.com/assets/learn_tutorials/1/8/5/7/SparkFun_RTK_Express_-_Display_-_Survey-In.jpg)
@@ -54,7 +54,7 @@ Once the device has been configured, pressing the Setup button will change the d
*RTK Facet in Fixed Transmit Mode*
-Once the *survey-in* is complete the device enters RTCM Transmit mode. The number of RTCM transmissions is displayed. By default this is one per second. During this phase the ZED-F9P is outputting the RTCM corrections out the **RADIO** port. Attaching an external serial radio to this port will allow the Base to send corrections to any Rover.
+Once the *survey-in* is complete the device enters RTCM Transmit mode. The number of RTCM transmissions is displayed. By default, this is one per second. During this phase, the ZED-F9P is outputting the RTCM corrections out of the **RADIO** port. Attaching an external serial radio to this port will allow the Base to send corrections to any Rover.
The *Fixed Base* mode is similar but uses a structure icon (shown above) to indicate a fixed base.
@@ -72,7 +72,7 @@ Enabling NTRIP will present a handful of new options seen below:
*Settings for the NTRIP Server*
-This is a powerful feature of the RTK line of products. The RTK device can be configured to transmit its RTCM directly over WiFi to the user's mountpoint. This eliminates the need for a radio link.
+This is a powerful feature of the RTK line of products. The RTK device can be configured to transmit its RTCM directly over WiFi to the user's mount point. This eliminates the need for a radio link.
Once the NTRIP server is enabled you will need a handful of credentials:
@@ -100,4 +100,4 @@ Note: During NTRIP transmission WiFi is turned on and Bluetooth is turned off. Y
## L-Band Assisted Base
-The RTK Facet L-Band can be setup as a relay: the L-Band device can be located in a good reception area, and then transmit very accurate corrections to a rover via Radio or internet link. To setup an assisted base, set up RTK Facet L-Band unit with a clear view of the sky, and let it obtain RTK Fix from a fixed position in *Rover* mode. Once RTK fix is achieved, change the device to temporary *Base* mode. The device will take 60 seconds of positional readings, at which point the fixed position will be set using RTK fixed coordinates. The RTK Facet L-Band will then output very accurate RTCM corrections that can relayed to a rover that is in a less optimal reception setting.
+The RTK Facet L-Band can be set up as a relay: the L-Band device can be located in a good reception area, and then transmit very accurate corrections to a rover via Radio or internet link. To set up an assisted base, set up an RTK Facet L-Band unit with a clear view of the sky, and let it obtain RTK Fix from a fixed position in *Rover* mode. Once an RTK fix is achieved, change the device to temporary *Base* mode. The device will take 60 seconds of positional readings, at which point the fixed position will be set using RTK fixed coordinates. The RTK Facet L-Band will then output very accurate RTCM corrections that can be relayed to a rover that is in a less optimal reception setting.
diff --git a/docs/configure_data_logging.md b/docs/configure_data_logging.md
index b566f4988..c86fe8492 100644
--- a/docs/configure_data_logging.md
+++ b/docs/configure_data_logging.md
@@ -16,7 +16,7 @@ If a microSD card is detected, all messages will be logged.
### Max Log Time
-Once the max log time is achieved, logging will cease. This is useful for limiting long term, overnight, static surveys to a certain length of time. Default: 1440 minutes (24 hours). Limit: 1 to 2880 minutes.
+Once the max log time is achieved, logging will cease. This is useful for limiting long-term, overnight, static surveys to a certain length of time. Default: 1440 minutes (24 hours). Limit: 1 to 2880 minutes.
### Max Log Length
@@ -32,7 +32,7 @@ Various stats for the SD card are shown.
### Update Firmware
-New firmware may be uploaded via WiFi to the unit. See [Updateing Firmware from the SD Card](https://sparkfun.github.io/SparkFun_RTK_Firmware/firmware_update/#updating-firmware-from-the-sd-card) for more information.
+New firmware may be uploaded via WiFi to the unit. See [Updating Firmware from the SD Card](https://sparkfun.github.io/SparkFun_RTK_Firmware/firmware_update/#updating-firmware-from-the-sd-card) for more information.
### Reset Counter
@@ -51,4 +51,4 @@ From the Main Menu, pressing 5 will enter the Logging Menu. This menu will repor
* Option 3 allows a user to set the max logging length in minutes. Every 'max long length' amount of time the current log will be closed and a new log will be started. This is known as cyclic logging and is convenient on *very* long surveys (ie, months or years) to prevent logs from getting too unwieldy and helps limit the risk of log corruption. This will continue until the unit is powered down or the *max logging time* is reached.
* Option 4 will enable/disable creating a comma separated file (Marks_date.csv) that is written each time the mark state is selected with the setup button on the RTK Surveyor, RTK Express or RTK Express Plus, or the power button on the RTK Facet.
-**Note:** If you are wanting to log RAWX sentences to create RINEX files useful for post processing the position of the receiver please see the GNSS Configuration Menu. For more information on how to use a RAWX GNSS log to get higher accuracy base location please see the [How to Build a DIY GNSS Reference Station](https://learn.sparkfun.com/tutorials/how-to-build-a-diy-gnss-reference-station#gather-raw-gnss-data) tutorial.
+**Note:** If you are wanting to log RAWX sentences to create RINEX files useful for post-processing the position of the receiver please see the GNSS Configuration Menu. For more information on how to use a RAWX GNSS log to get a higher accuracy base location please see the [How to Build a DIY GNSS Reference Station](https://learn.sparkfun.com/tutorials/how-to-build-a-diy-gnss-reference-station#gather-raw-gnss-data) tutorial.
diff --git a/docs/configure_gnss.md b/docs/configure_gnss.md
index 017d0cdb5..fb0546b22 100644
--- a/docs/configure_gnss.md
+++ b/docs/configure_gnss.md
@@ -22,11 +22,11 @@ Measurement Frequency can be set by either Hz or by seconds between measurements

-Note: When in **Base** mode, measurement frequency is set to 1Hz. This is because RTK transmission does not benefit from faster updates, nor does logging of RAWX for PPP.
+Note: When in **Base** mode, the measurement frequency is set to 1Hz. This is because RTK transmission does not benefit from faster updates, nor does logging of RAWX for PPP.
## Dynamic Model
-The Dynamic Model can be changed but it is recommended to leave as *Portable*. For more information, please refer to the [ZED-F9P Integration Manual](https://cdn.sparkfun.com/assets/learn_tutorials/1/8/5/7/ZED-F9P_IntegrationManual__UBX-18010802_.pdf).
+The Dynamic Model can be changed but it is recommended to leave it as *Portable*. For more information, please refer to the [ZED-F9P Integration Manual](https://cdn.sparkfun.com/assets/learn_tutorials/1/8/5/7/ZED-F9P_IntegrationManual__UBX-18010802_.pdf).
## Constellations Menu
@@ -34,7 +34,7 @@ The Dynamic Model can be changed but it is recommended to leave as *Portable*. F
*Enable or disable the constellations used for fixes*
-The ZED-F9P is capable of tracking 184 channels across four constellations and two bands (L1/L2) including GPS (USA), Galileo (EU), BeiDou (China), and GLONASS (Russia). SBAS (satellite-based augmentation system) is also supported. By fault, all constellations are used. Some users may want to study, log, or monitor a subset. Disabling a constellation will cause the ZED to ignore those signals when calculating a location fix.
+The ZED-F9P is capable of tracking 184 channels across four constellations and two bands (L1/L2) including GPS (USA), Galileo (EU), BeiDou (China), and GLONASS (Russia). SBAS (satellite-based augmentation system) is also supported. By default, all constellations are used. Some users may want to study, log, or monitor a subset. Disabling a constellation will cause the ZED to ignore those signals when calculating a location fix.
## NTRIP Client
@@ -54,7 +54,7 @@ Once the NTRIP Client is enabled you will need a handful of credentials:
* A casting service and port such as [RTK2Go](http://rtk2go.com/) or [Emlid](https://emlid.com/ntrip-caster/) (the port is almost always 2101)
* A mount point and password
-With these credentials set, RTK device will attempt to connect to WiFi, then connect to your caster of choice, and then begin downloading the RTCM data over WiFi. We tried to make it as easy as possible. Every second a few hundred bytes, up to ~2k, will be downloaded from the mount point you've entered. Remember, the rover must be in WiFi range to connect in this mode.
+With these credentials set, the RTK device will attempt to connect to WiFi, then connect to your caster of choice, and then begin downloading the RTCM data over WiFi. We tried to make it as easy as possible. Every second a few hundred bytes, up to ~2k, will be downloaded from the mount point you've entered. Remember, the rover must be in WiFi range to connect in this mode.
[](https://cdn.sparkfun.com/assets/learn_tutorials/2/1/8/8/SparkFun_RTK_Rover_NTRIP_Client_Connection.png)
diff --git a/docs/configure_messages.md b/docs/configure_messages.md
index 414f7f3c4..5c9a10dad 100644
--- a/docs/configure_messages.md
+++ b/docs/configure_messages.md
@@ -10,7 +10,7 @@ Surveyor: .
+From this menu, a user can control the output of various NMEA, RTCM, RXM, and other messages. Any enabled message will be broadcast over Bluetooth *and* recorded to SD (if available).
Because of the large number of configurations possible, we provide a few common settings:
@@ -41,11 +41,11 @@ These seven sentences are commonly used when logging and doing Precise Point Pos
*Configuring the NMEA messages*
-As mentioned is the microSD section of the [Hardware Overview](https://sparkfun.github.io/SparkFun_RTK_Firmware/hardware_rtk_facet/#microsd) there are a large number of messages supported. Each message sub menu will present the user with the ability to set the message report rate.
+As mentioned in the microSD section of the [Hardware Overview](https://sparkfun.github.io/SparkFun_RTK_Firmware/hardware_rtk_facet/#microsd) there are a large number of messages supported. Each message sub-menu will present the user with the ability to set the message report rate.
Each message rate input controls which messages are disabled (0) and how often the message is reported (1 = one message reported per 1 fix, 5 = one report every 5 fixes). The message rate range is 0 to 20.
-**Note:** The message report rate is the *number of fixes* between message reports. In the image above, with GSV set to 4, the NMEA GSV message will be produced once every 4 fixes. Because the device defaults to 4Hz fix rate, the GSV message will appear once per second.
+**Note:** The message report rate is the *number of fixes* between message reports. In the image above, with GSV set to 4, the NMEA GSV message will be produced once every 4 fixes. Because the device defaults to a 4Hz fix rate, the GSV message will appear once per second.
## Turn off all messages
diff --git a/docs/configure_pointperfect.md b/docs/configure_pointperfect.md
index 8bb113cef..0b64b3c52 100644
--- a/docs/configure_pointperfect.md
+++ b/docs/configure_pointperfect.md
@@ -2,7 +2,7 @@
Surveyor:  / Express:  / Express Plus:  / Facet:  / Facet L-Band: 
-**Note:** This section only applies to RTK Facet *L-Band* products. Regular RTK Facet, Surveyor, Express, and Express Plus products do not have L-Band antennas or receivers built in.
+**Note:** This section only applies to RTK Facet *L-Band* products. Regular RTK Facet, Surveyor, Express, and Express Plus products do not have L-Band antennas or receivers built-in.

@@ -12,11 +12,11 @@ Surveyor:  but not the centimeter level accuracy that comes with RTK.
+PointPerfect L-Band decryption keys are valid for a maximum of 56 days. During that time, the RTK Facet L-Band can operate normally without the need for WiFi access. However, when the keys are set to expire in 28 days or less, the RTK Facet L-Band will attempt to log in to the 'Home' WiFi at each power on. If WiFi is not available, it will continue normal operation. If the keys fully expire, the device will continue to receive the L-Band signal but will be unable to decrypt the signal, disabling high precision GNSS. The RTK Facet L-Band will continue to have extraordinary accuracy (we've seen better than 0.15m HPA) but not the centimeter-level accuracy that comes with RTK.
-**Note:** The RTK Facet L-Band is capable of receiving RTCM corrections over traditional means including NTRIP data over Bluetooth or over a serial radio. But the real point of L-Band and PointPerfect is that you can be *anywhere*, without cellular or radio cover, and still enjoy millimeter accuracy.
+**Note:** The RTK Facet L-Band is capable of receiving RTCM corrections over traditional means including NTRIP data over Bluetooth or a serial radio. But the real point of L-Band and PointPerfect is that you can be *anywhere*, without cellular or radio cover, and still enjoy millimeter accuracy.
[](https://cdn.sparkfun.com/assets/learn_tutorials/2/1/8/8/SparkFun_RTK_LBand_DayToExpire.jpg)
@@ -24,11 +24,11 @@ PointPerfect L-Band decryption keys are valid for a maximum of 56 days. During t
The unit will display various messages to aid the user in obtaining keys as needed.
-[](https://cdn.sparkfun.com/assets/learn_tutorials/2/1/8/8/SparkFun_RTK_LBand_Indicator.jpg)
+[](https://cdn.sparkfun.com/assets/learn_tutorials/2/1/8/8/SparkFun_RTK_LBand_Indicator.jpg)
*Three pronged satellite dish indicating L-Band reception*
-Upon successful reception and decryption of PointPerfect corrections, the satellite dish icon will increase to a three pronged icon. As the unit's fix increases the cross hair will indicate a basic 3D solution, a double blinking cross hair will indicate a floating RTK solution, and a solid double cross hair will indicate a fixed RTK solution.
+Upon successful reception and decryption of PointPerfect corrections, the satellite dish icon will increase to a three-pronged icon. As the unit's fix increases the cross-hair will indicate a basic 3D solution, a double blinking cross-hair will indicate a floating RTK solution, and a solid double cross-hair will indicate a fixed RTK solution.

@@ -54,5 +54,5 @@ The *Days until keys expire* inform the user how many days the unit has until it
Because of the length and complexity of the keys, we do not recommend you manually enter them. This menu is most helpful for displaying the current keys.
-Option '1' will allow a user to enter their own Device Profile Token. This is the token that is used to provision a device on a PointPerfect account. By default, users may use the SparkFun token but must pay SparkFun for the annual service fee. If an organization would like to administer their own devices, the token can be changed here.
+Option '1' will allow a user to enter their Device Profile Token. This is the token that is used to provision a device on a PointPerfect account. By default, users may use the SparkFun token but must pay SparkFun for the annual service fee. If an organization would like to administer its own devices, the token can be changed here.
diff --git a/docs/configure_ports.md b/docs/configure_ports.md
index 0d231e8ad..9c16d388b 100644
--- a/docs/configure_ports.md
+++ b/docs/configure_ports.md
@@ -12,16 +12,16 @@ Surveyor:  that are recommended to be used with the RTK Facet (it is a plug and play solution). This can be set from 4800bps to 921600bps.
+By default, the **Radio** port is set to 57600bps to match the [Serial Telemetry Radios](https://www.sparkfun.com/products/19032) that are recommended to be used with the RTK Facet (it is a plug-and-play solution). This can be set from 4800bps to 921600bps.
## Mux Channel
-The **Data** port on the RTK Facet, Express, and Express Plus is very flexible. Internally the **Data** connector is connected to a digital mux allowing one of four software selectable setups. By default the Data port will be connected to the UART1 of the ZED-F9P and output any messages via serial.
+The **Data** port on the RTK Facet, Express, and Express Plus is very flexible. Internally the **Data** connector is connected to a digital mux allowing one of four software-selectable setups. By default, the Data port will be connected to the UART1 of the ZED-F9P and output any messages via serial.
* **NMEA** - The TX pin outputs any enabled messages (NMEA, UBX, and RTCM) at a default of 460,800bps (configurable 9600 to 921600bps). The RX pin can receive RTCM for RTK and can also receive UBX configuration commands if desired.
* **PPS/Trigger** - The TX pin outputs the pulse-per-second signal that is accurate to 30ns RMS. This pin can be configured as an extremely accurate time base. The pulse length and time between pulses are configurable down to 1us. The RX pin is connected to the EXTINT pin on the ZED-F9P allowing for events to be measured with incredibly accurate nano-second resolution. Useful for things like audio triangulation. See the Timemark section of the [ZED-F9P Integration Manual](https://cdn.sparkfun.com/assets/learn_tutorials/1/8/5/7/ZED-F9P_IntegrationManual__UBX-18010802_.pdf) for more information.
* **I2C** - The TX pin operates as SCL, RX pin as SDA on the I2C bus. This allows additional sensors to be connected to the I2C bus.
-* **GPIO** - The TX pin operates as a DAC capable GPIO on the ESP32. The RX pin operates as a ADC capable input on the ESP32. This is useful for custom applications.
+* **GPIO** - The TX pin operates as a DAC-capable GPIO on the ESP32. The RX pin operates as an ADC-capable input on the ESP32. This is useful for custom applications.

@@ -33,7 +33,7 @@ The **Data** port on the RTK Facet, Express, and Express Plus is very flexible.
## Data Port
-By default the **Data** port is set to 460800bps and can be configured from 4800bps to 921600bps. The 460800bps baud rate was chosen to support applications where a large number of messages are enabled and a large amount of data is being sent. If you need to decrease the baud rate to 115200bps or other, but be sure to monitor the MON-COMM message within u-center for buffer overruns. A baud rate of 115200bps and the NMEA+RXM default configuration at 4Hz *will* cause buffer overruns.
+By default, the **Data** port is set to 460800bps and can be configured from 4800bps to 921600bps. The 460800bps baud rate was chosen to support applications where a large number of messages are enabled and a large amount of data is being sent. If you need to decrease the baud rate to 115200bps or other, be sure to monitor the MON-COMM message within u-center for buffer overruns. A baud rate of 115200bps and the NMEA+RXM default configuration at 4Hz *will* cause buffer overruns.
[](https://cdn.sparkfun.com/assets/learn_tutorials/1/8/5/7/SparkFun_RTK_Express_-_Ports_Menu_MON-COMM_Overrun.jpg)
@@ -41,10 +41,10 @@ By default the **Data** port is set to 460800bps and can be configured from 4800
If you must run the data port at lower than 460800bps, and you need to enable a large number of messages and/or increase the fix frequency beyond 4Hz, be sure to verify that UART1 usage stays below 99%. The image above shows the UART1 becoming overwhelmed because the ZED cannot transmit at 115200bps fast enough.
-Most applications do not need to plug anything into the **Data** port. Most users will get their NMEA position data over Bluetooth. However, this port can be useful for sending position data to an embedded microcontroller or single board computer. The pinout is 3.3V / TX / RX / GND. **3.3V** is provided by this connector to power a remote device if needed. While the port is capable of sourcing up to 600mA, we do not recommend more than 300mA. This port should not be connected to a power source.
+Most applications do not need to plug anything into the **Data** port. Most users will get their NMEA position data over Bluetooth. However, this port can be useful for sending position data to an embedded microcontroller or single-board computer. The pinout is 3.3V / TX / RX / GND. **3.3V** is provided by this connector to power a remote device if needed. While the port is capable of sourcing up to 600mA, we do not recommend more than 300mA. This port should not be connected to a power source.
## Surveyor Data Port
-By default the Data port is set to 460800bps and can be configured from 4800bps to 921600bps.
+By default, the Data port is set to 460800bps and can be configured from 4800bps to 921600bps.
Note: The Data port does not output NMEA by default. The unit must be opened and the *Serial NMEA Connection* switch must be moved to 'Ext Connector'. See [Hardware Overview - Advanced Features](https://sparkfun.github.io/SparkFun_RTK_Firmware/hardware_rtk_surveyor/#advanced-features) for the location of the switch.
\ No newline at end of file
diff --git a/docs/configure_profiles.md b/docs/configure_profiles.md
index 2ab2c378e..fce47e7a1 100644
--- a/docs/configure_profiles.md
+++ b/docs/configure_profiles.md
@@ -6,7 +6,7 @@ Surveyor: ](https://cdn.sparkfun.com/assets/learn_tutorials/2/1/8/8/SparkFun_RTK_Facet_Profile.jpg)
diff --git a/docs/configure_with_serial.md b/docs/configure_with_serial.md
index e6229832b..90a008949 100644
--- a/docs/configure_with_serial.md
+++ b/docs/configure_with_serial.md
@@ -20,7 +20,7 @@ Once connected a COM port will enumerate. Open the `Device Manager` in Windows a
Connect the USB cable to the USB connector.
-There is a USB hub built into the RTK Facet. When you attach the device to your computer it will enumerate as two COM ports.
+There is a USB hub built into the RTK Facet. When you attach the device to your computer it will enumerate two COM ports.
[](https://cdn.sparkfun.com/assets/learn_tutorials/2/1/8/8/SparkFun_RTK_Facet_-_Multiple_COM_Ports.jpg)
@@ -30,13 +30,13 @@ In the image above, the `USB Serial Device` is the ZED-F9P and the `USB-SERIAL C
**Don't See 'USB Serial Device'?** The first time a u-blox module is connected to a computer you may need to adjust the COM driver. Check out our section on "How to Install u-blox Drivers" for help with the installation.
-Configuring the RTK device is done over the *USB-Serial CH340* COM port via serial text menu. Various debug messages are printed to this port at 115200bps and a serial menu can be opened to configure advanced settings.
+Configuring the RTK device is done over the *USB-Serial CH340* COM port via the serial text menu. Various debug messages are printed to this port at 115200bps and a serial menu can be opened to configure advanced settings.
-Configuring the ZED-F9P is done over the *USB Serial Device* port using [u-center](https://learn.sparkfun.com/tutorials/getting-started-with-u-center-for-u-blox/all). It’s not necessary in normal operation but is handy for tailoring the receiver to specific applications. As an added perk, the ZED-F9P can be detected automatically by some mobile phones and tablets. If desired, the receiver can be directly connected to a compatible phone or tablet removing the need for a Bluetooth connection.
+Configuring the ZED-F9P is done over the *USB Serial Device* port using [u-center](https://learn.sparkfun.com/tutorials/getting-started-with-u-center-for-u-blox/all). It’s not necessary for normal operation but is handy for tailoring the receiver to specific applications. As an added perk, the ZED-F9P can be detected automatically by some mobile phones and tablets. If desired, the receiver can be directly connected to a compatible phone or tablet removing the need for a Bluetooth connection.
## Terminal Window
-Open a terminal window at 115200bps; you should see various status messages every second. Press any key to open the configuration menu. Not sure how to use a terminal? Checkout our [Serial Terminal Basics](https://learn.sparkfun.com/tutorials/terminal-basics) tutorial.
+Open a terminal window at 115200bps; you should see various status messages every second. Press any key to open the configuration menu. Not sure how to use a terminal? Check out our [Serial](https://learn.sparkfun.com/tutorials/terminal-basics) Terminal Basics](https://learn.sparkfun.com/tutorials/terminal-basics) tutorial.
[](https://cdn.sparkfun.com/assets/learn_tutorials/2/1/8/8/SparkFun_RTK_ExpressPlus_MainMenu.jpg)
diff --git a/docs/configure_with_wifi.md b/docs/configure_with_wifi.md
index aaaefe539..88f55a11f 100644
--- a/docs/configure_with_wifi.md
+++ b/docs/configure_with_wifi.md
@@ -2,7 +2,7 @@
Surveyor:  / Express:  / Express Plus:  / Facet:  / Facet L-Band: 
-Starting with firmware v1.7, WiFi based configuration is supported. For more information about updating the firmware on your device, please see [Updating RTK Firmware](https://sparkfun.github.io/SparkFun_RTK_Firmware/firmware_update/).
+Starting with firmware v1.7, WiFi-based configuration is supported. For more information about updating the firmware on your device, please see [Updating RTK Firmware](https://sparkfun.github.io/SparkFun_RTK_Firmware/firmware_update/).
The RTK device will present a webpage that is viewable from either a desktop/laptop with WiFi or a cell phone. For advanced configurations, a desktop is recommended. For quick in-field changes, a cell phone works great.
@@ -44,13 +44,13 @@ Note: Upon connecting, your phone may warn you that this WiFi network has no int
*Connected to the RTK WiFi Setup Page*
-Clicking on a category 'carrot' will open or close that section. Clicking on an ‘i’ will give you a brief description of the options within that section.
+Clicking on the category 'carrot' will open or close that section. Clicking on an ‘i’ will give you a brief description of the options within that section.
[](https://cdn.sparkfun.com/assets/learn_tutorials/2/1/8/8/SparkFun_RTK_Facet_-_WiFi_Config_Main_Page_-_Firmware.jpg)
*This unit has firmware version 1.8 and a ZED-F9P receiver*
-Please note that the firmware for the RTK device and the firmware for the ZED receiver are shown at the top of the page. This can be helpful when troubleshooting or requesting new features.
+Please note that the firmware for the RTK device and the firmware for the ZED receiver is shown at the top of the page. This can be helpful when troubleshooting or requesting new features.
## Saving and Exit
diff --git a/docs/connecting_bluetooth.md b/docs/connecting_bluetooth.md
index bb32b8d1b..6f55bae20 100644
--- a/docs/connecting_bluetooth.md
+++ b/docs/connecting_bluetooth.md
@@ -2,7 +2,7 @@
Surveyor:  / Express:  / Express Plus:  / Facet:  / Facet L-Band: 
-SparkFun RTK products transmit full NMEA sentences over Bluetooth serial port profile (SPP) at 4Hz and 115200bps. This means that nearly any GIS application that can receive NMEA data over serial port (almost all do) can be used with the RTK Express. As long as your device can open a serial port over Bluetooth (also known as SPP) your device can retrieve industry standard NMEA positional data. The following steps show how to connect an external tablet, or cell phone to the RTK device so the any serial port based GIS application can be used.
+SparkFun RTK products transmit full NMEA sentences over Bluetooth serial port profile (SPP) at 4Hz and 115200bps. This means that nearly any GIS application that can receive NMEA data over a serial port (almost all do) can be used with the RTK Express. As long as your device can open a serial port over Bluetooth (also known as SPP) your device can retrieve industry-standard NMEA positional data. The following steps show how to connect an external tablet, or cell phone to the RTK device so that any serial port-based GIS application can be used.
## Android
@@ -58,4 +58,4 @@ The device is now paired and a series of COM ports will be added under 'Device M
*NMEA received over the Bluetooth COM port*
-If neccessary, you can open a terminal connection to one of the COM ports. Because the Bluetooth driver creates multiple COM ports, it's impossible to tell which is the serial stream so it's easiest to just try each port until you see a stream of NMEA sentences (shown above). You're all set! Be sure to close out the terminal window so that other software can use that COM port.
+If necessary, you can open a terminal connection to one of the COM ports. Because the Bluetooth driver creates multiple COM ports, it's impossible to tell which is the serial stream so it's easiest to just try each port until you see a stream of NMEA sentences (shown above). You're all set! Be sure to close out the terminal window so that other software can use that COM port.
diff --git a/docs/displays.md b/docs/displays.md
index cb3542285..b66ba4f39 100644
--- a/docs/displays.md
+++ b/docs/displays.md
@@ -23,7 +23,7 @@ The device's firmware version is shown during the Power On display.
Upon power up the device will enter either Rover mode or Base mode. Above, the Rover mode is displayed.
* **MAC:** The MAC address of the internal Bluetooth module. This is helpful knowledge when attempting to connect to the device from your phone. This will change to a Bluetooth symbol once connected.
-* **HPA:** Horizontal positional accuracy is an estimate of how accurate the current positional readings are. This number will decrease rapidly after first power up and settle around 0.3m depending on your antenna and view of the sky. When RTK fix is achieved this icon will change to a double circle and the HPA number will decrease even further to as low as 0.014m.
+* **HPA:** Horizontal positional accuracy is an estimate of how accurate the current positional readings are. This number will decrease rapidly after the first power-up and settle around 0.3m depending on your antenna and view of the sky. When RTK fix is achieved this icon will change to a double circle and the HPA number will decrease even further to as low as 0.014m.
* **SIV:** Satellites in view is the number of satellites used for the fix calculation. This symbol will blink before a location fix is generated and become solid when the device has a good location fix. SIV is a good indicator of how good of a view the antenna has. This number will vary but anything above 10 is adequate. We've seen as high as 31.
* **Model:** This icon will change depending on the selected dynamic model: Portable (default) Pedestrian, Sea, Bike, Stationary, etc.
* **Log:** This icon will remain animated while the log file is increasing. This is a good visual indication that you have an SD card inserted and RTK Facet can successfully record to it.
@@ -50,7 +50,7 @@ Pressing the Setup button will change the device to Base mode. If the device is
*RTK Facet in Fixed Transmit Mode*
-Once the *survey-in* is complete the device enters RTCM Transmit mode. The number of RTCM transmissions is displayed. By default this is one per second.
+Once the *survey-in* is complete the device enters RTCM Transmit mode. The number of RTCM transmissions is displayed. By default, this is one per second.
The *Fixed Base* mode is similar but uses a structure icon (shown above) to indicate a fixed base.
@@ -77,11 +77,11 @@ L-Band decryption keys are valid for a maximum of 56 days. During that time, the
The unit will display various messages to aid the user in obtaining keys as needed.
-[](https://cdn.sparkfun.com/assets/learn_tutorials/2/1/8/8/SparkFun_RTK_LBand_Indicator.jpg)
+[](https://cdn.sparkfun.com/assets/learn_tutorials/2/1/8/8/SparkFun_RTK_LBand_Indicator.jpg)
-*Three pronged satellite dish indicating L-Band reception*
+*Three-pronged satellite dish indicating L-Band reception*
-Upon successful reception and decryption of L-Band corrections, the satellite dish icon will increase to a three pronged icon. As the unit's fix increases the cross hair will indicate a basic 3D solution, a double blinking cross hair will indicate a floating RTK solution, and a solid double cross hair will indicate a fixed RTK solution.
+Upon successful reception and decryption of L-Band corrections, the satellite dish icon will increase to a three-pronged icon. As the unit's fix increases the cross-hair will indicate a basic 3D solution, a double blinking cross-hair will indicate a floating RTK solution, and a solid double cross-hair will indicate a fixed RTK solution.
## Adding a Display to the RTK Surveyor
diff --git a/docs/embeddedsystem_connection.md b/docs/embeddedsystem_connection.md
index 9eddf8f53..5cd131cf8 100644
--- a/docs/embeddedsystem_connection.md
+++ b/docs/embeddedsystem_connection.md
@@ -2,11 +2,11 @@
Surveyor:  / Express:  / Express Plus:  / Facet:  / Facet L-Band: 
-Many applications using the RTK products will use a 3rd party GIS application or mobile app like SW Maps and receive the data over Bluetooth. Alternatively, for embedded applications a user can obtain the NMEA data over serial directly.
+Many applications using the RTK products will use a 3rd party GIS application or mobile app like SW Maps and receive the data over Bluetooth. Alternatively, for embedded applications, a user can obtain the NMEA data over serial directly.
-For this example we will connect the output from the **Data** port to a [USB to Serial adapter](https://www.sparkfun.com/products/15096) so that we can view the serial data over a terminal connection.
+For this example, we will connect the output from the **Data** port to a [USB to Serial adapter](https://www.sparkfun.com/products/15096) so that we can view the serial data over a terminal connection.
-The **Data** port on the RTK Facet, Express, and Express Plus can be configured to output a variety of different signals including NMEA Serial data. Be sure to checkout the [Ports Menu](https://sparkfun.github.io/SparkFun_RTK_Firmware/configure_ports/) section to be sure your device is configured to output NMEA.
+The **Data** port on the RTK Facet, Express, and Express Plus can be configured to output a variety of different signals including NMEA Serial data. Be sure to check out the [Ports Menu](https://sparkfun.github.io/SparkFun_RTK_Firmware/configure_ports/) section to be sure your device is configured to output NMEA.
Connect the included [4-pin JST to breadboard cable](https://www.sparkfun.com/products/17240) to the **Data** port. The cable has the following pinout:
@@ -31,4 +31,4 @@ The Data connector on all RTK products is a 4-pin locking 1.25mm JST SMD connect
**Warning!** All data in and out of RTK products is **3.3V**. Exposing these pins to **5V** or higher voltage logic will damage the device.
-The parsing of NMEA sentences is straightforward and left to the reader. There are ample NMEA parsing libraries available in C++, Arduino, python, and many more languages.
\ No newline at end of file
+The parsing of NMEA sentences is straightforward and left to the reader. There are ample NMEA parsing libraries available in C++, Arduino, Python, and many more languages.
\ No newline at end of file
diff --git a/docs/firmware_update.md b/docs/firmware_update.md
index 05f2494fe..9b49b9dc2 100644
--- a/docs/firmware_update.md
+++ b/docs/firmware_update.md
@@ -2,7 +2,7 @@
Surveyor:  / Express:  / Express Plus:  / Facet:  / Facet L-Band: 
-There are two (or more) firmwares that operate on the device:
+The device has two primary firmwares:
* Firmware on the ESP32 microcontroller. Keep reading.
* Firmware on the u-blox ZED-F9P, ZED-F9P, or NEO-D9S Receiver. [See below](https://sparkfun.github.io/SparkFun_RTK_Firmware/firmware_update/#updating_u-blox_firmware).
@@ -15,14 +15,14 @@ You can check your firmware by opening the main menu by pressing a key at any ti
From time to time SparkFun will release new firmware for the RTK product line to add and improve functionality. For most users, firmware can be upgraded by loading the appropriate binary file located on the [releases page](https://github.com/sparkfun/SparkFun_RTK_Firmware/releases) or from the [binaries folder](https://github.com/sparkfun/SparkFun_RTK_Firmware/tree/main/Binaries). Once the firmware is downloaded, loading the firmware onto an RTK product can be achieved by using one of the following methods:
-* [SD Method](https://sparkfun.github.io/SparkFun_RTK_Firmware/firmware_update/#updating-firmware-from-the-sd-card): Load the firmware on an SD card, then use a serial terminal with *Firmware Upgrade* menu
+* [SD Method](https://sparkfun.github.io/SparkFun_RTK_Firmware/firmware_update/#updating-firmware-from-the-sd-card): Load the firmware on an SD card, then use a serial terminal with the *Firmware Upgrade* menu
* [WiFi Method](https://sparkfun.github.io/SparkFun_RTK_Firmware/firmware_update/#updating-firmware-from-wifi): Load the firmware over WiFi when the device is in WiFi AP Config Mode
* [GUI Method](https://sparkfun.github.io/SparkFun_RTK_Firmware/firmware_update/#updating-firmware-from-gui): Use the [Windows GUI](https://github.com/sparkfun/SparkFun_RTK_Firmware/Uploader_GUI) and a USB cable. (This method is python based which can also be used on Linux, Mac OS, and Raspberry Pi)
* [CLI Method](https://sparkfun.github.io/SparkFun_RTK_Firmware/firmware_update/#updating-firmware-from-cli): Use the command line *batch_program.bat* (see below)
The SD method is generally recommended. For more information see [here](https://learn.sparkfun.com/tutorials/sparkfun-rtk-surveyor-hookup-guide/firmware-updates-and-customization).
-Remember, all SparkFun RTK devices are open source hardware meaning you have total access to the [firmware](https://github.com/sparkfun/SparkFun_RTK_Firmware) and [hardware](https://github.com/sparkfun/SparkFun_RTK_Facet). Be sure to checkout each repo for the latest firmware and hardware information.
+Remember, all SparkFun RTK devices are open source hardware meaning you have total access to the [firmware](https://github.com/sparkfun/SparkFun_RTK_Firmware) and [hardware](https://github.com/sparkfun/SparkFun_RTK_Facet). Be sure to check out each repo for the latest firmware and hardware information.
## Updating Firmware From the SD Card
@@ -38,11 +38,11 @@ The firmware upgrade menu will only display files that have the "RTK_Surveyor_Fi
### Force Firmware Loading
-In the rare event a unit is not staying on long enough for new firmware to be loaded into a COM port, the RTK Firmware (as of version 1.2) has an override function. If a file named *RTK_Surveyor_Firmware_Force.bin* is detected on the SD card at boot that file will be used to overwrite the current firmware, and then be deleted. This update path is generally not recommend. Use the [GUI](https://sparkfun.github.io/SparkFun_RTK_Firmware/firmware_update/#updating-firmware-from-gui) or [WiFi OTA](https://sparkfun.github.io/SparkFun_RTK_Firmware/firmware_update/#updating-firmware-from-wifi) methods as first resort.
+In the rare event that a unit is not staying on long enough for new firmware to be loaded into a COM port, the RTK Firmware (as of version 1.2) has an override function. If a file named *RTK_Surveyor_Firmware_Force.bin* is detected on the SD card at boot that file will be used to overwrite the current firmware, and then be deleted. This update path is generally not recommended. Use the [GUI](https://sparkfun.github.io/SparkFun_RTK_Firmware/firmware_update/#updating-firmware-from-gui) or [WiFi OTA](https://sparkfun.github.io/SparkFun_RTK_Firmware/firmware_update/#updating-firmware-from-wifi) methods as the first resort.
## Updating Firmware From WiFi
-**Note:** Firmware versions 1.1 to 1.9 have an issue that severely limit firmware upload over WiFi and is not recommended; use the 'Updating Firmware From the SD Card' method instead. Firmware versions v1.10 and beyond support direct firmware update via WiFi and is the preferred method for updating the firmware on a unit.
+**Note:** Firmware versions 1.1 to 1.9 have an issue that severely limits firmware upload over WiFi and is not recommended; use the 'Updating Firmware From the SD Card' method instead. Firmware versions v1.10 and beyond support direct firmware update via WiFi and is the preferred method for updating the firmware on a unit.
[](https://cdn.sparkfun.com/assets/learn_tutorials/2/1/8/8/SparkFun_RTK_Facet_-_WiFi_Config_Firmware_Update_Button.jpg)
@@ -52,7 +52,7 @@ Alternatively, firmware may be uploaded via the WiFi AP interface.
**Versions 1.1 to 1.9:** For firmware versions 1.1 to 1.9, the upload process is limited in speed resulting in upload times of nearly 2 minutes. Because of this, we recommend using the 'Updating Firmware From the SD Card' method instead. If you do upload firmware over WiFi, once it has been uploaded it will be viewable on the 'Available Firmware' on the page. To prevent accidental loading the *Enable Firmware Update* checkbox must first be checked before the button is enabled.
-**Versions 1.10 and Greater:** Firmware may be uploaded to the unit by clicking on 'Choose File', selecting the binary such as 'RTK_Surveyor_Firmware_v1_xx.bin' and pressing upload. The unit will automatically reset once firmware upload is complete.
+**Versions 1.10 and Greater:** Firmware may be uploaded to the unit by clicking on 'Choose File', selecting the binary such as 'RTK_Surveyor_Firmware_v1_xx.bin' and pressing upload. The unit will automatically reset once the firmware upload is complete.
## Updating Firmware Using Windows GUI
@@ -84,7 +84,7 @@ Once complete, the device will reset and power down.
## Updating Firmware From CLI
-The command line interface is also available. You’ll need to download the repo and navigate to the [`/Binaries/`](https://github.com/sparkfun/SparkFun_RTK_Firmware/tree/main/Binaries/bin) folder. This contains the binaries but also various supporting tools including esptool.exe and the three binaries required along with the firmware (bootloader, partitions, and app0).
+The command-line interface is also available. You’ll need to download the repo and navigate to the [`/Binaries/`](https://github.com/sparkfun/SparkFun_RTK_Firmware/tree/main/Binaries/bin) folder. This contains the binaries but also various supporting tools including esptool.exe and the three binaries required along with the firmware (bootloader, partitions, and app0).
### Windows
@@ -124,36 +124,36 @@ Upon completion, your RTK device will reset and power down.
## Updating 4MB Surveyors
-RTK Surveyors sold prior to September 2021 may have an ESP32 WROOM module with 4MB flash instead of 16MB flash. These units still support all the functionality of other RTK products with the following limitations:
+RTK Surveyors sold before September 2021 may have an ESP32 WROOM module with 4MB flash instead of 16MB flash. These units still support all the functionality of other RTK products with the following limitations:
-* A firmware compatible with 4MB systems must be used to update a device.
-* Upgrading the firmware must be done via [CLI](https://sparkfun.github.io/SparkFun_RTK_Firmware/firmware_update/#updating-firmware-from-cli) or [GUI](https://sparkfun.github.io/SparkFun_RTK_Firmware/firmware_update/#updating-firmware-using-windows-gui). WiFi or SD update paths are not possible.
+* There is not enough flash space for OTA. Upgrading the firmware must be done via [CLI](https://sparkfun.github.io/SparkFun_RTK_Firmware/firmware_update/#updating-firmware-from-cli) or [GUI](https://sparkfun.github.io/SparkFun_RTK_Firmware/firmware_update/#updating-firmware-using-windows-gui). WiFi or SD update paths are not possible.
+
+The GUI (as of v1.3) will autodetect the ESP32's flash size and load the appropriate partition file. No user interaction is required.
### Determining Size of Flash
To determine if the device has a 4MB module:
-* Use the GUI or CLI and attempt a firmware update. The output will auto-detect and show the flash size, as shown below:
+* Use the esptool via CLI. Please see the [flash_id](https://docs.espressif.com/projects/esptool/en/latest/esp32s3/esptool/basic-commands.html#read-spi-flash-id-flash-id) command for usage.
+* Use the GUI and attempt a firmware update. The output will auto-detect and show the flash size, as shown below:

-More information can be found within github issues [#151](https://github.com/sparkfun/SparkFun_RTK_Firmware/issues/151) and [#207](https://github.com/sparkfun/SparkFun_RTK_Firmware/issues/207).
-
## Updating u-blox Firmware
-The following products contain the following u-blox receviers:
+The following products contain the following u-blox receivers:
* RTK Surveyor: ZED-F9P
* RTK Express: ZED-F9P
-* RTK Express Plus: : ZED-F9R
+* RTK Express Plus: ZED-F9R
* RTK Facet: ZED-F9P
* RTK Facet L-Band: ZED-F9P and NEO-D9S
-The firmware loaded onto the ZED-F9P, ZED-F9R, and NEO-D9S receivers is written by u-blox and can vary depending on manufacture date. The RTK Firmware (that runs on the ESP32) is designed to flexibly work with any u-blox firmware. Upgrading the ZED-F9x/NEO-D9S is a good thing to consider but is not crucial to the use of the RTK products.
+The firmware loaded onto the ZED-F9P, ZED-F9R, and NEO-D9S receivers is written by u-blox and can vary depending on the manufacture date. The RTK Firmware (that runs on the ESP32) is designed to flexibly work with any u-blox firmware. Upgrading the ZED-F9x/NEO-D9S is a good thing to consider but is not crucial to the use of RTK products.
Not sure what firmware is loaded onto your RTK product? Open the [System Status Menu](https://sparkfun.github.io/SparkFun_RTK_Firmware/menu_system_status/) to display the module's current firmware version.
-The firmware on u-blox devices can be updated using a [Windows based GUI](https://sparkfun.github.io/SparkFun_RTK_Firmware/firmware_update/#updating-using-windows-gui) or [u-center](https://sparkfun.github.io/SparkFun_RTK_Firmware/firmware_update/#updating-using-u-center). A CLI method is also possible using the ubxfwupdate.exe tool provided with u-center. Additionally, u-blox offers the source for the ubxfwupdate tool that is written in C. It is currently released only under an NDA so contact your local u-blox Field Applications Engineer if you need a different method.
+The firmware on u-blox devices can be updated using a [Windows-based GUI](https://sparkfun.github.io/SparkFun_RTK_Firmware/firmware_update/#updating-using-windows-gui) or [u-center](https://sparkfun.github.io/SparkFun_RTK_Firmware/firmware_update/#updating-using-u-center). A CLI method is also possible using the ubxfwupdate.exe tool provided with u-center. Additionally, u-blox offers the source for the ubxfwupdate tool that is written in C. It is currently released only under an NDA so contact your local u-blox Field Applications Engineer if you need a different method.
### Updating Using Windows GUI
@@ -161,7 +161,7 @@ The firmware on u-blox devices can be updated using a [Windows based GUI](https:
*SparkFun RTK u-blox Firmware Update Tool*
-The [SparkFun RTK u-blox Firmware Update Tool](https://github.com/sparkfun/SparkFun_RTK_Firmware/tree/main/u-blox_Update_GUI) is a simple Windows GUI and python script that runs the ubxfwupdate.exe tool. This allows users to directly update module firmware without the need for u-center. Addtionally, this tool queries the module to verify that the firmware type matches the module. Because the RTK Facet L-Band contains two u-blox modules that both appear as identical serial ports, it can be difficult and perilous to know which port to load firmware. This tool prevents ZED-F9P firmware from being accidentally loaded onto a NEO-D9S receiver and vice versa.
+The [SparkFun RTK u-blox Firmware Update Tool](https://github.com/sparkfun/SparkFun_RTK_Firmware/tree/main/u-blox_Update_GUI) is a simple Windows GUI and python script that runs the ubxfwupdate.exe tool. This allows users to directly update module firmware without the need for u-center. Additionally, this tool queries the module to verify that the firmware type matches the module. Because the RTK Facet L-Band contains two u-blox modules that both appear as identical serial ports, it can be difficult and perilous to know which port to load firmware. This tool prevents ZED-F9P firmware from being accidentally loaded onto a NEO-D9S receiver and vice versa.
The SparkFun RTK u-blox Firmware Update Tool will only run on Windows as it relies upon u-blox's ubxfwupdate.exe. The full, integrated executable for Windows is available [here](https://github.com/sparkfun/SparkFun_RTK_Firmware/raw/main/u-blox_Update_GUI/Windows_exe/RTK_u-blox_Update_GUI.exe).
@@ -191,7 +191,7 @@ This module is used in the Surveyor, Express, and Facet. It is capable of both R
Most of these binaries can be found in the [ZED Firmware/ZED-F9P](https://github.com/sparkfun/SparkFun_RTK_Firmware/tree/main/Binaries/ZED%20Firmware/ZED-F9P) folder.
-All field testing and device specific performance parameters were obtained with ZED-F9P v1.30.
+All field testing and device-specific performance parameters were obtained with ZED-F9P v1.30.
* v1.12 has the benefit of working with SBAS and an operational RTK status signal (the LED illuminates correctly). See [release notes](https://content.u-blox.com/sites/default/files/ZED-F9P-FW100-HPG112_RN_%28UBX-19026698%29.pdf).
@@ -199,11 +199,11 @@ All field testing and device specific performance parameters were obtained with
* v1.30 has a few RTK and receiver performance improvements, I2C communication improvements, and most importantly support for SPARTN PMP packets. See [release notes](https://www.u-blox.com/sites/default/files/ZED-F9P-FW100-HPG130_RN_UBX-21047459.pdf).
-* v1.32 has a few SPARTN protocol specific improvements. See [release notes](https://www.u-blox.com/sites/default/files/documents/ZED-F9P-FW100-HPG132_RN_UBX-22004887.pdf). This firmware is required for use with the NEO-D9S and the decryption of PMP messages.
+* v1.32 has a few SPARTN protocol-specific improvements. See [release notes](https://www.u-blox.com/sites/default/files/documents/ZED-F9P-FW100-HPG132_RN_UBX-22004887.pdf). This firmware is required for use with the NEO-D9S and the decryption of PMP messages.
### ZED-F9R Firmware Changes
-This module is used in the Express Plus. It contains an internal IMU and additional algorithms to support high precision location fixes using dead reckoning. The ZED-F9R is not capable of operating in base mode.
+This module is used in the Express Plus. It contains an internal IMU and additional algorithms to support high-precision location fixes using dead reckoning. The ZED-F9R is not capable of operating in base mode.
Most of these binaries can be found in the [ZED Firmware/ZED-F9R](https://github.com/sparkfun/SparkFun_RTK_Firmware/tree/main/Binaries/ZED%20Firmware/ZED-F9R) folder.
@@ -219,7 +219,7 @@ This binary file can be found in the [NEO Firmware](https://github.com/sparkfun/
* v1.04 Initial release.
-As of writing, no addtional releases of the NEO-D9S firmware have been made.
+As of writing, no additional releases of the NEO-D9S firmware have been made.
## Compiling Source
@@ -228,11 +228,11 @@ As of writing, no addtional releases of the NEO-D9S firmware have been made.
The SparkFun RTK firmware is compiled using Arduino (currently v1.8.15). To compile:
1. Install [Arduino](https://www.arduino.cc/en/software).
-2. Install ESP32 for Arduino. [Here](https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide#installing-via-arduino-ide-boards-manager) are some good instructions for installing it via the Arduino Boards manager. **Note**: Use v2.0.2 of the core. **Note:** We use the 'ESP32 Dev Module' for pin numbering. Select the correct board under Tools->Board->ESP32 Arduino->ESP32 Dev Module.
+2. Install ESP32 for Arduino. [Here](https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide#installing-via-arduino-ide-boards-manager) are some good instructions for installing it via the Arduino Boards Manager. **Note**: Use v2.0.2 of the core. **Note:** We use the 'ESP32 Dev Module' for pin numbering. Select the correct board under Tools->Board->ESP32 Arduino->ESP32 Dev Module.
3. Change the Partition table. Replace 'C:\Users\\[user name]\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\tools\partitions\min_spiffs.csv' with the min_spiff.csv file found in this folder. This will increase the program partition from a maximum of 1.9MB to 3MB.
4. Set the core settings: The 'Partition Scheme' must be set to 'Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS). This will use the 'min_spiffs.csv' updated partition table.
5. Set the 'Flash Size' to 16MB (128mbit)
-6. Obtain all the required libraries. **Note:** You should click on the link next to each of the #includes at the top of RTK_Surveyor.ino within the Arduino IDE to open the library manager and download them. Getting them directly from github also works but may not be 'official' releases:
+6. Obtain all the required libraries. **Note:** You should click on the link next to each of the #includes at the top of RTK_Surveyor.ino within the Arduino IDE to open the library manager and download them. Getting them directly from Github also works but may not be 'official' releases:
* [ESP32Time](https://github.com/fbiego/ESP32Time)
* [ESPAsyncWebServer](https://github.com/me-no-dev/ESPAsyncWebServer) (not available via library manager)
* [AsyncTCP](https://github.com/me-no-dev/AsyncTCP) (not available via library manager)
@@ -272,12 +272,12 @@ Execute the following commands to create the Linux virtual machine:
15. Click the Create button
16. Click on Storage
17. Click the empty CD icon
- 18. On the right hand side, click the CD icon
+ 18. On the right-hand side, click the CD icon
19. Click on Choose a disk file...
20. Choose the ubuntu-20.04... iso file
21. Click the Open button
22. Click on Network
- 23. Under Attached to: select Bridged Adapter
+ 23. Under 'Attached to:' select Bridged Adapter
24. Click the OK button
25. Click the Start button
2. Install Ubuntu 20.04
@@ -320,7 +320,7 @@ Insert the following text into the file:
#!/bin/bash
# serial-port.sh
#
- # Shell script to read the serial data from the the RTK Express ESP32 port
+ # Shell script to read the serial data from the RTK Express ESP32 port
#
# Parameters:
# 1: ttyUSBn
@@ -366,7 +366,7 @@ Install the Arduino IDE
Add the ESP32 support
-24. arduino
+24. Arduino
1. Click on File in the menu bar
2. Click on Preferences
3. Go down to the Additional Boards Manager URLs text box
@@ -377,7 +377,7 @@ Add the ESP32 support
8. Click on File in the menu bar
9. Click on Quit
-Get the required external libraries, add to the Sketchbook location from above
+Get the required external libraries, then add to the Sketchbook location from above
25. cd ~/Arduino/libraries
26. mkdir AsyncTCP
@@ -394,7 +394,7 @@ Connect the Config ESP32 port of the RTK to a USB port on the computer
Enable the libraries in the Arduino IDE
-34. arduino
+34. Arduino
1. From the menu, click on File
2. Click on Open...
3. Select the ~/SparkFun/RTK/Firmware/RTK_Surveyor/RTK_Surveyor.ino file
diff --git a/docs/gis_software.md b/docs/gis_software.md
index 4983e88e9..b24889b8b 100644
--- a/docs/gis_software.md
+++ b/docs/gis_software.md
@@ -6,7 +6,7 @@ While we recommend SW Maps for Android, there are a variety of 3rd party apps av
## SW Maps
-The best mobile app that we’ve found is the powerful, free, and easy to use *[SW Maps](https://play.google.com/store/apps/details?id=np.com.softwel.swmaps)* by Softwel. You’ll need an Android phone or tablet with Bluetooth. What makes SW Maps truly powerful is its built-in NTRIP client. This is a fancy way of saying that we’ll be showing you how to get RTCM correction data over the cellular network.
+The best mobile app that we’ve found is the powerful, free, and easy-to-use _SW Maps_](https://play.google.com/store/apps/details?id=np.com.softwel.swmaps)* by Softwel. You’ll need an Android phone or tablet with Bluetooth. What makes SW Maps truly powerful is its built-in NTRIP client. This is a fancy way of saying that we’ll be showing you how to get RTCM correction data over the cellular network.
Be sure your device is [paired over Bluetooth](https://sparkfun.github.io/SparkFun_RTK_Firmware/connecting_bluetooth/#android).
@@ -15,7 +15,7 @@ Be sure your device is [paired over Bluetooth](https://sparkfun.github.io/SparkF
*List of available Bluetooth devices*
-From SW Map's main menu, select *Bluetooth GNSS*. This will display a list of available Bluetooth devices. Select the Rover or Base you just paired with. If your are taking height measurements (altitude) in addition to position (lat/long) be sure to enter the height of your antenna off the ground including any [ARP offsets](https://geodesy.noaa.gov/ANTCAL/FAQ.xhtml#faq4) of your antenna (should be printed on the side).
+From SW Map's main menu, select *Bluetooth GNSS*. This will display a list of available Bluetooth devices. Select the Rover or Base you just paired with. If you are taking height measurements (altitude) in addition to position (lat/long) be sure to enter the height of your antenna off the ground including any [ARP offsets](https://geodesy.noaa.gov/ANTCAL/FAQ.xhtml#faq4) of your antenna (this should be printed on the side).
Click on 'CONNECT' to open a Bluetooth connection. Assuming this process takes a few seconds, you should immediately have a location fix.
@@ -23,7 +23,7 @@ Click on 'CONNECT' to open a Bluetooth connection. Assuming this process takes a
*SW Maps with RTK Fix*
-You can open the GNSS Status sub menu to view the current data.
+You can open the GNSS Status sub-menu to view the current data.
**NTRIP Client**
@@ -39,13 +39,13 @@ We need to send RTCM correction data from the phone back to the RTK device so th
*Connecting to an NTRIP Caster*
-Enter your NTRIP Caster credentials and click connect. You will see bytes begin to transfer from your phone to the RTK Express. Within a few seconds the RTK Express will go from ~300mm accuracy to 14mm. Pretty nifty, no?
+Enter your NTRIP Caster credentials and click connect. You will see bytes begin to transfer from your phone to the RTK Express. Within a few seconds, the RTK Express will go from ~300mm accuracy to 14mm. Pretty nifty, no?
-What's an NTRIP Caster? In a nut shell it's a server that is sending out correction data every second. There are thousands of sites around the globe that calculate the perturbations in the ionosphere and troposphere that decrease the accuracy of GNSS accuracy. Once the inaccuracies are known, correction values are encoded into data packets in the RTCM format. You, the user, don't need to know how to decode or deal with RTCM, you simply need to get RTCM from a source within 10km of your location into the RTK Express. The NTRIP client logs into the server (also known as the NTRIP caster) and grabs that data, every second, and sends it over Bluetooth to the RTK Express.
+What's an NTRIP Caster? In a nutshell, it's a server that is sending out correction data every second. There are thousands of sites around the globe that calculate the perturbations in the ionosphere and troposphere that decrease the accuracy of GNSS accuracy. Once the inaccuracies are known, correction values are encoded into data packets in the RTCM format. You, the user, don't need to know how to decode or deal with RTCM, you simply need to get RTCM from a source within 10km of your location into the RTK Express. The NTRIP client logs into the server (also known as the NTRIP caster) and grabs that data, every second, and sends it over Bluetooth to the RTK Express.
-Don't have access to an NTRIP Caster? You can use a 2nd RTK product in operating in Base mode to provide the correction data. Checkout [Creating a Permanent Base](https://sparkfun.github.io/SparkFun_RTK_Firmware/permanent_base/). If you're the DIY sort, you can create your own low cost base station using an ESP32 and a ZED-F9P breakout board. Checkout [How to Build a DIY GNSS Reference Station](https://learn.sparkfun.com/tutorials/how-to-build-a-diy-gnss-reference-station). If you'd just like a service, [Syklark](https://www.swiftnav.com/skylark) provides RTCM coverage for $49 a month (as of writing) and is extremely easy to setup and use. Remember, you can always use a 2nd RTK device in *Base* mode to provide RTCM correction data but it will less accurate than a fixed position caster.
+Don't have access to an NTRIP Caster? You can use a 2nd RTK product operating in Base mode to provide the correction data. Checkout [Creating a Permanent Base](https://sparkfun.github.io/SparkFun_RTK_Firmware/permanent_base/). If you're the DIY sort, you can create your own low-cost base station using an ESP32 and a ZED-F9P breakout board. Check out [How to](https://learn.sparkfun.com/tutorials/how-to-build-a-diy-gnss-reference-station) Build a DIY GNSS Reference Station](https://learn.sparkfun.com/tutorials/how-to-build-a-diy-gnss-reference-station). If you'd just like a service, [Syklark](https://www.swiftnav.com/skylark) provides RTCM coverage for $49 a month (as of writing) and is extremely easy to set up and use. Remember, you can always use a 2nd RTK device in *Base* mode to provide RTCM correction data but it will be less accurate than a fixed position caster.
-Once you have a full RTK fix you'll notice the location bubble in SW Maps turns to green. Just for fun, rock your rover monopole back and forth on a fixed point. You'll see your location accurately reflected in SW Maps. Millimeter location precision is a truly staggering thing.
+Once you have a full RTK fix you'll notice the location bubble in SW Maps turns green. Just for fun, rock your rover monopole back and forth on a fixed point. You'll see your location accurately reflected in SW Maps. Millimeter location precision is a truly staggering thing.
## Field Genius
@@ -101,9 +101,9 @@ Click 'Add New Source'.
Enter your NTRIP Caster credentials and click 'DONE'.
-What's an NTRIP Caster? In a nut shell it's a server that is sending out correction data every second. There are thousands of sites around the globe that calculate the perturbations in the ionosphere and troposphere that decrease the accuracy of GNSS accuracy. Once the inaccuracies are known, correction values are encoded into data packets in the RTCM format. You, the user, don't need to know how to decode or deal with RTCM, you simply need to get RTCM from a source within 10km of your location into the RTK Express. The NTRIP client logs into the server (also known as the NTRIP caster) and grabs that data, every second, and sends it over Bluetooth to the RTK Express.
+What's an NTRIP Caster? In a nutshell, it's a server that is sending out correction data every second. There are thousands of sites around the globe that calculate the perturbations in the ionosphere and troposphere that decrease the accuracy of GNSS accuracy. Once the inaccuracies are known, correction values are encoded into data packets in the RTCM format. You, the user, don't need to know how to decode or deal with RTCM, you simply need to get RTCM from a source within 10km of your location into the RTK Express. The NTRIP client logs into the server (also known as the NTRIP caster) and grabs that data, every second, and sends it over Bluetooth to the RTK Express.
-Don't have access to an NTRIP Caster? You can use a 2nd RTK product in operating in Base mode to provide the correction data. Checkout [Creating a Permanent Base](https://sparkfun.github.io/SparkFun_RTK_Firmware/permanent_base/). If you're the DIY sort, you can create your own low cost base station using an ESP32 and a ZED-F9P breakout board. Checkout [How to Build a DIY GNSS Reference Station](https://learn.sparkfun.com/tutorials/how-to-build-a-diy-gnss-reference-station). If you'd just like a service, [Syklark](https://www.swiftnav.com/skylark) provides RTCM coverage for $49 a month (as of writing) and is extremely easy to setup and use. Remember, you can always use a 2nd RTK device in *Base* mode to provide RTCM correction data but it will less accurate than a fixed position caster.
+Don't have access to an NTRIP Caster? You can use a 2nd RTK product operating in Base mode to provide the correction data. Checkout [Creating a Permanent Base](https://sparkfun.github.io/SparkFun_RTK_Firmware/permanent_base/). If you're the DIY sort, you can create your own low-cost base station using an ESP32 and a ZED-F9P breakout board. Check out [How to](https://learn.sparkfun.com/tutorials/how-to-build-a-diy-gnss-reference-station) Build a DIY GNSS Reference Station](https://learn.sparkfun.com/tutorials/how-to-build-a-diy-gnss-reference-station). If you'd just like a service, [Syklark](https://www.swiftnav.com/skylark) provides RTCM coverage for $49 a month (as of writing) and is extremely easy to set up and use. Remember, you can always use a 2nd RTK device in *Base* mode to provide RTCM correction data but it will be less accurate than a fixed position caster.

@@ -139,7 +139,7 @@ From the drop down, select `NMEA GPS Receiver`.
*Select Model: DGPS*
-Select DGPS if you'd like to connect to an NTRIP Caster. If you are using the RTK Facet L-Band, or do not need RTK fix precision, leave the model as Generic.
+Select DGPS if you'd like to connect to an NTRIP Caster. If you are using the RTK Facet L-Band, or do not need RTK fix type precision, leave the model as Generic.

@@ -163,7 +163,7 @@ You will be shown a list of devices that have been paired. Select the RTK device
*Connect to Device*
-Click the `Connect Bluetooth` button, shown in red in the top right corner. The software will begin a connection to the RTK device. You'll see the MAC address on the RTK device change to the Bluetooth icon indicating its connected.
+Click the `Connect Bluetooth` button, shown in red in the top right corner. The software will begin a connection to the RTK device. You'll see the MAC address on the RTK device changes to the Bluetooth icon indicating it's connected.
If SurvPC detects NMEA, it will report a successful connection.
@@ -175,7 +175,7 @@ You are welcome to enter the ARP (antenna reference point) and surveying stick l
**NTRIP Client**
-Note: If you are using a radio to connect Base to Rover, or if you are using the RTK Facet L-Band you do not need to setup NTRIP; the device will achieve RTK fixes and output extremely accurate location data by itself. But if L-Band corrections are not available, or you are not using a radio link, the NTRIP Client can provide corrections to this Rover.
+Note: If you are using a radio to connect Base to Rover, or if you are using the RTK Facet L-Band you do not need to set up NTRIP; the device will achieve RTK fixes and output extremely accurate location data by itself. But if L-Band corrections are not available, or you are not using a radio link, the NTRIP Client can provide corrections to this Rover.

@@ -184,11 +184,11 @@ Note: If you are using a radio to connect Base to Rover, or if you are using the
If you selected 'DGPS' as the Model type, the RTK submenu will be shown. This is where you give the details about your NTRIP Caster such as your mount point, user name/pw, etc. For more information about creating your own NTRIP mount point please see [Creating a Permanent Base](https://sparkfun.github.io/SparkFun_RTK_Firmware/permanent_base/)
-Enter your NTRIP Caster credentials and click connect. You will see bytes begin to transfer from your phone to the RTK Express. Within a few seconds the RTK Express will go from ~300mm accuracy to 14mm. Pretty nifty, no?
+Enter your NTRIP Caster credentials and click connect. You will see bytes begin to transfer from your phone to the RTK Express. Within a few seconds, the RTK Express will go from ~300mm accuracy to 14mm. Pretty nifty, no?
-What's an NTRIP Caster? In a nut shell it's a server that is sending out correction data every second. There are thousands of sites around the globe that calculate the perturbations in the ionosphere and troposphere that decrease the accuracy of GNSS accuracy. Once the inaccuracies are known, correction values are encoded into data packets in the RTCM format. You, the user, don't need to know how to decode or deal with RTCM, you simply need to get RTCM from a source within 10km of your location into the RTK Express. The NTRIP client logs into the server (also known as the NTRIP caster) and grabs that data, every second, and sends it over Bluetooth to the RTK Express.
+What's an NTRIP Caster? In a nutshell, it's a server that is sending out correction data every second. There are thousands of sites around the globe that calculate the perturbations in the ionosphere and troposphere that decrease the accuracy of GNSS accuracy. Once the inaccuracies are known, correction values are encoded into data packets in the RTCM format. You, the user, don't need to know how to decode or deal with RTCM, you simply need to get RTCM from a source within 10km of your location into the RTK Express. The NTRIP client logs into the server (also known as the NTRIP caster) and grabs that data, every second, and sends it over Bluetooth to the RTK Express.
-Don't have access to an NTRIP Caster? You can use a 2nd RTK product in operating in Base mode to provide the correction data. Checkout [Creating a Permanent Base](https://sparkfun.github.io/SparkFun_RTK_Firmware/permanent_base/). If you're the DIY sort, you can create your own low cost base station using an ESP32 and a ZED-F9P breakout board. Checkout [How to Build a DIY GNSS Reference Station](https://learn.sparkfun.com/tutorials/how-to-build-a-diy-gnss-reference-station). If you'd just like a service, [Syklark](https://www.swiftnav.com/skylark) provides RTCM coverage for $49 a month (as of writing) and is extremely easy to setup and use. Remember, you can always use a 2nd RTK device in *Base* mode to provide RTCM correction data but it will less accurate than a fixed position caster.
+Don't have access to an NTRIP Caster? You can use a 2nd RTK product operating in Base mode to provide the correction data. Checkout [Creating a Permanent Base](https://sparkfun.github.io/SparkFun_RTK_Firmware/permanent_base/). If you're the DIY sort, you can create your own low-cost base station using an ESP32 and a ZED-F9P breakout board. Check out [How to](https://learn.sparkfun.com/tutorials/how-to-build-a-diy-gnss-reference-station) Build a DIY GNSS Reference Station](https://learn.sparkfun.com/tutorials/how-to-build-a-diy-gnss-reference-station). If you'd just like a service, [Syklark](https://www.swiftnav.com/skylark) provides RTCM coverage for $49 a month (as of writing) and is extremely easy to set up and use. Remember, you can always use a 2nd RTK device in *Base* mode to provide RTCM correction data but it will be less accurate than a fixed position caster.
Once everything is connected up, click the Green check in the top right corner.
@@ -196,16 +196,104 @@ Once everything is connected up, click the Green check in the top right corner.
*Storing Points*
-Now that we have a connection, you can use the device as usual, storing points and calculating distances.
+Now that we have a connection, you can use the device, as usual, storing points and calculating distances.

*SurvPC Skyplot*
-Opening the Skyplot will allow you to see your GNSS details in real time.
+Opening the Skyplot will allow you to see your GNSS details in real-time.
-If you are a big fan of SurvPC please contact your sales rep and ask them to include SparkFun products in their Manufacturer drop down list.
+If you are a big fan of SurvPC please contact your sales rep and ask them to include SparkFun products in their Manufacturer drop-down list.
-## Other
+## Survey Master
+
+[Survey Master](https://www.comnavtech.com/companyfile/4/) by ComNam / SinoGNSS is an Android-based option. The download location can vary so google 'Survey Master ComNav Download' if the link above fails. Download the zip file, send the APK file to a phone and install the program.
+
+
+
+By default, a wizard will guide you through the setup. The Project step will ask you for the name of the project, the datum, etc.
+
+
+
+Next select your connection.
+
+
+
+For the Device Model select 'NMEA Device'.
+
+
+
+If you are just getting started, use one of the default antenna types. If you are attempting to get sub-centimeter accuracy, enter the parameters of your antenna and add it. Above are the NGS-certified parameters for the [TOP106 antenna](https://www.sparkfun.com/products/17751).
+
+
+
+Click the 'Target Device' option to get a list of available Bluetooth devices. Make sure your RTK product is on and you should see the device. In this example 'Express Rover-B022' was chosen.
+
+To finish, click 'Connect'. You should see the Bluetooth MAC address on your RTK product change to the Bluetooth icon indicating a connection is established.
+
+
+
+Next is configuring the 'Work mode' of the device. The step is where we set up our NTRIP correction source.
+
+
+
+Click 'Add' to create a new work mode.
+
+
+
+Shown above, we configure the NTRIP Client. Survey Master calls this the 'SinoGNSS' Protocol. Click on the three bars to the right of 'Server' to enter a new NTRIP connection.
+
+
+
+Here you can add different NTRIP Caster providers. If you're using RTK2Go be sure to enter your contact email into the user name.
-Hopefully these examples give you an idea of how to connect the RTK product line to most any GIS software. If there is other GIS software that you'd like to see configuration information about, please open an issue on the [RTK Firmware repo](https://github.com/sparkfun/SparkFun_RTK_Firmware/issues) and we'll add it.
+
+
+Return to the 'Datalink type' window and select the Server you just entered. Re-enter the server address and port for your NTRIP Caster. Once complete, click on the down-pointing arrow. This will ping the Caster and obtain the mount point table. Select your mount point.
+
+
+
+Select the newly created work mode and press the 'Apply' button.
+
+
+
+Survey Master will attempt to connect to your specified RTK corrections source (NTRIP Caster). Upon success, you will be located on the Project menu.
+
+Survey Master expects many more NMEA sentences than most GIS software. We must enable some additional messages on the RTK device to correctly communicate with Survey Master.
+
+
+
+Note above: There are 9 enabled messages and GSV is set to '1'.
+
+Connect to the RTK device either over [WiFi AP config](/configure_with_wifi/) or via [Serial](/configure_with_serial/). Above is shown the serial method.
+
+Open a terminal at 115200bps and press a key to open the serial configuration menu. Press '2' for GNSS Messages, press '1' for NMEA messages, now be sure to enable 9 messages to a rate of 1:
+
+* GGA
+* GLL
+* GRS
+* GSA
+* GST
+* GSV
+* RMC
+* VTG
+* ZDA
+
+Once complete, press x until you exit the serial menus. Now we may return to Survey Master.
+
+
+
+Click on the 'Survey' menu and then 'Topo Survey'. Above we can see a device with RTK float, and 117mm horizontal positional accuracy.
+
+Known Issues:
+
+* Survey Master parses the GxGSV sentence improperly and will only indicate GPS satellites even though the fix solution is using all satellites.
+
+
+
+To verify the NMEA sentences are being delivered correctly, Survey Master has a built-in tool. Select the Device->Rover->More->'H-Terminal'.
+
+## Other
+Hopefully, these examples give you an idea of how to connect the RTK product line to most any GIS software. If there is other GIS software that you'd like to see configuration information about, please open an issue on the [RTK Firmware repo](https://github.com/sparkfun/SparkFun_RTK_Firmware/issues) and we'll add it.
diff --git a/docs/img/SurveyMaster/SparkFun RTK Survey Master - 01.png b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 01.png
new file mode 100644
index 000000000..cad3ae156
Binary files /dev/null and b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 01.png differ
diff --git a/docs/img/SurveyMaster/SparkFun RTK Survey Master - 02.png b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 02.png
new file mode 100644
index 000000000..92ddb7627
Binary files /dev/null and b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 02.png differ
diff --git a/docs/img/SurveyMaster/SparkFun RTK Survey Master - 03.png b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 03.png
new file mode 100644
index 000000000..1b84abc85
Binary files /dev/null and b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 03.png differ
diff --git a/docs/img/SurveyMaster/SparkFun RTK Survey Master - 04.png b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 04.png
new file mode 100644
index 000000000..02dc32a47
Binary files /dev/null and b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 04.png differ
diff --git a/docs/img/SurveyMaster/SparkFun RTK Survey Master - 05.png b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 05.png
new file mode 100644
index 000000000..2662556a5
Binary files /dev/null and b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 05.png differ
diff --git a/docs/img/SurveyMaster/SparkFun RTK Survey Master - 09.png b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 09.png
new file mode 100644
index 000000000..2638c9089
Binary files /dev/null and b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 09.png differ
diff --git a/docs/img/SurveyMaster/SparkFun RTK Survey Master - 10.png b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 10.png
new file mode 100644
index 000000000..ea6f54efa
Binary files /dev/null and b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 10.png differ
diff --git a/docs/img/SurveyMaster/SparkFun RTK Survey Master - 11.png b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 11.png
new file mode 100644
index 000000000..a7f047d2a
Binary files /dev/null and b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 11.png differ
diff --git a/docs/img/SurveyMaster/SparkFun RTK Survey Master - 12.png b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 12.png
new file mode 100644
index 000000000..8dffb7401
Binary files /dev/null and b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 12.png differ
diff --git a/docs/img/SurveyMaster/SparkFun RTK Survey Master - 13.png b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 13.png
new file mode 100644
index 000000000..9288f0445
Binary files /dev/null and b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 13.png differ
diff --git a/docs/img/SurveyMaster/SparkFun RTK Survey Master - 14.png b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 14.png
new file mode 100644
index 000000000..75fb883f4
Binary files /dev/null and b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 14.png differ
diff --git a/docs/img/SurveyMaster/SparkFun RTK Survey Master - 15.png b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 15.png
new file mode 100644
index 000000000..216cc7996
Binary files /dev/null and b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 15.png differ
diff --git a/docs/img/SurveyMaster/SparkFun RTK Survey Master - 16.png b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 16.png
new file mode 100644
index 000000000..be9aa561e
Binary files /dev/null and b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 16.png differ
diff --git a/docs/img/SurveyMaster/SparkFun RTK Survey Master - 21.png b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 21.png
new file mode 100644
index 000000000..9b3d34c3c
Binary files /dev/null and b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 21.png differ
diff --git a/docs/img/SurveyMaster/SparkFun RTK Survey Master - 22.png b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 22.png
new file mode 100644
index 000000000..da353a8e2
Binary files /dev/null and b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 22.png differ
diff --git a/docs/img/SurveyMaster/SparkFun RTK Survey Master - 23.png b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 23.png
new file mode 100644
index 000000000..ba4194c0c
Binary files /dev/null and b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 23.png differ
diff --git a/docs/img/SurveyMaster/SparkFun RTK Survey Master - 25.png b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 25.png
new file mode 100644
index 000000000..06243861b
Binary files /dev/null and b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 25.png differ
diff --git a/docs/img/SurveyMaster/SparkFun RTK Survey Master - 26 .jpg b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 26 .jpg
new file mode 100644
index 000000000..551326a57
Binary files /dev/null and b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 26 .jpg differ
diff --git a/docs/img/SurveyMaster/SparkFun RTK Survey Master - 27.png b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 27.png
new file mode 100644
index 000000000..5c0481167
Binary files /dev/null and b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 27.png differ
diff --git a/docs/img/SurveyMaster/SparkFun RTK Survey Master - 29.png b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 29.png
new file mode 100644
index 000000000..00864328f
Binary files /dev/null and b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 29.png differ
diff --git a/docs/img/SurveyMaster/SparkFun RTK Survey Master - 30.png b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 30.png
new file mode 100644
index 000000000..b97dc5591
Binary files /dev/null and b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 30.png differ
diff --git a/docs/img/SurveyMaster/SparkFun RTK Survey Master - 33.png b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 33.png
new file mode 100644
index 000000000..9d2d40731
Binary files /dev/null and b/docs/img/SurveyMaster/SparkFun RTK Survey Master - 33.png differ
diff --git a/docs/intro.md b/docs/intro.md
index ada4f5ae5..49f04e28c 100644
--- a/docs/intro.md
+++ b/docs/intro.md
@@ -1,6 +1,6 @@
# Introduction
-Out of the box, the SparkFun RTK products are exceptional GNSS receivers out-of-box and can be used with little or no configuration. This RTK Product Manual provides detailed descriptions of all the available features on the RTK products.
+Out of the box, the SparkFun RTK products are exceptional GNSS receivers out-of-box and can be used with little or no configuration. This RTK Product Manual provides detailed descriptions of all the available features of the RTK products.
The line of RTK products offered by SparkFun all run identical firmware. The [RTK firmware](https://github.com/sparkfun/SparkFun_RTK_Firmware) and this guide cover the following products:
@@ -44,6 +44,6 @@ or modifying a [setup file](https://sparkfun.github.io/SparkFun_RTK_Firmware/con
If you have an issue, feature request, bug report, or a general question about the RTK firmware specifically we encourage you to post your comments on the [firmware's repository](https://github.com/sparkfun/SparkFun_RTK_Firmware/issues). If you feel like bragging or showing off what you did with your RTK product, we'd be thrilled to hear about it on the issues list as well!
-Things like how to attach an antenna or other hardware specific topics are best read on the Hookup Guides for the individual products.
+Things like how to attach an antenna or other hardware-specific topics are best read on the Hookup Guides for the individual products.
diff --git a/docs/permanent_base.md b/docs/permanent_base.md
index 91fa1835f..20c591e6f 100644
--- a/docs/permanent_base.md
+++ b/docs/permanent_base.md
@@ -4,15 +4,15 @@ Surveyor: .
+**Note:** The RTK Facet and RTK Facet L-Band are rated IP53 - Protected from limited dust ingress and water spray. As such it is not recommended for permanent outdoor deployment. Use the RTK Surveyor or Express with a fully sealed [TOP106 antenna](https://www.sparkfun.com/products/17751).
**Note:** The RTK Express Plus does not support Base mode.
## Temporary vs. Fixed Base
-There are two types of bases: *Surveyed* and *Fixed*. A surveyed base is often a temporary base setup in the field. Called a 'Survey-In', this is less accurate but requires only 60 seconds to complete. The 'Fixed' base is much more accurate but the precise location at which the antenna is located must be known. A fixed base is often a structure with an antenna bolted to the side. Raw satellite signals are gathered for a few hours then processed using Precision Point Position.
+There are two types of bases: *Surveyed* and *Fixed*. A surveyed base is often a temporary base set up in the field. Called a 'Survey-In', this is less accurate but requires only 60 seconds to complete. The 'Fixed' base is much more accurate but the precise location at which the antenna is located must be known. A fixed base is often a structure with an antenna bolted to the side. Raw satellite signals are gathered for a few hours and then processed using Precision Point Position.
-In a separate tutorial we described how to [create a temporary base station](https://learn.sparkfun.com/tutorials/setting-up-a-rover-base-rtk-system) with the 1 to 10 minute survey-in method. The temporary base method is flexible, but it is not as accurate and can vary dramatically in time required. The ZED-F9P has a much faster way to provide base corrections: if you know the location of your antenna, you can set the coordinates of the receiver and it will immediately start providing RTCM corrections. The problem is ‘what is the location of the antenna?’. It’s as if you need a soldering iron to assemble your [soldering iron kit](https://www.sparkfun.com/products/retired/10624). Where do we start?
+In a separate tutorial, we described how to [create a temporary base station](https://learn.sparkfun.com/tutorials/setting-up-a-rover-base-rtk-system) with the 1 to 10-minute survey-in method. The temporary base method is flexible, but it is not as accurate and can vary dramatically in the time required. The ZED-F9P has a much faster way to provide base corrections: if you know the location of your antenna, you can set the coordinates of the receiver and it will immediately start providing RTCM corrections. The problem is ‘what is the location of the antenna?’. It’s as if you need a soldering iron to assemble your [soldering iron kit](https://www.sparkfun.com/products/retired/10624). Where do we start?
**Why don’t I just survey-in my fixed antenna to get its location?**
@@ -22,18 +22,18 @@ While a survey-in is easy to set up and fine for an in-the-field way to establis
*From Gary Miller’s [PPP HOWTO](https://gpsd.gitlab.io/gpsd/ppp-howto.html)*
-[](https://cdn.sparkfun.com/assets/learn_tutorials/1/3/6/3/Antenna_Semi-Fixed_to_roof.jpg)
+[](https://cdn.sparkfun.com/assets/learn_tutorials/1/3/6/3/Antenna_Semi-Fixed_to_roof.jpg)
*[L1/L2 antenna](https://www.sparkfun.com/products/17751) semi-fixed to a flat roof*
The PPP process works like this:
* Install an antenna in a fixed location
-* Gather 24 hours worth of raw GNSS data from that antenna
+* Gather 24 hours' worth of raw GNSS data from that antenna
* Pass the raw data to a processing center for PPP
* Obtain a highly accurate position of the antenna we use to set a ‘Fixed Mode’ on a receiver
-There are some great articles written about PPP. We’ll scrape the surface but for more information checkout:
+There are some great articles written about PPP. We’ll scrape the surface but for more information check out:
* Gary Miller’s great [PPP HOWTO](https://gpsd.gitlab.io/gpsd/ppp-howto.html)
* Emlid’s [PPP](https://docs.emlid.com/reachm2/tutorials/post-processing-workflow/ppp-introduction/)
@@ -41,7 +41,7 @@ There are some great articles written about PPP. We’ll scrape the surface but
## Affix Your Antenna
-You don’t want your antenna moving once you’ve determined its position. Consider investing in a [premium antenna](https://www.sparkfun.com/products/17751) but we’ve used the classic [u-blox L1/L2 antenna](https://www.sparkfun.com/products/15192) with good success. Mount the antenna to a proper ground plane to a fixed surface that has a very clear view of the sky. No nearby anything.
+You don’t want your antenna moving once you’ve determined its position. Consider investing in a [premium antenna](https://www.sparkfun.com/products/17751) but we’ve used the classic [u-blox L1/L2 antenna](https://www.sparkfun.com/products/15192) with good success. Mount the antenna to a proper ground plane on a fixed surface that has a very clear view of the sky. No nearby anything.
[](https://cdn.sparkfun.com/assets/learn_tutorials/1/3/6/3/Base_Antenna_-_SparkFun_u-blox_Antenna1.jpg)
@@ -49,17 +49,17 @@ You don’t want your antenna moving once you’ve determined its position. Cons
We mounted the [u-blox antenna](https://www.sparkfun.com/products/15192) to the ferrous flashing around the top of the SparkFun building. While not completely permanent, the magnets on the u-blox antenna are tested to survive automobile strength winds so it should be fine in the 100+ MPH winds experienced in the front range of Colorado. The u-blox ANN-MB-00 antenna has a 5m cable attached but this was not long enough to get from the SparkFun roof to the receiver so we attached a 10m SMA extension. It’s true that most L1/L2 antennas have a built-in amplifier but every meter of extension and every connector will slightly degrade the GNSS signal. Limit the use of connector converters and use an extension as short as possible to get where you need.
-If you want to use a [higher grade antenna](https://www.sparkfun.com/products/17751) that doesn’t have a magnetic base we’ve come up with a great way to create a stable fix point without the need for poking holes in your roof!
+If you want to use a [higher-grade antenna](https://www.sparkfun.com/products/17751) that doesn’t have a magnetic base we’ve come up with a great way to create a stable fix point without the need for poking holes in your roof!
-[](https://cdn.sparkfun.com/assets/learn_tutorials/1/3/6/3/Antenna_Semi-Fixed_to_roof.jpg)
+[](https://cdn.sparkfun.com/assets/learn_tutorials/1/3/6/3/Antenna_Semi-Fixed_to_roof.jpg)
-*Yes that’s a cinder block. Don’t laugh. It works!*
+*Yes, that’s a cinder block. Don’t laugh. It works!*
-Most surveying grade antennas have a ⅝” 11-TPI (threads per inch) thread on the bottom of the antenna. Luckily, ⅝” 11-TPI is the thread found on wedge anchors in hardware stores in the US. Wedge anchors are designed to hold walls to foundations but luckily for us we can use the same hardware to anchor an antenna. (We’ve also heard of concrete anchors that use epoxy so be sure to shop around.)
+Most surveying grade antennas have a ⅝” 11-TPI (threads per inch) thread on the bottom of the antenna. Luckily, ⅝” 11-TPI is the thread found on wedge anchors in hardware stores in the US. Wedge anchors are designed to hold walls to foundations but luckily for us, we can use the same hardware to anchor an antenna. (We’ve also heard of concrete anchors that use epoxy so be sure to shop around.)
[](https://cdn.sparkfun.com/assets/learn_tutorials/2/1/7/Setup-4.jpg)
-I needed to mount an antenna to my roof. Luckily, I had two, left over cinder blocks from a weather station that, [based on the Electric Imp](https://learn.sparkfun.com/tutorials/weather-station-wirelessly-connected-to-wunderground/all), had long since been retired.
+I needed to mount an antenna to my roof. Luckily, I had two, leftover cinder blocks from a weather station that, [based on the Electric Imp](https://learn.sparkfun.com/tutorials/weather-station-wirelessly-connected-to-wunderground/all), had long since been retired.
[](https://cdn.sparkfun.com/assets/learn_tutorials/1/3/6/3/Base_Antenna_-_Drill.jpg)
@@ -67,19 +67,19 @@ Step one is drilling the ⅝” hole into the cinder block. The masonry bit cost
[](https://cdn.sparkfun.com/assets/learn_tutorials/1/3/6/3/Base_Antenna_-_Broken_Block.jpg)
-*Ooops!*
+*Oops!*
-Don’t get greedy! I pounded the anchor so far it split the block. Luckily, I had a second block!
+Don’t get greedy! I pounded the anchor so far that it split the block. Luckily, I had a second block!
[](https://cdn.sparkfun.com/assets/learn_tutorials/1/3/6/3/Base_Antenna_-_Anchor_installed.jpg)
-Once the anchor is ~2 inches into the hole tighten the bolt. This will draw the achor back up compressing the collar into place. **Note:** I finger tightened the bolt and added a ½ turn with a wrench. If you really go after the bolt and tighten it too much you risk pushing the collar out further and breaking the cinder block in half (see Ooops! picture above). We are not anchoring a wall here, just a [400g antenna](https://www.sparkfun.com/products/17751).
+Once the anchor is ~2 inches into the hole tighten the bolt. This will draw the anchor back up compressing the collar into place. **Note:** I finger tightened the bolt and added a ½ turn with a wrench. If you really go after the bolt and tighten it too much you risk pushing the collar out further and breaking the cinder block in half (see Ooops! picture above). We are not anchoring a wall here, just a [400g antenna](https://www.sparkfun.com/products/17751).
[](https://cdn.sparkfun.com/assets/learn_tutorials/1/3/6/3/Base_Antenna_-_Antenna_attached.jpg)
I used a 2nd bolt, tightened against the antenna base, to lock it into place and prevent rotation in either direction. Astute readers will notice my TNC to SMA adapter in the picture above. It’s the wrong gender. Originally, I used an [SMA extension](https://www.sparkfun.com/products/17495) to connect my [GPS-RTK-SMA](https://www.sparkfun.com/products/16481) to my u-blox L1/L2 antenna on my roof. The GPS-RTK-SMA expects a regular SMA connection so the end of the extension would not connect to this adapter. So before you get out the ladder, test connect everything! Luckily I have a set of adapters and found the right TNC to SMA converter to suit my needs.
-[](https://cdn.sparkfun.com/assets/learn_tutorials/1/3/6/3/Antenna_Semi-Fixed_to_roof.jpg)
+[](https://cdn.sparkfun.com/assets/learn_tutorials/1/3/6/3/Antenna_Semi-Fixed_to_roof.jpg)
*It’s a bit of work getting 35lbs of concrete onto a roof but the view is pretty spectacular!*
@@ -105,7 +105,7 @@ Power on the unit and using the [serial](https://sparkfun.github.io/SparkFun_RTK

-Expand the Message Rates sub menu under the GNSS Config menu. Pressing the NMEAx5 + RXMx2 message button will turn off all messages and enable the following messages:
+Expand the Message Rates sub-menu under the GNSS Config menu. Pressing the NMEAx5 + RXMx2 message button will turn off all messages and enable the following messages:
* NMEA-GGA, NMEA-SGA, NMEA-GST, NMEA-GSV, NMEA-RMC, RXM-RAWX, RXM-SFRBX
@@ -137,7 +137,7 @@ Before leaving the unit for 6 to 24 hours, it is recommended that you capture a
*Getting UBX file from SD card*
-Remove the microSD from the RTK unit and open it on a computer. The latest log file is shown above. Note the file shown above is 492kB because it logged only ~60s. Log files with RAWX and SFRBX and NMEA will grow in size to over 1GB across 24 hours.
+Remove the microSD from the RTK unit and open it on a computer. The latest log file is shown above. Note the file shown above is 492kB because it logged only ~60 seconds. Log files with RAWX and SFRBX and NMEA will grow in size to over 1GB across 24 hours.
The quickest method to verify RAWX logging is to open the UBX file with a text editor.
@@ -147,7 +147,7 @@ The quickest method to verify RAWX logging is to open the UBX file with a text e
Your editor may render the binary UBX RAWX data in unknown ways. If you see NMEA ASCII sentences combined with large chunks of binary data, the RTK product is correctly logging RAWX data.
-If you have u-center installed, you can more easily inspect for successful logging. Double click on a UBX files to open them in u-center.
+If you have u-center installed, you can more easily inspect for successful logging. Double click on a UBX file to open them in u-center.

@@ -159,19 +159,19 @@ Press the play button (shown above) and you should see satellites quickly come i
*RAWX packet within the Packet Console*
-Open the Packet Console and verify the UBX RXM-RAWX and SFRBX packets are logged. You are now ready to do a longer log of the antenna's position. Allow this to run for 24 hours. Don’t worry if you go long but do realize that a 24 hour file will be ~1GB so don’t let it run for a month.
+Open the Packet Console and verify the UBX RXM-RAWX and SFRBX packets are logged. You are now ready to do a long survey of the antenna's position. Allow this to run for 24 hours. Don’t worry if you go long but do realize that a 24-hour file will be ~1GB so don’t let it run for a month.
[](https://cdn.sparkfun.com/assets/learn_tutorials/1/3/6/3/PPP_record_time_vs_error.jpg)
-*From Suelynn Choy ‘[GNSS Precision Point Positioning](https://www.unoosa.org/documents/pdf/icg/2018/ait-gnss/16_PPP.pdf)’ presentation 2018*
+*From Suelynn Choy's ‘[GNSS Precision Point Positioning](https://www.unoosa.org/documents/pdf/icg/2018/ait-gnss/16_PPP.pdf)’ presentation 2018*
-Capturing 6 hours is good, 24 is slightly better (note the logarithmic scale for position error in the graph above). Most PPP analyzation services will accept more than 24 hours of data but they may truncate it to 24 hours. If you capture 30 hours of RAWX data, that’s ok, we will show you how to trim a file that is too long.
+Capturing 6 hours is good, 24 is slightly better (note the logarithmic scale for position error in the graph above). Most PPP analysis services will accept more than 24 hours of data but they may truncate it to 24 hours. If you capture 30 hours of RAWX data, that’s ok, we will show you how to trim a file that is too long.
### Converting UBX to RINEX
[](https://cdn.sparkfun.com/assets/learn_tutorials/1/3/6/3/Convert_UBX_to_OBS_with_time_22_hour_window.jpg)
-Once the 24 hour log file is obtained, the 1GB UBX file will need to be converted to RINEX (Receiver Independent Exchange Format). The popular [RTKLIB](http://www.rtklib.com/) is here to help. We recommend the rtklibexplorer’s modified version of RTKLIB (available for download [here](http://rtkexplorer.com/downloads/rtklib-code/)) but you can obtain the original RTKLIB [here](http://www.rtklib.com/). Open RTKCONV. Select your UBX file and hit ‘Convert’. Our 300MB file took ~30 seconds to convert. You should see an *.obs file once complete.
+Once the 24-hour log file is obtained, the 1GB UBX file will need to be converted to RINEX (Receiver Independent Exchange Format). The popular [RTKLIB](http://www.rtklib.com/) is here to help. We recommend the rtklibexplorer’s modified version of RTKLIB (available for download [here](http://rtkexplorer.com/downloads/rtklib-code/)) but you can obtain the original RTKLIB [here](http://www.rtklib.com/). Open RTKCONV. Select your UBX file and hit ‘Convert’. Our 300MB file took ~30 seconds to convert. You should see a *.obs file once complete.
[](https://cdn.sparkfun.com/assets/learn_tutorials/1/3/6/3/RTKCNV_-_OBS_Time_stamps1.jpg)
@@ -185,9 +185,9 @@ Using these times, you can limit the time window to whatever you need and re-con
**Why don’t we crank up the fix rate? Moar is better!™**
-The RTK products can log fix rates up to 20Hz. Why not get RAWX data at greater than 1Hz? Because nature doesn’t move that fast. Most PPP analyzation services will ignore anything greater than 1Hz. OPUS goes so far as to “decimate all recording rates to 30 seconds”. And, your OBS files will be monstrously large. If 24 hours is 1GB at 1Hz, it follows that 24 hours at 30Hz will be ~30 gig. So no, keep it at 1Hz.
+The RTK products can log fix rates up to 20Hz. Why not get RAWX data at greater than 1Hz? Because nature doesn’t move that fast. Most PPP analysis services will ignore anything greater than 1Hz. OPUS goes so far as to “decimate all recording rates to 30 seconds”. And, your OBS files will be monstrously large. If 24 hours is 1GB at 1Hz, it follows that 24 hours at 30Hz will be ~30 gigs. So no, keep it at 1Hz.
-We now need to pass the raw GNSS satellite data in RINEX format (*\*.obs*) through a post processing center to try to get the actual location of the antenna. There are a handful of services but we’ve had great luck using the Canadian [CSRS-PPP service](https://webapp.geod.nrcan.gc.ca/geod/tools-outils/ppp.php?locale=en). The US National Geodetic Service provides a service called [OPUS](https://www.ngs.noaa.gov/OPUS/) but we found it to be frustratingly limited by file size and format issues. Your mileage may vary.
+We now need to pass the raw GNSS satellite data in RINEX format (*\*.obs*) through a post-processing center to try to get the actual location of the antenna. There are a handful of services but we’ve had great luck using the Canadian [CSRS-PPP service](https://webapp.geod.nrcan.gc.ca/geod/tools-outils/ppp.php?locale=en). The US National Geodetic Service provides a service called [OPUS](https://www.ngs.noaa.gov/OPUS/) but we found it to be frustratingly limited by file size and format issues. Your mileage may vary.
[](https://cdn.sparkfun.com/assets/learn_tutorials/1/3/6/3/Uploading_file_to_CSRS.jpg)
@@ -203,7 +203,7 @@ Click the 'Summary' link to open a summary of results. This summary contains the
The email will also include a [fancy PDF report](https://cdn.sparkfun.com/assets/learn_tutorials/1/3/6/3/SparkFun-PPP.pdf) of your antenna’s location but does not include the Cartesian coordinates we will need later.
-If all goes well you should have a very precise location for your antenna. For SparkFun RTK products we are most interested in ECEF coordinates. [ECEF](https://en.wikipedia.org/wiki/ECEF) is *fascinating*. Rather than lat and long, ECEF is the number of meters from the internationally agreed upon reference frame of the center of mass of the Earth. Basically, your ECEF coordinates are the distance you are from the *center of the Earth*. Neat.
+If all goes well you should have a very precise location for your antenna. For SparkFun RTK products we are most interested in ECEF coordinates. [ECEF](https://en.wikipedia.org/wiki/ECEF) is *fascinating*. Rather than lat and long, ECEF is the number of meters from the internationally agreed-upon reference frame of the center of mass of the Earth. Basically, your ECEF coordinates are the distance you are from the *center of the Earth*. Neat.
## Configuring Fixed Location
@@ -251,7 +251,7 @@ Power cycle the unit to load the Fixed ECEF coordinates. After boot, use the **S
*RTK Facet in Fixed Transmit Mode*
-Almost immediately entering Base mode, the unit will begin outputting RTCM messages. These RTCM messages are sent to the **RADIO** port on the device. This is helpful for transmitting corrections via serial radio to any Rover units within a 10km baseline.
+Almost immediately after entering Base mode, the unit will begin outputting RTCM messages. These RTCM messages are sent to the **RADIO** port on the device. This is helpful for transmitting corrections via serial radio to any Rover units within a 10km baseline.

@@ -263,13 +263,13 @@ Once WiFi connects the device will attempt to connect to the NTRIP mount point.
## Creating NTRIP Caster
-Your RTK device has the ability to both serve RTCM correction data (aka Server) to an NTRIP Caster, and get RTCM correction data (aka Client) from an NTRIP Caster. But how does one get an NTRIP Caster?
+Your RTK device can both serve RTCM correction data (aka Server) to an NTRIP Caster and get RTCM correction data (aka Client) from an NTRIP Caster. But how does one get an NTRIP Caster?
There are a variety of Windows applications out there that claim to be an NTRIP caster. We found them to be generally terrible. The easiest solutions we've found are [RTK2GO](rtk2go.com) or [Emlid Caster](caster.emlid.com). Both are free and available to the public.
### RTK2Go
-[RTK2Go](http://rtk2go.com/) seems to be a pet project of SNIP. We recommend creating a mount point and a password through RTK2GO.com. Yes, the RTK2go website looks looks spammy but the service works well and is used widely. Please see [RTK2Go](http://rtk2go.com/) for details about creating an account. It's free and takes only a few minutes. Once activated you will be provided with your Mount Point name and Mount Point PW. These two credentials are used in a NTRIP Server setup:
+[RTK2Go](http://rtk2go.com/) seems to be a pet project of SNIP. We recommend creating a mount point and a password through RTK2GO.com. Yes, the RTK2go website looks spammy but the service works well and is used widely. Please see [RTK2Go](http://rtk2go.com/) for details about creating an account. It's free and takes only a few minutes. Once activated you will be provided with your Mount Point name and Mount Point PW. These two credentials are used in an NTRIP Server setup:
**NTRIP Server:**
@@ -291,7 +291,7 @@ There are a variety of Windows applications out there that claim to be an NTRIP
* Mount Point: Provided by RTK2Go
* Mount Point PW: **Not Needed**
-The differences between Server and Client are small. The Server needs to know the mount point PW as it needs to be authorized to push data there. The Client needs to know which mount point, but does not need a mount point password.
+The differences between Server and Client are small. The Server needs to know the mount point PW as it needs to be authorized to push data there. The Client needs to know which mount point but does not need a mount point password.
**Note:** You must provide a valid email address to RTK2Go. From RTK2Go:
@@ -301,11 +301,11 @@ The differences between Server and Client are small. The Server needs to know th
*The SparkFun Mount Point 'bldr_SparkFun1'*
-To verify that your RTK product is correctly broadcasting RTCM data, you can access RTK2Go from a browser on Port 2101. This link [RTK2Go.com:2101](RTK2go.com:2101) will show a list all current NTRIP Servers that are pushing data to the RTK2Go caster, and are available to be accessed, free of charge, by any NTRIP Client in the world.
+To verify that your RTK product is correctly broadcasting RTCM data, you can access RTK2Go from a browser on Port 2101. This link [RTK2Go.com:2101](RTK2go.com:2101) will show a list of all current NTRIP Servers that are pushing data to the RTK2Go caster, and are available to be accessed, free of charge, by any NTRIP Client in the world.
### Emlid Caster
-[Emlid Caster](caster.emlid.com) is also very easy to setup and has a bit more user friendly looking website. Creating an account is very straightforward.
+[Emlid Caster](caster.emlid.com) is also very easy to set up and has a bit more user-friendly-looking website. Creating an account is very straightforward.

diff --git a/docs/system_configuration.md b/docs/system_configuration.md
index 07368044c..943d5db50 100644
--- a/docs/system_configuration.md
+++ b/docs/system_configuration.md
@@ -6,9 +6,9 @@ All device settings are stored both in internal memory and an SD card if one is
There are three ways to configure an RTK product:
-* [WiFi](https://sparkfun.github.io/SparkFun_RTK_Firmware/configure_with_wifi/) - Good for in field changes
+* [WiFi](https://sparkfun.github.io/SparkFun_RTK_Firmware/configure_with_wifi/) - Good for in-field changes
* [Serial Terminal](https://sparkfun.github.io/SparkFun_RTK_Firmware/configure_with_serial/) - Requires a computer but allows for all configuration settings
-* [Settings File](https://sparkfun.github.io/SparkFun_RTK_Firmware/configure_with_settings_file/) - Error Prone; for very advanced users only.
+* [Settings File](https://sparkfun.github.io/SparkFun_RTK_Firmware/configure_with_settings_file/) - Error-Prone; for very advanced users only.
The serial terminal method is recommended for most advanced configurations. Most, but not all settings are also available over WiFi but can be tricky to input via mobile phone.
diff --git a/docs/system_status_report.md b/docs/system_status_report.md
index 626f0001f..01014a8b2 100644
--- a/docs/system_status_report.md
+++ b/docs/system_status_report.md
@@ -2,7 +2,7 @@
Surveyor:  / Express:  / Express Plus:  / Facet:  / Facet L-Band: 
-Sending the `~` character to the device over the serial port will trigger a system status report. This is a custom NMEA style sentence, complete with CRC.
+Sending the `~` character to the device over the serial port will trigger a system status report. This is a custom NMEA-style sentence, complete with CRC.

@@ -28,4 +28,4 @@ Below is an example system status report sentence:
* 86 : Battery level (% remaining)
* *71 : The completion of the sentence and a [CRC](http://engineeringnotes.blogspot.com/2015/02/generate-crc-for-nmea-strings-arduino.html)
-**Note:** This is a custom NMEA setence, can vary in length, and may exceed the [maximum permitted sentence length](https://www.nmea.org/Assets/20160520%20txt%20amendment.pdf) of 61 characters.
\ No newline at end of file
+**Note:** This is a custom NMEA sentence, can vary in length, and may exceed the [maximum](https://www.nmea.org/Assets/20160520%20txt%20amendment.pdf) permitted sentence length](https://www.nmea.org/Assets/20160520%20txt%20amendment.pdf) of 61 characters.
\ No newline at end of file