diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/404.html b/404.html new file mode 100644 index 0000000..5e61360 --- /dev/null +++ b/404.html @@ -0,0 +1,1097 @@ + + + +
+ + + + + + + + + + + + + + + + + + + + + +Arduino
+This example assumes you are using the latest version of the Arduino IDE on your desktop. If this is your first time using the Arduino IDE, library, or board add-on, please review the following tutorials.
+ +Note
+If you've never connected an CH340 device to your computer before, you may need to install drivers for the USB-to-serial converter. Check out our section on "How to Install CH340 Drivers" for help with the installation.
+ +At the time of writing this tutorial, the RTK Everywhere Firmware currently does not support the u-blox LARA-R6 module. For users that are interested in taking advantage of cellular when Ethernet or WiFi is not available, you can check out the individual Arduino Example Sketches located in the SparkFun RTK EVK Example Sketches folder. Besides the 6x examples for the LARA-R6, you will also notice several other examples such as using the ZED-F9P, NEO-D9S, Qwiic OLED, LEDs, antenna open/short circuit detection, Ethernet, WiFi, and datalogging using the microSD card. Head to the SparkFun RTK EVK GitHub Repo to grab the files or download the .ZIP by clicking the button below.
+ + +For the scope of this tutorial, we will upload one of the examples to get started. After downloading the files, unzip the files and head to the following folder: SparkFun_RTK_EVK-main > Example Sketches. Let's test the connection between the ESP32-WROVER and LARA-R6 by clicking on the 8_1_LARA_UART_Test > 8_1_LARA_UART_Test.ino.
+Note
+Some examples may include additional header files. You'll need to click on the example that has the same title as the folder's title. Certain examples may also require an additional Arduino Library. Make sure to check the example to see if there is a #include
with the Arduino Library name near the top before compiling. You may also need to update the examples to provide any secret keys, accounts, or passwords.
Then select the associated board definition (in this case the ESP32 Wrover Module) and COM port. With a USB C cable connected to the CONFIG ESP32 port, click on the upload button. Opening the Arduino Serial Terminal at 115200 baud, the output will provide the model and SIM card information.
+Note
+At the time of writing, we used the following:
+
+
0&&i[i.length-1])&&(p[0]===6||p[0]===2)){r=0;continue}if(p[0]===3&&(!i||p[1]>i[0]&&p[1]=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function K(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var o=r.call(e),n,i=[],s;try{for(;(t===void 0||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(a){s={error:a}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(s)throw s.error}}return i}function B(e,t,r){if(r||arguments.length===2)for(var o=0,n=t.length,i;o Spot something wrong? Feel free to contribute our open-source design and documentation. All of this documentation can be modified by you! Please help us make it better. All of our designs are open-source! Please help us make it better. Let's provided some recognition to the contributors for this project! Spot something wrong? Please let us know. Attention This is not where customers should seek assistance on a product. If you require technical assistance or have questions about a product that is not working as expected, please head over to the SparkFun Technical Assistance page for some initial troubleshooting.
+ If you can't find what you need there, you'll need a Forum Account to search product forums and post questions. All of this documentation can be modified by you! Please help us make it better. If a section of the documentation is incorrect, please open an issue and let us know. All of our designs are open-source! Please help us make it better. If part of the design is confusing, please open an issue and let us know. Need to download or print our hookup guide? In this section, we'll go over how to connect to the SparkFun RTK EVK. To take advantage of the LTE cellular network with the LARA-R6, you will need to connect to the two LTE antennas on the back panel. Insert the LTE Hinged External Antenna into the SMA connector labeled as Cell 1 and rotate the threaded connector until it is finger tight. Repeat for the other SMA connector labeled as Cell 2. You will need to adjust the antenna as necessary depending on where you mount the RTK EVK. Of course, you will need to connect an active multi-band GNSS antenna to the RTK EVK. We recommend using the L1/L2/L5 Surveying Antenna (SPK6618H) that is included with the kit. This covers the L1 and L2 band for the ZED-F9P. This also includes a built-in ground plane to provide the best performance for GNSS. This antenna will also provide broad coverage of the L-Band for the correction signals. Insert the SMA connector from the interface cable to the SMA connector labeled as GNSS. Tighten the hex nut until it is finger tight. Connect the TNC connector side from the interface cable to the to the SPK6618H antenna. Tighten the threaded connector until it is finger tight. You will need to mount the antenna in an area where it gest the best view of the sky (we recommend the roof). There is mounting hardware where you can permanently mount the antenna to a structure or support. There is also a magnetic mount to attach to a metal structure as well. For the scope of this tutorial, we will not go over the details of installing the antenna. For WiFi and Bluetooth using the ESP32, you will need to connect the 2.4GHz Duck Antenna to the RPSMA connector labeled as ESP32. Insert the antenna into the RPSMA connector and tighten the threaded connector until it is finger tight. Note For users that need an extension cable to mount the antenna to a location that is farther away from the RTK EVK, you could use the Interface Cable - RP-SMA Male to RP-SMA Female (10M, RG58). For users that are connecting Ethernet or using power from the PoE, you will need to connect the Ethernet cable between the RTK EVK and your PoE network switch. Insert the Ethernet cable to the RJ45 MagJack connector until you hear a click. Then insert the other end into the network switch. You can connect to the ESP32 by inserting the USB-C connector into the port labeled as CONFIG ESP32 and inserting the other end of the cable to your computer's USB port. This will power the RTK EVK, allow you to upload custom code, manually update the firmware binaries, or connect to a serial terminal. You can connect to the ZED-F9P, NEO-D9S, or LARA-R6 by inserting the USB-C connector into the port labeled as CONFIG UBLOX and inserting the other end to your computer's USB port. This will power the RTK EVK and allow you to connect the modules to u-center or m-center (for the LARA-R6). To insert a microSD card, slide the microSD card into the microSD socket until it clicks in place. Pushing the microSD card again will eject the memory card. Note If you're using a SIM card from Hologram, you'll need to follow a few quick steps to activate your SIM card.
+ For more help activating your Hologram SIM card, check out their Connect Your Device documentation. To take advantage of the LARA-R6, insert the nano SIM card into the nano SIM socket until it clicks. In this case, we used a Hologram card. Insert the SIM with the contacts facing down, insert the edge with the chamfered corner first. Note You will need to remove the nano SIM card from the 3-in-1 SIM card holder when you initially receive the Hologram card. Just "punch" out the pre-cut nano SIM card size out by pushing it out with your fingers. Make sure to avoid touching the gold contacts with your bare hands. To connect to a pin on the screw terminal block, insert a stripped wire of any length into the I/O screw terminal. Of course, you could use jumper wires with pins as well. Secure the wire by tightening the screw using a precision 2.5mm flathead screw driver. Test the connection by gently pulling the wires to ensure that they are secure. If necessary, users can remove the terminal block off by wiggling the connector or using a spudger. When ready, users can slide the I/O terminal block back into the socket. Tip Don't have spudger? A good substitute includes a flathead screw driver, plastic card, or the PCB ruler. Using a tool will make it easier to remove the I/O terminal block. Users can connect a radio transceiver to the ZED-F9P UART2 port for correction data. We recommend using a breadboard to JST-GHR-06V cable to connect the SiK Telemetry Radio. Note that the cable is included with the LoRaSerial Kit. For users with the using a telemetry radio, you will need to connect the UART pins and ground to the screw terminal block. Note that this connection is only for the serial UART connection. To power, we recommend using an external 5V voltage source since 5V is not broken out. While there is a 3V3 pin available, the voltage will not be enough to fully power the radio module. One method is connecting a micro-B USB cable and 5V USB wall adapter to the Telemetry Radio. For users with the LoRaSerial, you will also be connecting the UART pins and ground to the screw terminal block. To power, we also recommend using an external 5V voltage source for power such as a USB C cable and 5V USB wall adapter. There are various PTHs throughout the PCB. Most are used with the testbeds for quality control but they are available for you to connect! For temporary connections to the PTHs, you could use IC hooks to test out the pins. However, you'll need to solder headers or wires of your choice to the board for a secure connection. You can choose between header pins and jumper wires, or stripping wire and soldering the wire directly to the board. The electronics of the SparkFun RTK EVK is enclosed in a custom extruded aluminum case with machined end panels and slotted flanges. The image below shows a top and bottom view of the populated PCB without the enclosure. The SparkFun RTK EVK can be powered from the connectors on the front or the back of the board. There is no internal battery. Schottky protection diodes and a resettable fuse are included to prevent conflicting voltages and overvoltage protection. Voltage is then regulated down to 3.3V through the three voltage regulators. Power can also be provided from the I/O screw terminals or PoE. There is also an output power pin for 3.3V on the I/O screw terminal. A CH340 USB-to-Serial converter is included between the USB-C connector and the ESP32. The chip can be used to send serial data between the RTK EVK and computer. You can view the output or configure the device through a serial terminal. You can also manually upload new firmware as well. The driver should automatically install on most operating systems. However, there is a wide range of operating systems out there. You may need to install drivers the first time you connect the chip to your computer's USB port or when there are operating system updates. For more information, check out our How to Install CH340 Drivers Tutorial. The RTK Everywhere firmware is pre-loaded with the RTK EVK and flashed to the ESPRESSIF ESP32-WROVER module (with 16MB flash and 8MB PSRAM). The ESP32 handles all the processes. You can configure the EVK as a RTK base and push corrections to an NTRIP Caster. You can also configure the EVK as a RTK Rover and use corrections delivered over WiFi or Bluetooth. You can even update firmware over-the-air. For more information, we recommend checking out the RTK Everywhere Product Manual. Note The ESP32-WROVER module can only connect to a 2.4GHz WiFi network. Unfortunately, 5GHz is not supported on the ESP32-WROVER module. For users that want to configure the ESP32 using a serial terminal, you will simply need to connect the CONFIG ESP32 to your computer's USB port. Once connected, open a serial terminal set to 115200 baud and press any key to open the serial configuration menu. Of course, this is only one method of adjusting the settings. You can also change the settings through WiFi, Bluetooth, and a text file saved on a microSD card. The screw terminal on the back includes an I2C port. This is connected to the ESP32's primary I2C port and is shared by the ZED-F9P and NEO-D9S. Note 3.3V and GND are also conveniently placed next to the SCL and SDA pins. These follow the same pinout as most of the SparkFun I2C breakout boards with PTHs. The I2C peripherals connected to the primary I2C port and their address are listed below: Inside of the enclosure, there is a Qwiic vertical port available. This is connected to the Qwiic OLED via a Qwiic cable. This port is connected to the ESP32's secondary I2C port with SCL connected to pin 15 and SDA connected to pin 12. The logic level is also 3.3V. Currently, there are no pull-up resistors attached to this line. To attach the 2.2kΩ pull-up resistors to the port, you will just need to add a solder blob to the I2C jumper. The I2C peripheral connected to the secondary I2C port and their address is listed below: The RTK EVK includes the SparkFun Qwiic OLED - (1.3in., 128x64). This is connected to the ESP32 via a Qwiic port contained within the enclosure. As stated earlier, the default address for the display is 0x3D. The display provides useful information about the RTK EVK without needing to connect to a serial terminal. Below show some of the possible outputs from the RTK EVK. The icons are explained further in the RTK Everywhere Product Manual > Hardware > Displays. The image below shows the Bluetooth MAC address of the RTK EVK on the upper left hand corner of the screen. If there is a Bluetooth connection, the Blueooth symbol will display. To the right is the WiFi symbol. To the right of the WiFi symbol is the icon indicating the selected dynamic model, in this case it's the default portable icon. On the upper far right, is the Ethernet connection symbol. Below the Bluetooth MAC address is the RTK float solution symbol. The number to the right indicates the horizontal position accuracy. In this case, there is an RTK float since the value is between 0.400 meters to 0.200 meters. To the right is the satellites in view symbol and number of satellites. The additional antenna lines indicates that the RTK EVK that there is successful reception and decryptions of L-band corrections. Finally, the rotating semi-circle indicates the RTK EVK firmware is running. This changes to a logging icon when data is being logged to microSD card. The image below is similar to the previous display output. You'll notice a few differences. The arrow pointing down indicates that there are corrections being received. The Ethernet symbol is also not displaying since there was no Ethernet connection at that moment. The horizontal positional accuracy indicates that there is a RTK fixed solution with the double cross hairs since the value is below 0.200 meters. Finally, the display is showing 29 satellites in view and no L-band corrections. The RTK EVK wouldn't be a an RTK without well... a high precision RTK. The RTK EVK includes a built-in u-blox ZED-F9P module for high precision GNSS. You will need to connect an active multiband antenna that is capable of receiving L1 and L2 signals. The ZED-F9P can be set as a base station or rover. There are several options to send or receive correction data depending on the mode: Ethernet, WiFi network, LTE cellular network, or the NEO-D9S. Note that the RTK Everywhere firmware does not currently support cellular, but there are separate code examples showing how to receive localized corrections from PointPerfect via cellular. As stated earlier, the ZED-F9P is connected to the primary I2C port and uses the default address of 0x42. Below are a few specifications taken from the ZED-F9P's datasheet: The screw terminal on the back includes a UART port. This is connected to the ZED-F9P's secondary UART port (UART2) for users that want to connect to other high precision GNSS modules for correction data. The screw terminal on the back includes an external interrupt for the ZED-F9P. The interrupt can either be an input/output pin. This can be configured using u-center to bring the module out of deep sleep or to output an interrupt for various module states. In the RTK Everywhere firmware, this terminal can be used to trigger and log a UBX-TIM-TM2 timing message. The logic level is 3.3V. The screw terminal on the back labeled as TP includes ZED-F9Ps time pulse output (i.e. the pulse-per-second or PPS output). This pulses at 1Hz when the module gets basic GPS/GNSS position lock and can be configured using the u-center. The logic level is 3.3V. The RTK EVK includes the built-in u-blox NEO-D9S for correction data. You will need to connect an antenna that is capable of receiving signals from the L-band to access u-blox PointPerfect correction service. The NEO-D9S is connected to the primary I2C port and uses the default address of 0x43. You will need a service provider to access the correction data. Below are a few specifications taken from the NEO-D9S's datasheet: The front of the RTK EVK includes a microSD card socket. Insert a microSD card into the socket until it clicks in place. Pushing the microSD card again will eject the memory card. This is connected to the ESP32's SPI port. Power is provided by the secondary power source. Users can manually flash the firmware binaries using the microSD card as opposed to over-the-air updates. Typically, the microSD card is for datalogging. The microSD card can also hold the user preferences for anyone that is interested in deploying multiple RTK EVKs with the same settings out in the field. The RTK EVK also includes the u-blox LARA-R6 cellular module for users that need to connect to a LTE cellular network. The module is connected to the ESP32 via UART. Below are a few specifications taken from the LARA-R6's datasheet: Note Although the LARA supports GSM/GPRS, the RTK EVK does not due to the high current required. Note Currently, the RTK Everywhere firmware does not support cellular with the LARA-R6. However, we have written and tested extra code examples which will allow you to stream MQTT correction data from a u-blox PointPerfect Localized Distribution topic via the LARA-R6 cellular chip. This example demonstrates how easy it is to subscribe to PointPerfect and only receive the IP correction data you need for your location, minimizing your cellular data costs. To connect to an cellular network with the built-in u-blox LARA-R6 (specifically the LARA-R6001D), you will need a nano SIM card. The cellular module works with most major North American carriers (Verizon, T-Mobile, AT&T, etc.). Make sure to check with your network service provider for compatibility. You also may need approval with the service carrier before the service is activated. We recommend using the Hologram SIM Card. Insert the SIM with the contacts facing down, insert the edge with the chamfered corner first. The RTK EVK includes a built-in Ethernet circuitry. You can connect an Ethernet cable to the back of the RTK EVK's RJ45 MagJack port. This connector includes status LEDs for Link and Activity. These LEDs can be disabled by cutting the jumpers on the back of the PCB. The port connects to the Power-over-Ethernet (PoE) module and WIZnet W5500 Ethernet transceiver. 10/100Mbps is supported with auto-negotiation. As stated earlier, the PoE module can be powered using the standard PoE voltages between +36V to +57V. Make sure to choose a PoE Ethernet Switch that meeds your needs. We have had good experience with the TP Link TL-SG1005P - available from many retailers including Amazon. The back of the SparkFun RTK EVK includes a few connectors for cellular, GNSS, and WiFi antennas. GNSS — The SMA connector labeled as GNSS is for the u-blox ZED-F9P and NEO-D9S. This is connected to a GNSS splitter (Power Divider) and allows you to connect a single GNSS antenna for both modules. This is intended to connect an active multiband GNSS antenna using the SMA male to TNC male interface cable that is included in the kit. The RTK EVK provides 5V on this connector for an active multiband antenna instead of the usual 3.3V. Short-circuit and open-circuit detection is built into this connection as well. The following icons will flash whenever the RTK EVK does not detect an antenna (i.e. an open circuit) or if there is a short in the cable. Next to the icons will also indicate that there will be 0 satellites in view. ESP32 — The RP-SMA connector labeled as ESP32 is for the ESP32-WROVER. This is intended to connect the 2.4GHz WiFi/BT antenna. There are two buttons located on the front of the SparkFun RTK EVK. RTK Modes — The available modes for the RTK Everywhere firmware are listed below. A single press brings up the mode menu. Press the button again to step through the available modes listed below. Pause on the highlighted mode then double-click to select it and change to that mode. For more information on the modes, make sure to check out the RTK Everywhere Manual. Bootloader Mode — The boot button usually allows users to force the ESP32 into bootloader mode to manually upload new code to the ESP32. There are three LEDs available: Note If this is your first time working with jumpers, check out the How to Work with Jumper Pads and PCB Traces tutorial for more information. The RTK EVK includes various jumpers on the back of the PCB. The SparkFun RTK EVK is designed around the Metal Enclosure - Custom Aluminum Extrusion (6in. x 4in. PCB). You can find the dimensions of the enclosure below. Within the enclosure is the RTK EVK PCB. You can find the board dimensions below. For users interested in the dimensions of the surveying antenna, it is also listed below from the SPK6618H datasheet. The SparkFun RTK EVK (Evaluation Kit) is the perfect development platform for your fixed or mobile high-precision positioning and navigation needs. In terms of connectivity, the SparkFun RTK EVK has the lot: WiFi / BT, Ethernet and LTE cellular! We called it the EVK (Evaluation Kit) as it truly covers all the options: L1 + L2 RTK GNSS, with L-Band correction built-in if needed, running on an agile processor with memory to spare! Note Currently, the RTK Everywhere firmware does not support cellular with the LARA-R6. However, we have written and tested extra code examples which will allow you to stream MQTT correction data from a u-blox PointPerfect Localized Distribution topic via the LARA-R6 cellular chip. This example demonstrates how easy it is to subscribe to PointPerfect and only receive the IP correction data you need for your location, minimizing your cellular data costs. In this tutorial we'll go over the hardware, assembly, and how get started with the SparkFun RTK. The SparkFun RTK EVK comes with everything you need to get up and running. Our kit includes: Depending on where you are installing the SparkFun RTK EVK, you also might need some mounting accessories to mount the GNSS antenna. You will want to mount the antenna in a location with the best view to of the sky (i.e. a roof). The RTK EVK comes with a custom extruded aluminum enclosure. The slotted flanges make it easy to install and secure the enclosure in many locations. If you are going to permanently install it up on a roof, you're going to need a suitable weatherproof box too. We found that the Orbit 57095 - also available from Amazon - was a good one back when we put together our first DIY GNSS Reference Station. AC Not Required! The Orbit enclosure comes with a built-in power outlet, but you don't actually need it! The RTK EVK can be powered by Power-over-Ethernet (PoE), meaning all you really need to run up to the roof is a standard 8-core CAT-6 Ethernet cable. Choose a PoE Ethernet Switch that meets your needs. We have had good experiences with the TP-Link TL-SG1005P - available from many retailers including Amazon. The following interface cables are great if say you are mounting the SparkFun RTK EVK in your home on a desk or lab bench and installing the antenna outdoors. Finally, if you're going to be logging a lot of data, you might want to stock up on 32GB microSD cards too. The RTK EVK can log 'raw' GNSS data messages (RAWX and SFRBX) at 4Hz if desired. At that rate, you're logging about 10kB per second, close to 40MB per hour or 1GB per day! Below are a few tools and accessories that you may need when connecting to the I/O terminal block on the back of the RTK EVK. If you aren’t familiar with the following concepts, we also recommend checking out a few of these tutorials before continuing. You may also be interested in the following blog posts on GNSS technologies. The SparkFun RTK EVK runs on universal firmware created by SparkFun called RTK Everywhere. You can find its source through the RTK Everywhere GitHub repo. Make sure to check out the Quick Start Guide for the RTK EVK for a summary of how to get it connected over Bluetooth. You will also find more information about navigating through the configuration menu, updating firmware, and more in the product manual! Now that you've successfully got your SparkFun RTK EVK up and running, it's time to incorporate it into your own project! For more information, check out the resources below: For user that are taking advantage of the Zero-Touch RTK for correction services, make sure to click on the link below! This link will allow you to register, reactivate, or cancel your RTK EVK's correction service. Placeholder file for index redirect functionality. Arduino This example assumes you are using the latest version of the Arduino IDE on your desktop. If this is your first time using the Arduino IDE, library, or board add-on, please review the following tutorials. Note If you've never connected an CH340 device to your computer before, you may need to install drivers for the USB-to-serial converter. Check out our section on \"How to Install CH340 Drivers\" for help with the installation. At the time of writing this tutorial, the RTK Everywhere Firmware currently does not support the u-blox LARA-R6 module. For users that are interested in taking advantage of cellular when Ethernet or WiFi is not available, you can check out the individual Arduino Example Sketches located in the SparkFun RTK EVK Example Sketches folder. Besides the 6x examples for the LARA-R6, you will also notice several other examples such as using the ZED-F9P, NEO-D9S, Qwiic OLED, LEDs, antenna open/short circuit detection, Ethernet, WiFi, and datalogging using the microSD card. Head to the SparkFun RTK EVK GitHub Repo to grab the files or download the .ZIP by clicking the button below. For the scope of this tutorial, we will upload one of the examples to get started. After downloading the files, unzip the files and head to the following folder: SparkFun_RTK_EVK-main > Example Sketches. Let's test the connection between the ESP32-WROVER and LARA-R6 by clicking on the 8_1_LARA_UART_Test > 8_1_LARA_UART_Test.ino. Note Some examples may include additional header files. You'll need to click on the example that has the same title as the folder's title. Certain examples may also require an additional Arduino Library. Make sure to check the example to see if there is a Then select the associated board definition (in this case the ESP32 Wrover Module) and COM port. With a USB C cable connected to the CONFIG ESP32 port, click on the upload button. Opening the Arduino Serial Terminal at 115200 baud, the output will provide the model and SIM card information. Note At the time of writing, we used the following: =q){if(s=W.limit_backward,W.limit_backward=q,W.ket=W.cursor,e=W.find_among_b(P,7))switch(W.bra=W.cursor,e){case 1:if(l()){if(i=W.limit-W.cursor,!W.eq_s_b(1,"s")&&(W.cursor=W.limit-i,!W.eq_s_b(1,"t")))break;W.slice_del()}break;case 2:W.slice_from("i");break;case 3:W.slice_del();break;case 4:W.eq_s_b(2,"gu")&&W.slice_del()}W.limit_backward=s}}function b(){var e=W.limit-W.cursor;W.find_among_b(U,5)&&(W.cursor=W.limit-e,W.ket=W.cursor,W.cursor>W.limit_backward&&(W.cursor--,W.bra=W.cursor,W.slice_del()))}function d(){for(var e,r=1;W.out_grouping_b(F,97,251);)r--;if(r<=0){if(W.ket=W.cursor,e=W.limit-W.cursor,!W.eq_s_b(1,"é")&&(W.cursor=W.limit-e,!W.eq_s_b(1,"è")))return;W.bra=W.cursor,W.slice_from("e")}}function k(){if(!w()&&(W.cursor=W.limit,!f()&&(W.cursor=W.limit,!m())))return W.cursor=W.limit,void _();W.cursor=W.limit,W.ket=W.cursor,W.eq_s_b(1,"Y")?(W.bra=W.cursor,W.slice_from("i")):(W.cursor=W.limit,W.eq_s_b(1,"ç")&&(W.bra=W.cursor,W.slice_from("c")))}var p,g,q,v=[new r("col",-1,-1),new r("par",-1,-1),new r("tap",-1,-1)],h=[new r("",-1,4),new r("I",0,1),new r("U",0,2),new r("Y",0,3)],z=[new r("iqU",-1,3),new r("abl",-1,3),new r("Ièr",-1,4),new r("ièr",-1,4),new r("eus",-1,2),new r("iv",-1,1)],y=[new r("ic",-1,2),new r("abil",-1,1),new r("iv",-1,3)],C=[new r("iqUe",-1,1),new r("atrice",-1,2),new r("ance",-1,1),new r("ence",-1,5),new r("logie",-1,3),new r("able",-1,1),new r("isme",-1,1),new r("euse",-1,11),new r("iste",-1,1),new r("ive",-1,8),new r("if",-1,8),new r("usion",-1,4),new r("ation",-1,2),new r("ution",-1,4),new r("ateur",-1,2),new r("iqUes",-1,1),new r("atrices",-1,2),new r("ances",-1,1),new r("ences",-1,5),new r("logies",-1,3),new r("ables",-1,1),new r("ismes",-1,1),new r("euses",-1,11),new r("istes",-1,1),new r("ives",-1,8),new r("ifs",-1,8),new r("usions",-1,4),new r("ations",-1,2),new r("utions",-1,4),new r("ateurs",-1,2),new r("ments",-1,15),new r("ements",30,6),new r("issements",31,12),new r("ités",-1,7),new r("ment",-1,15),new r("ement",34,6),new r("issement",35,12),new r("amment",34,13),new r("emment",34,14),new r("aux",-1,10),new r("eaux",39,9),new r("eux",-1,1),new r("ité",-1,7)],x=[new r("ira",-1,1),new r("ie",-1,1),new r("isse",-1,1),new r("issante",-1,1),new r("i",-1,1),new r("irai",4,1),new r("ir",-1,1),new r("iras",-1,1),new r("ies",-1,1),new r("îmes",-1,1),new r("isses",-1,1),new r("issantes",-1,1),new r("îtes",-1,1),new r("is",-1,1),new r("irais",13,1),new r("issais",13,1),new r("irions",-1,1),new r("issions",-1,1),new r("irons",-1,1),new r("issons",-1,1),new r("issants",-1,1),new r("it",-1,1),new r("irait",21,1),new r("issait",21,1),new r("issant",-1,1),new r("iraIent",-1,1),new r("issaIent",-1,1),new r("irent",-1,1),new r("issent",-1,1),new r("iront",-1,1),new r("ît",-1,1),new r("iriez",-1,1),new r("issiez",-1,1),new r("irez",-1,1),new r("issez",-1,1)],I=[new r("a",-1,3),new r("era",0,2),new r("asse",-1,3),new r("ante",-1,3),new r("ée",-1,2),new r("ai",-1,3),new r("erai",5,2),new r("er",-1,2),new r("as",-1,3),new r("eras",8,2),new r("âmes",-1,3),new r("asses",-1,3),new r("antes",-1,3),new r("âtes",-1,3),new r("ées",-1,2),new r("ais",-1,3),new r("erais",15,2),new r("ions",-1,1),new r("erions",17,2),new r("assions",17,3),new r("erons",-1,2),new r("ants",-1,3),new r("és",-1,2),new r("ait",-1,3),new r("erait",23,2),new r("ant",-1,3),new r("aIent",-1,3),new r("eraIent",26,2),new r("èrent",-1,2),new r("assent",-1,3),new r("eront",-1,2),new r("ât",-1,3),new r("ez",-1,2),new r("iez",32,2),new r("eriez",33,2),new r("assiez",33,3),new r("erez",32,2),new r("é",-1,2)],P=[new r("e",-1,3),new r("Ière",0,2),new r("ière",0,2),new r("ion",-1,1),new r("Ier",-1,2),new r("ier",-1,2),new r("ë",-1,4)],U=[new r("ell",-1,-1),new r("eill",-1,-1),new r("enn",-1,-1),new r("onn",-1,-1),new r("ett",-1,-1)],F=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,128,130,103,8,5],S=[1,65,20,0,0,0,0,0,0,0,0,0,0,0,0,0,128],W=new s;this.setCurrent=function(e){W.setCurrent(e)},this.getCurrent=function(){return W.getCurrent()},this.stem=function(){var e=W.cursor;return n(),W.cursor=e,u(),W.limit_backward=e,W.cursor=W.limit,k(),W.cursor=W.limit,b(),W.cursor=W.limit,d(),W.cursor=W.limit_backward,o(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}}(),e.Pipeline.registerFunction(e.fr.stemmer,"stemmer-fr"),e.fr.stopWordFilter=e.generateStopWordFilter("ai aie aient aies ait as au aura aurai auraient aurais aurait auras aurez auriez aurions aurons auront aux avaient avais avait avec avez aviez avions avons ayant ayez ayons c ce ceci celà ces cet cette d dans de des du elle en es est et eu eue eues eurent eus eusse eussent eusses eussiez eussions eut eux eûmes eût eûtes furent fus fusse fussent fusses fussiez fussions fut fûmes fût fûtes ici il ils j je l la le les leur leurs lui m ma mais me mes moi mon même n ne nos notre nous on ont ou par pas pour qu que quel quelle quelles quels qui s sa sans se sera serai seraient serais serait seras serez seriez serions serons seront ses soi soient sois soit sommes son sont soyez soyons suis sur t ta te tes toi ton tu un une vos votre vous y à étaient étais était étant étiez étions été étée étées étés êtes".split(" ")),e.Pipeline.registerFunction(e.fr.stopWordFilter,"stopWordFilter-fr")}});
\ No newline at end of file
diff --git a/assets/javascripts/lunr/min/lunr.he.min.js b/assets/javascripts/lunr/min/lunr.he.min.js
new file mode 100644
index 0000000..b863d3e
--- /dev/null
+++ b/assets/javascripts/lunr/min/lunr.he.min.js
@@ -0,0 +1 @@
+!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.he=function(){this.pipeline.reset(),this.pipeline.add(e.he.trimmer,e.he.stopWordFilter,e.he.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.he.stemmer))},e.he.wordCharacters="֑-״א-תa-zA-Za-zA-Z0-90-9",e.he.trimmer=e.trimmerSupport.generateTrimmer(e.he.wordCharacters),e.Pipeline.registerFunction(e.he.trimmer,"trimmer-he"),e.he.stemmer=function(){var e=this;return e.result=!1,e.preRemoved=!1,e.sufRemoved=!1,e.pre={pre1:"ה ו י ת",pre2:"ב כ ל מ ש כש",pre3:"הב הכ הל המ הש בש לכ",pre4:"וב וכ ול ומ וש",pre5:"מה שה כל",pre6:"מב מכ מל ממ מש",pre7:"בה בו בי בת כה כו כי כת לה לו לי לת",pre8:"ובה ובו ובי ובת וכה וכו וכי וכת ולה ולו ולי ולת"},e.suf={suf1:"ך כ ם ן נ",suf2:"ים ות וך וכ ום ון ונ הם הן יכ יך ינ ים",suf3:"תי תך תכ תם תן תנ",suf4:"ותי ותך ותכ ותם ותן ותנ",suf5:"נו כם כן הם הן",suf6:"ונו וכם וכן והם והן",suf7:"תכם תכן תנו תהם תהן",suf8:"הוא היא הם הן אני אתה את אנו אתם אתן",suf9:"ני נו כי כו כם כן תי תך תכ תם תן",suf10:"י ך כ ם ן נ ת"},e.patterns=JSON.parse('{"hebrewPatterns": [{"pt1": [{"c": "ה", "l": 0}]}, {"pt2": [{"c": "ו", "l": 0}]}, {"pt3": [{"c": "י", "l": 0}]}, {"pt4": [{"c": "ת", "l": 0}]}, {"pt5": [{"c": "מ", "l": 0}]}, {"pt6": [{"c": "ל", "l": 0}]}, {"pt7": [{"c": "ב", "l": 0}]}, {"pt8": [{"c": "כ", "l": 0}]}, {"pt9": [{"c": "ש", "l": 0}]}, {"pt10": [{"c": "כש", "l": 0}]}, {"pt11": [{"c": "בה", "l": 0}]}, {"pt12": [{"c": "וב", "l": 0}]}, {"pt13": [{"c": "וכ", "l": 0}]}, {"pt14": [{"c": "ול", "l": 0}]}, {"pt15": [{"c": "ומ", "l": 0}]}, {"pt16": [{"c": "וש", "l": 0}]}, {"pt17": [{"c": "הב", "l": 0}]}, {"pt18": [{"c": "הכ", "l": 0}]}, {"pt19": [{"c": "הל", "l": 0}]}, {"pt20": [{"c": "המ", "l": 0}]}, {"pt21": [{"c": "הש", "l": 0}]}, {"pt22": [{"c": "מה", "l": 0}]}, {"pt23": [{"c": "שה", "l": 0}]}, {"pt24": [{"c": "כל", "l": 0}]}]}'),e.execArray=["cleanWord","removeDiacritics","removeStopWords","normalizeHebrewCharacters"],e.stem=function(){var r=0;for(e.result=!1,e.preRemoved=!1,e.sufRemoved=!1;r
=a&&(r=w.limit_backward,w.limit_backward=a,w.ket=w.cursor,e=w.find_among_b(m,29),w.limit_backward=r,e))switch(w.bra=w.cursor,e){case 1:w.slice_del();break;case 2:n=w.limit-w.cursor,w.in_grouping_b(c,98,122)?w.slice_del():(w.cursor=w.limit-n,w.eq_s_b(1,"k")&&w.out_grouping_b(d,97,248)&&w.slice_del());break;case 3:w.slice_from("er")}}function t(){var e,r=w.limit-w.cursor;w.cursor>=a&&(e=w.limit_backward,w.limit_backward=a,w.ket=w.cursor,w.find_among_b(u,2)?(w.bra=w.cursor,w.limit_backward=e,w.cursor=w.limit-r,w.cursor>w.limit_backward&&(w.cursor--,w.bra=w.cursor,w.slice_del())):w.limit_backward=e)}function o(){var e,r;w.cursor>=a&&(r=w.limit_backward,w.limit_backward=a,w.ket=w.cursor,e=w.find_among_b(l,11),e?(w.bra=w.cursor,w.limit_backward=r,1==e&&w.slice_del()):w.limit_backward=r)}var s,a,m=[new r("a",-1,1),new r("e",-1,1),new r("ede",1,1),new r("ande",1,1),new r("ende",1,1),new r("ane",1,1),new r("ene",1,1),new r("hetene",6,1),new r("erte",1,3),new r("en",-1,1),new r("heten",9,1),new r("ar",-1,1),new r("er",-1,1),new r("heter",12,1),new r("s",-1,2),new r("as",14,1),new r("es",14,1),new r("edes",16,1),new r("endes",16,1),new r("enes",16,1),new r("hetenes",19,1),new r("ens",14,1),new r("hetens",21,1),new r("ers",14,1),new r("ets",14,1),new r("et",-1,1),new r("het",25,1),new r("ert",-1,3),new r("ast",-1,1)],u=[new r("dt",-1,-1),new r("vt",-1,-1)],l=[new r("leg",-1,1),new r("eleg",0,1),new r("ig",-1,1),new r("eig",2,1),new r("lig",2,1),new r("elig",4,1),new r("els",-1,1),new r("lov",-1,1),new r("elov",7,1),new r("slov",7,1),new r("hetslov",9,1)],d=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],c=[119,125,149,1],w=new n;this.setCurrent=function(e){w.setCurrent(e)},this.getCurrent=function(){return w.getCurrent()},this.stem=function(){var r=w.cursor;return e(),w.limit_backward=r,w.cursor=w.limit,i(),w.cursor=w.limit,t(),w.cursor=w.limit,o(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}}(),e.Pipeline.registerFunction(e.no.stemmer,"stemmer-no"),e.no.stopWordFilter=e.generateStopWordFilter("alle at av bare begge ble blei bli blir blitt både båe da de deg dei deim deira deires dem den denne der dere deres det dette di din disse ditt du dykk dykkar då eg ein eit eitt eller elles en enn er et ett etter for fordi fra før ha hadde han hans har hennar henne hennes her hjå ho hoe honom hoss hossen hun hva hvem hver hvilke hvilken hvis hvor hvordan hvorfor i ikke ikkje ikkje ingen ingi inkje inn inni ja jeg kan kom korleis korso kun kunne kva kvar kvarhelst kven kvi kvifor man mange me med medan meg meget mellom men mi min mine mitt mot mykje ned no noe noen noka noko nokon nokor nokre nå når og også om opp oss over på samme seg selv si si sia sidan siden sin sine sitt sjøl skal skulle slik so som som somme somt så sånn til um upp ut uten var vart varte ved vere verte vi vil ville vore vors vort vår være være vært å".split(" ")),e.Pipeline.registerFunction(e.no.stopWordFilter,"stopWordFilter-no")}});
\ No newline at end of file
diff --git a/assets/javascripts/lunr/min/lunr.pt.min.js b/assets/javascripts/lunr/min/lunr.pt.min.js
new file mode 100644
index 0000000..6c16996
--- /dev/null
+++ b/assets/javascripts/lunr/min/lunr.pt.min.js
@@ -0,0 +1,18 @@
+/*!
+ * Lunr languages, `Portuguese` language
+ * https://github.com/MihaiValentin/lunr-languages
+ *
+ * Copyright 2014, Mihai Valentin
+ * http://www.mozilla.org/MPL/
+ */
+/*!
+ * based on
+ * Snowball JavaScript Library v0.3
+ * http://code.google.com/p/urim/
+ * http://snowball.tartarus.org/
+ *
+ * Copyright 2010, Oleg Mazko
+ * http://www.mozilla.org/MPL/
+ */
+
+!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.pt=function(){this.pipeline.reset(),this.pipeline.add(e.pt.trimmer,e.pt.stopWordFilter,e.pt.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.pt.stemmer))},e.pt.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.pt.trimmer=e.trimmerSupport.generateTrimmer(e.pt.wordCharacters),e.Pipeline.registerFunction(e.pt.trimmer,"trimmer-pt"),e.pt.stemmer=function(){var r=e.stemmerSupport.Among,s=e.stemmerSupport.SnowballProgram,n=new function(){function e(){for(var e;;){if(z.bra=z.cursor,e=z.find_among(k,3))switch(z.ket=z.cursor,e){case 1:z.slice_from("a~");continue;case 2:z.slice_from("o~");continue;case 3:if(z.cursor>=z.limit)break;z.cursor++;continue}break}}function n(){if(z.out_grouping(y,97,250)){for(;!z.in_grouping(y,97,250);){if(z.cursor>=z.limit)return!0;z.cursor++}return!1}return!0}function i(){if(z.in_grouping(y,97,250))for(;!z.out_grouping(y,97,250);){if(z.cursor>=z.limit)return!1;z.cursor++}return g=z.cursor,!0}function o(){var e,r,s=z.cursor;if(z.in_grouping(y,97,250))if(e=z.cursor,n()){if(z.cursor=e,i())return}else g=z.cursor;if(z.cursor=s,z.out_grouping(y,97,250)){if(r=z.cursor,n()){if(z.cursor=r,!z.in_grouping(y,97,250)||z.cursor>=z.limit)return;z.cursor++}g=z.cursor}}function t(){for(;!z.in_grouping(y,97,250);){if(z.cursor>=z.limit)return!1;z.cursor++}for(;!z.out_grouping(y,97,250);){if(z.cursor>=z.limit)return!1;z.cursor++}return!0}function a(){var e=z.cursor;g=z.limit,b=g,h=g,o(),z.cursor=e,t()&&(b=z.cursor,t()&&(h=z.cursor))}function u(){for(var e;;){if(z.bra=z.cursor,e=z.find_among(q,3))switch(z.ket=z.cursor,e){case 1:z.slice_from("ã");continue;case 2:z.slice_from("õ");continue;case 3:if(z.cursor>=z.limit)break;z.cursor++;continue}break}}function w(){return g<=z.cursor}function m(){return b<=z.cursor}function c(){return h<=z.cursor}function l(){var e;if(z.ket=z.cursor,!(e=z.find_among_b(F,45)))return!1;switch(z.bra=z.cursor,e){case 1:if(!c())return!1;z.slice_del();break;case 2:if(!c())return!1;z.slice_from("log");break;case 3:if(!c())return!1;z.slice_from("u");break;case 4:if(!c())return!1;z.slice_from("ente");break;case 5:if(!m())return!1;z.slice_del(),z.ket=z.cursor,e=z.find_among_b(j,4),e&&(z.bra=z.cursor,c()&&(z.slice_del(),1==e&&(z.ket=z.cursor,z.eq_s_b(2,"at")&&(z.bra=z.cursor,c()&&z.slice_del()))));break;case 6:if(!c())return!1;z.slice_del(),z.ket=z.cursor,e=z.find_among_b(C,3),e&&(z.bra=z.cursor,1==e&&c()&&z.slice_del());break;case 7:if(!c())return!1;z.slice_del(),z.ket=z.cursor,e=z.find_among_b(P,3),e&&(z.bra=z.cursor,1==e&&c()&&z.slice_del());break;case 8:if(!c())return!1;z.slice_del(),z.ket=z.cursor,z.eq_s_b(2,"at")&&(z.bra=z.cursor,c()&&z.slice_del());break;case 9:if(!w()||!z.eq_s_b(1,"e"))return!1;z.slice_from("ir")}return!0}function f(){var e,r;if(z.cursor>=g){if(r=z.limit_backward,z.limit_backward=g,z.ket=z.cursor,e=z.find_among_b(S,120))return z.bra=z.cursor,1==e&&z.slice_del(),z.limit_backward=r,!0;z.limit_backward=r}return!1}function d(){var e;z.ket=z.cursor,(e=z.find_among_b(W,7))&&(z.bra=z.cursor,1==e&&w()&&z.slice_del())}function v(e,r){if(z.eq_s_b(1,e)){z.bra=z.cursor;var s=z.limit-z.cursor;if(z.eq_s_b(1,r))return z.cursor=z.limit-s,w()&&z.slice_del(),!1}return!0}function p(){var e;if(z.ket=z.cursor,e=z.find_among_b(L,4))switch(z.bra=z.cursor,e){case 1:w()&&(z.slice_del(),z.ket=z.cursor,z.limit-z.cursor,v("u","g")&&v("i","c"));break;case 2:z.slice_from("c")}}function _(){if(!l()&&(z.cursor=z.limit,!f()))return z.cursor=z.limit,void d();z.cursor=z.limit,z.ket=z.cursor,z.eq_s_b(1,"i")&&(z.bra=z.cursor,z.eq_s_b(1,"c")&&(z.cursor=z.limit,w()&&z.slice_del()))}var h,b,g,k=[new r("",-1,3),new r("ã",0,1),new r("õ",0,2)],q=[new r("",-1,3),new r("a~",0,1),new r("o~",0,2)],j=[new r("ic",-1,-1),new r("ad",-1,-1),new r("os",-1,-1),new r("iv",-1,1)],C=[new r("ante",-1,1),new r("avel",-1,1),new r("ível",-1,1)],P=[new r("ic",-1,1),new r("abil",-1,1),new r("iv",-1,1)],F=[new r("ica",-1,1),new r("ância",-1,1),new r("ência",-1,4),new r("ira",-1,9),new r("adora",-1,1),new r("osa",-1,1),new r("ista",-1,1),new r("iva",-1,8),new r("eza",-1,1),new r("logía",-1,2),new r("idade",-1,7),new r("ante",-1,1),new r("mente",-1,6),new r("amente",12,5),new r("ável",-1,1),new r("ível",-1,1),new r("ución",-1,3),new r("ico",-1,1),new r("ismo",-1,1),new r("oso",-1,1),new r("amento",-1,1),new r("imento",-1,1),new r("ivo",-1,8),new r("aça~o",-1,1),new r("ador",-1,1),new r("icas",-1,1),new r("ências",-1,4),new r("iras",-1,9),new r("adoras",-1,1),new r("osas",-1,1),new r("istas",-1,1),new r("ivas",-1,8),new r("ezas",-1,1),new r("logías",-1,2),new r("idades",-1,7),new r("uciones",-1,3),new r("adores",-1,1),new r("antes",-1,1),new r("aço~es",-1,1),new r("icos",-1,1),new r("ismos",-1,1),new r("osos",-1,1),new r("amentos",-1,1),new r("imentos",-1,1),new r("ivos",-1,8)],S=[new r("ada",-1,1),new r("ida",-1,1),new r("ia",-1,1),new r("aria",2,1),new r("eria",2,1),new r("iria",2,1),new r("ara",-1,1),new r("era",-1,1),new r("ira",-1,1),new r("ava",-1,1),new r("asse",-1,1),new r("esse",-1,1),new r("isse",-1,1),new r("aste",-1,1),new r("este",-1,1),new r("iste",-1,1),new r("ei",-1,1),new r("arei",16,1),new r("erei",16,1),new r("irei",16,1),new r("am",-1,1),new r("iam",20,1),new r("ariam",21,1),new r("eriam",21,1),new r("iriam",21,1),new r("aram",20,1),new r("eram",20,1),new r("iram",20,1),new r("avam",20,1),new r("em",-1,1),new r("arem",29,1),new r("erem",29,1),new r("irem",29,1),new r("assem",29,1),new r("essem",29,1),new r("issem",29,1),new r("ado",-1,1),new r("ido",-1,1),new r("ando",-1,1),new r("endo",-1,1),new r("indo",-1,1),new r("ara~o",-1,1),new r("era~o",-1,1),new r("ira~o",-1,1),new r("ar",-1,1),new r("er",-1,1),new r("ir",-1,1),new r("as",-1,1),new r("adas",47,1),new r("idas",47,1),new r("ias",47,1),new r("arias",50,1),new r("erias",50,1),new r("irias",50,1),new r("aras",47,1),new r("eras",47,1),new r("iras",47,1),new r("avas",47,1),new r("es",-1,1),new r("ardes",58,1),new r("erdes",58,1),new r("irdes",58,1),new r("ares",58,1),new r("eres",58,1),new r("ires",58,1),new r("asses",58,1),new r("esses",58,1),new r("isses",58,1),new r("astes",58,1),new r("estes",58,1),new r("istes",58,1),new r("is",-1,1),new r("ais",71,1),new r("eis",71,1),new r("areis",73,1),new r("ereis",73,1),new r("ireis",73,1),new r("áreis",73,1),new r("éreis",73,1),new r("íreis",73,1),new r("ásseis",73,1),new r("ésseis",73,1),new r("ísseis",73,1),new r("áveis",73,1),new r("íeis",73,1),new r("aríeis",84,1),new r("eríeis",84,1),new r("iríeis",84,1),new r("ados",-1,1),new r("idos",-1,1),new r("amos",-1,1),new r("áramos",90,1),new r("éramos",90,1),new r("íramos",90,1),new r("ávamos",90,1),new r("íamos",90,1),new r("aríamos",95,1),new r("eríamos",95,1),new r("iríamos",95,1),new r("emos",-1,1),new r("aremos",99,1),new r("eremos",99,1),new r("iremos",99,1),new r("ássemos",99,1),new r("êssemos",99,1),new r("íssemos",99,1),new r("imos",-1,1),new r("armos",-1,1),new r("ermos",-1,1),new r("irmos",-1,1),new r("ámos",-1,1),new r("arás",-1,1),new r("erás",-1,1),new r("irás",-1,1),new r("eu",-1,1),new r("iu",-1,1),new r("ou",-1,1),new r("ará",-1,1),new r("erá",-1,1),new r("irá",-1,1)],W=[new r("a",-1,1),new r("i",-1,1),new r("o",-1,1),new r("os",-1,1),new r("á",-1,1),new r("í",-1,1),new r("ó",-1,1)],L=[new r("e",-1,1),new r("ç",-1,2),new r("é",-1,1),new r("ê",-1,1)],y=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,3,19,12,2],z=new s;this.setCurrent=function(e){z.setCurrent(e)},this.getCurrent=function(){return z.getCurrent()},this.stem=function(){var r=z.cursor;return e(),z.cursor=r,a(),z.limit_backward=r,z.cursor=z.limit,_(),z.cursor=z.limit,p(),z.cursor=z.limit_backward,u(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}}(),e.Pipeline.registerFunction(e.pt.stemmer,"stemmer-pt"),e.pt.stopWordFilter=e.generateStopWordFilter("a ao aos aquela aquelas aquele aqueles aquilo as até com como da das de dela delas dele deles depois do dos e ela elas ele eles em entre era eram essa essas esse esses esta estamos estas estava estavam este esteja estejam estejamos estes esteve estive estivemos estiver estivera estiveram estiverem estivermos estivesse estivessem estivéramos estivéssemos estou está estávamos estão eu foi fomos for fora foram forem formos fosse fossem fui fôramos fôssemos haja hajam hajamos havemos hei houve houvemos houver houvera houveram houverei houverem houveremos houveria houveriam houvermos houverá houverão houveríamos houvesse houvessem houvéramos houvéssemos há hão isso isto já lhe lhes mais mas me mesmo meu meus minha minhas muito na nas nem no nos nossa nossas nosso nossos num numa não nós o os ou para pela pelas pelo pelos por qual quando que quem se seja sejam sejamos sem serei seremos seria seriam será serão seríamos seu seus somos sou sua suas são só também te tem temos tenha tenham tenhamos tenho terei teremos teria teriam terá terão teríamos teu teus teve tinha tinham tive tivemos tiver tivera tiveram tiverem tivermos tivesse tivessem tivéramos tivéssemos tu tua tuas tém tínhamos um uma você vocês vos à às éramos".split(" ")),e.Pipeline.registerFunction(e.pt.stopWordFilter,"stopWordFilter-pt")}});
\ No newline at end of file
diff --git a/assets/javascripts/lunr/min/lunr.ro.min.js b/assets/javascripts/lunr/min/lunr.ro.min.js
new file mode 100644
index 0000000..7277140
--- /dev/null
+++ b/assets/javascripts/lunr/min/lunr.ro.min.js
@@ -0,0 +1,18 @@
+/*!
+ * Lunr languages, `Romanian` language
+ * https://github.com/MihaiValentin/lunr-languages
+ *
+ * Copyright 2014, Mihai Valentin
+ * http://www.mozilla.org/MPL/
+ */
+/*!
+ * based on
+ * Snowball JavaScript Library v0.3
+ * http://code.google.com/p/urim/
+ * http://snowball.tartarus.org/
+ *
+ * Copyright 2010, Oleg Mazko
+ * http://www.mozilla.org/MPL/
+ */
+
+!function(e,i){"function"==typeof define&&define.amd?define(i):"object"==typeof exports?module.exports=i():i()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.ro=function(){this.pipeline.reset(),this.pipeline.add(e.ro.trimmer,e.ro.stopWordFilter,e.ro.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ro.stemmer))},e.ro.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.ro.trimmer=e.trimmerSupport.generateTrimmer(e.ro.wordCharacters),e.Pipeline.registerFunction(e.ro.trimmer,"trimmer-ro"),e.ro.stemmer=function(){var i=e.stemmerSupport.Among,r=e.stemmerSupport.SnowballProgram,n=new function(){function e(e,i){L.eq_s(1,e)&&(L.ket=L.cursor,L.in_grouping(W,97,259)&&L.slice_from(i))}function n(){for(var i,r;;){if(i=L.cursor,L.in_grouping(W,97,259)&&(r=L.cursor,L.bra=r,e("u","U"),L.cursor=r,e("i","I")),L.cursor=i,L.cursor>=L.limit)break;L.cursor++}}function t(){if(L.out_grouping(W,97,259)){for(;!L.in_grouping(W,97,259);){if(L.cursor>=L.limit)return!0;L.cursor++}return!1}return!0}function a(){if(L.in_grouping(W,97,259))for(;!L.out_grouping(W,97,259);){if(L.cursor>=L.limit)return!0;L.cursor++}return!1}function o(){var e,i,r=L.cursor;if(L.in_grouping(W,97,259)){if(e=L.cursor,!t())return void(h=L.cursor);if(L.cursor=e,!a())return void(h=L.cursor)}L.cursor=r,L.out_grouping(W,97,259)&&(i=L.cursor,t()&&(L.cursor=i,L.in_grouping(W,97,259)&&L.cursor=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Contribute: Help Fix our Mistake!
+Improve our Documentation
+
+
+docs
folder of the SparkFun RTK EVK repository.Submit a Correction
+
+
+words worlds world a better place.
+
+Improve our Hardware Design
+
+
+Hardware
folder of the SparkFunRTK EVK Repository.Submit a Design Improvement
+
+
+words worlds world a better place.
+
+Contributors
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Did we make a mistake?
+Discrepancies in the Documentation
+
+
+docs
folder of the SparkFun RTK EVK repository.Spot something wrong?
+Do you have a suggested correction?
+
+
+words worlds world a better place.
+
+Problems in the Hardware Design
+
+
+Hardware
folder of the SparkFun RTK EVK repository.Does something not make sense?
+Did we forget to include an important function of the board?
+
+
+Do you wish to contribute directly to improving the board design?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ words worlds world a better place.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hard copy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+*.pdf
file, select the Printer or Destination labeled Save as PDF. (Instructions will vary based on the browser)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hardware Hookup
+
+Cellular Antenna
+Multi-Band GNSS Antenna
+WiFi/Bluetooth Antenna
+Ethernet
+Connecting to the ESP32
+Connecting to the u-blox Modules
+Inserting a MicroSD Card
+Inserting a Nano SIM Card
+Activate Your Hologram SIM
+
+
+
+
+
+ Inserting a Wire into the I/O Screw Terminal
+Connecting a Radio Transceiver
+
+
+
+
+ RTK EVK
+
UART Pinout
+ Telemetry
+
UART Pinout
+
+
+ ZED TX2
+
+ RX
+
+
+
+ ZED RX2
+ TX
+
+
+
+ GND
+
+ GND
+
+
+
+
+
+ RTK EVK
+
UART Pinout
+ LoRaSerial
+
UART Pinout
+
+
+ ZED TX2
+
+ RXI
+
+
+
+ ZED RX2
+ TXO
+
+
+
+ GND
+
+ GND
+
+ Connecting via PTH
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hardware Overview
+
+Power
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ USB Connector, Ethernet POE, and Power Input on Screw Terminals Highlighted in Back
+ Ethernet POE, and Power Input on Screw Terminals Highlighted on PCB
+
+
+
+
+
+
+
+
+
+
+ 3.3V Input on Screw Terminals Highlighted in Back
+ 3.3V Input on Screw Terminals Highlighted on PCB
+ CH340 USB-to-Serial Converter
+
+
+
+
+
+
+
+
+
+
+ How to Install CH340 Drivers
+
+
+ ESP32-WROVER Module
+ESP32 Primary I2C Port
+
+
+
+
+ESP32 Secondary I2C Port
+
+
+Qwiic OLED Display
+ZED-F9P Module
+
+
+ZED-F9P Secondary UART Port
+
+
+
+
+
+
+
+
+
+
+ ZED-F9P UART Correction Port Highlighted
+ ZED-F9P UART Correction Port Highlighted on PCB
+ ZED-F9P External Interrupt
+
+
+
+
+
+
+
+
+ ZED-F9P External Interrupt Highlighted
+ ZED-F9P External Interrupt Highlighted on PCB
+ ZED-F9P Time Pulse
+NEO-D9S
+
+
+MicroSD Card Socket
+LARA-R6 Cellular Module
+
+
+Nano SIM Card Socket
+WIZnet W5500 IC, Ethernet Jack, and PoE
+
+
+
+
+
+
+
+
+
+ Ethernet Jack Highlighted WIZnet W5500 IC, Ethernet Jack, and PoE Module Highlighted
+ Antenna Connections
+
+
+
+
+Buttons
+
+
+
+
+
+
+
+
+
+
+ Reset and Mode/Boot Buttons Highlighted
+ Reset and Mode/Boot Buttons Highlighted on PCB
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+LEDs
+
+
+
+
+Jumpers
+
+
+
+
+I2C
will connect to two pull-up resistors to the I2C data and clock lines when closed. For advanced users that do not have pull-up resistors attached to the I2C lines on their microcontroller, make sure to close the jumpers with a little solder blob.
+
+Dimensions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Introduction
+
+Kit Contents
+
+
+
+
+GNSS Mounting Accessories
+
+
+
+
+
+GNSS Interface Cable
+Memory Cards
+
+
+
+
+
+Tools
+
+
+
+
+
+
+
+
+
+
+
+
+Suggested Reading
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ =m[t]&&t
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RTK Everywhere Firmware
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Resources
+
+
+
+
+
+
+
+
#include
with the Arduino Library name near the top before compiling. You may also need to update the examples to provide any secret keys, accounts, or passwords.
Need to download or print our hookup guide?
*.pdf
file, select the Printer or Destination labeled Save as PDF. (Instructions will vary based on the browser)In this section, we'll go over how to connect to the SparkFun RTK EVK.
"},{"location":"hardware_hookup/#cellular-antenna","title":"Cellular Antenna","text":"To take advantage of the LTE cellular network with the LARA-R6, you will need to connect to the two LTE antennas on the back panel. Insert the LTE Hinged External Antenna into the SMA connector labeled as Cell 1 and rotate the threaded connector until it is finger tight. Repeat for the other SMA connector labeled as Cell 2. You will need to adjust the antenna as necessary depending on where you mount the RTK EVK.
LTE Cellular Antenna LTE Cellular Antenna Ports Highlighted"},{"location":"hardware_hookup/#multi-band-gnss-antenna","title":"Multi-Band GNSS Antenna","text":"Of course, you will need to connect an active multi-band GNSS antenna to the RTK EVK. We recommend using the L1/L2/L5 Surveying Antenna (SPK6618H) that is included with the kit. This covers the L1 and L2 band for the ZED-F9P. This also includes a built-in ground plane to provide the best performance for GNSS. This antenna will also provide broad coverage of the L-Band for the correction signals. Insert the SMA connector from the interface cable to the SMA connector labeled as GNSS. Tighten the hex nut until it is finger tight. Connect the TNC connector side from the interface cable to the to the SPK6618H antenna. Tighten the threaded connector until it is finger tight.
GNSS Antenna Port Highlighted Cable Survey AntennaYou will need to mount the antenna in an area where it gest the best view of the sky (we recommend the roof). There is mounting hardware where you can permanently mount the antenna to a structure or support. There is also a magnetic mount to attach to a metal structure as well. For the scope of this tutorial, we will not go over the details of installing the antenna.
Cable Connected and Survey Antenna Mounted on Magnetic Stand"},{"location":"hardware_hookup/#wifibluetooth-antenna","title":"WiFi/Bluetooth Antenna","text":"For WiFi and Bluetooth using the ESP32, you will need to connect the 2.4GHz Duck Antenna to the RPSMA connector labeled as ESP32. Insert the antenna into the RPSMA connector and tighten the threaded connector until it is finger tight.
WiFi/Bluetooth Connector Highlighted WiFi/Bluetooth AntennaNote
For users that need an extension cable to mount the antenna to a location that is farther away from the RTK EVK, you could use the Interface Cable - RP-SMA Male to RP-SMA Female (10M, RG58).
"},{"location":"hardware_hookup/#ethernet","title":"Ethernet","text":"For users that are connecting Ethernet or using power from the PoE, you will need to connect the Ethernet cable between the RTK EVK and your PoE network switch. Insert the Ethernet cable to the RJ45 MagJack connector until you hear a click. Then insert the other end into the network switch.
Ethernet Port Highlighted Ethernet Cable"},{"location":"hardware_hookup/#connecting-to-the-esp32","title":"Connecting to the ESP32","text":"You can connect to the ESP32 by inserting the USB-C connector into the port labeled as CONFIG ESP32 and inserting the other end of the cable to your computer's USB port. This will power the RTK EVK, allow you to upload custom code, manually update the firmware binaries, or connect to a serial terminal.
USB CONFIG ESP32 Port Highlighted USB C Cable"},{"location":"hardware_hookup/#connecting-to-the-u-blox-modules","title":"Connecting to the u-blox Modules","text":"You can connect to the ZED-F9P, NEO-D9S, or LARA-R6 by inserting the USB-C connector into the port labeled as CONFIG UBLOX and inserting the other end to your computer's USB port. This will power the RTK EVK and allow you to connect the modules to u-center or m-center (for the LARA-R6).
USB CONFIG ESP32 Port Highlighted USB C Cable"},{"location":"hardware_hookup/#inserting-a-microsd-card","title":"Inserting a MicroSD Card","text":"To insert a microSD card, slide the microSD card into the microSD socket until it clicks in place. Pushing the microSD card again will eject the memory card.
MicroSD Card Port Highlighted MicroSD Card"},{"location":"hardware_hookup/#inserting-a-nano-sim-card","title":"Inserting a Nano SIM Card","text":"Note
To take advantage of the LARA-R6, insert the nano SIM card into the nano SIM socket until it clicks. In this case, we used a Hologram card. Insert the SIM with the contacts facing down, insert the edge with the chamfered corner first.
Nano SIM Card Socket Highlighted Nano SIM CardNote
You will need to remove the nano SIM card from the 3-in-1 SIM card holder when you initially receive the Hologram card. Just \"punch\" out the pre-cut nano SIM card size out by pushing it out with your fingers. Make sure to avoid touching the gold contacts with your bare hands.
"},{"location":"hardware_hookup/#activate-your-hologram-sim","title":"Activate Your Hologram SIM","text":"If you're using a SIM card from Hologram, you'll need to follow a few quick steps to activate your SIM card.
For more help activating your Hologram SIM card, check out their Connect Your Device documentation.
"},{"location":"hardware_hookup/#inserting-a-wire-into-the-io-screw-terminal","title":"Inserting a Wire into the I/O Screw Terminal","text":"To connect to a pin on the screw terminal block, insert a stripped wire of any length into the I/O screw terminal. Of course, you could use jumper wires with pins as well. Secure the wire by tightening the screw using a precision 2.5mm flathead screw driver. Test the connection by gently pulling the wires to ensure that they are secure.
Wire Inserted into I/O and Screw Being TightenedIf necessary, users can remove the terminal block off by wiggling the connector or using a spudger. When ready, users can slide the I/O terminal block back into the socket.
I/O Screw Terminal Block RemovedTip
Don't have spudger? A good substitute includes a flathead screw driver, plastic card, or the PCB ruler. Using a tool will make it easier to remove the I/O terminal block.
"},{"location":"hardware_hookup/#connecting-a-radio-transceiver","title":"Connecting a Radio Transceiver","text":"Users can connect a radio transceiver to the ZED-F9P UART2 port for correction data. We recommend using a breadboard to JST-GHR-06V cable to connect the SiK Telemetry Radio. Note that the cable is included with the LoRaSerial Kit.
SiK Telemetry Radio V3 - 915MHz, 100mW WRL-19032
SparkFun LoRaSerial Kit - 915MHz (Enclosed) KIT-20029
Breadboard to JST-GHR-06V Cable - 6-Pin x 1.25mm Pitch (For LoRaSerial) CAB-23353
For users with the using a telemetry radio, you will need to connect the UART pins and ground to the screw terminal block. Note that this connection is only for the serial UART connection. To power, we recommend using an external 5V voltage source since 5V is not broken out. While there is a 3V3 pin available, the voltage will not be enough to fully power the radio module. One method is connecting a micro-B USB cable and 5V USB wall adapter to the Telemetry Radio.
RTK EVKUART Pinout TelemetryUART Pinout ZED TX2 RX ZED RX2 TX GND GNDFor users with the LoRaSerial, you will also be connecting the UART pins and ground to the screw terminal block. To power, we also recommend using an external 5V voltage source for power such as a USB C cable and 5V USB wall adapter.
RTK EVKUART Pinout LoRaSerialUART Pinout ZED TX2 RXI ZED RX2 TXO GND GND"},{"location":"hardware_hookup/#connecting-via-pth","title":"Connecting via PTH","text":"There are various PTHs throughout the PCB. Most are used with the testbeds for quality control but they are available for you to connect! For temporary connections to the PTHs, you could use IC hooks to test out the pins. However, you'll need to solder headers or wires of your choice to the board for a secure connection. You can choose between header pins and jumper wires, or stripping wire and soldering the wire directly to the board.
How to Solder: Through Hole Soldering
Working with Wire
The electronics of the SparkFun RTK EVK is enclosed in a custom extruded aluminum case with machined end panels and slotted flanges.
Front View Back ViewThe image below shows a top and bottom view of the populated PCB without the enclosure.
PCB Top View PCB Bottom View"},{"location":"hardware_overview/#power","title":"Power","text":"The SparkFun RTK EVK can be powered from the connectors on the front or the back of the board. There is no internal battery. Schottky protection diodes and a resettable fuse are included to prevent conflicting voltages and overvoltage protection. Voltage is then regulated down to 3.3V through the three voltage regulators.
Power can also be provided from the I/O screw terminals or PoE.
There is also an output power pin for 3.3V on the I/O screw terminal.
A CH340 USB-to-Serial converter is included between the USB-C connector and the ESP32. The chip can be used to send serial data between the RTK EVK and computer. You can view the output or configure the device through a serial terminal. You can also manually upload new firmware as well.
CH340 USB-to-Serial Converter HighlightedThe driver should automatically install on most operating systems. However, there is a wide range of operating systems out there. You may need to install drivers the first time you connect the chip to your computer's USB port or when there are operating system updates. For more information, check out our How to Install CH340 Drivers Tutorial.
"},{"location":"hardware_overview/#esp32-wrover-module","title":"ESP32-WROVER Module","text":"The RTK Everywhere firmware is pre-loaded with the RTK EVK and flashed to the ESPRESSIF ESP32-WROVER module (with 16MB flash and 8MB PSRAM). The ESP32 handles all the processes. You can configure the EVK as a RTK base and push corrections to an NTRIP Caster. You can also configure the EVK as a RTK Rover and use corrections delivered over WiFi or Bluetooth. You can even update firmware over-the-air. For more information, we recommend checking out the RTK Everywhere Product Manual.
ESP32 HighlightedNote
The ESP32-WROVER module can only connect to a 2.4GHz WiFi network. Unfortunately, 5GHz is not supported on the ESP32-WROVER module.
For users that want to configure the ESP32 using a serial terminal, you will simply need to connect the CONFIG ESP32 to your computer's USB port. Once connected, open a serial terminal set to 115200 baud and press any key to open the serial configuration menu. Of course, this is only one method of adjusting the settings. You can also change the settings through WiFi, Bluetooth, and a text file saved on a microSD card.
"},{"location":"hardware_overview/#esp32-primary-i2c-port","title":"ESP32 Primary I2C Port","text":"The screw terminal on the back includes an I2C port. This is connected to the ESP32's primary I2C port and is shared by the ZED-F9P and NEO-D9S.
Note
3.3V and GND are also conveniently placed next to the SCL and SDA pins. These follow the same pinout as most of the SparkFun I2C breakout boards with PTHs.
I2C Port Highlighted I2C Port Highlighted on PCBThe I2C peripherals connected to the primary I2C port and their address are listed below:
Inside of the enclosure, there is a Qwiic vertical port available. This is connected to the Qwiic OLED via a Qwiic cable. This port is connected to the ESP32's secondary I2C port with SCL connected to pin 15 and SDA connected to pin 12. The logic level is also 3.3V. Currently, there are no pull-up resistors attached to this line. To attach the 2.2k\u03a9 pull-up resistors to the port, you will just need to add a solder blob to the I2C jumper.
I2C Port HighlightedThe I2C peripheral connected to the secondary I2C port and their address is listed below:
The RTK EVK includes the SparkFun Qwiic OLED - (1.3in., 128x64). This is connected to the ESP32 via a Qwiic port contained within the enclosure. As stated earlier, the default address for the display is 0x3D. The display provides useful information about the RTK EVK without needing to connect to a serial terminal.
OLED Display HighlightedBelow show some of the possible outputs from the RTK EVK. The icons are explained further in the RTK Everywhere Product Manual > Hardware > Displays.
The image below shows the Bluetooth MAC address of the RTK EVK on the upper left hand corner of the screen. If there is a Bluetooth connection, the Blueooth symbol will display. To the right is the WiFi symbol. To the right of the WiFi symbol is the icon indicating the selected dynamic model, in this case it's the default portable icon. On the upper far right, is the Ethernet connection symbol. Below the Bluetooth MAC address is the RTK float solution symbol. The number to the right indicates the horizontal position accuracy. In this case, there is an RTK float since the value is between 0.400 meters to 0.200 meters. To the right is the satellites in view symbol and number of satellites. The additional antenna lines indicates that the RTK EVK that there is successful reception and decryptions of L-band corrections. Finally, the rotating semi-circle indicates the RTK EVK firmware is running. This changes to a logging icon when data is being logged to microSD card.
OLED Display OutputThe image below is similar to the previous display output. You'll notice a few differences. The arrow pointing down indicates that there are corrections being received. The Ethernet symbol is also not displaying since there was no Ethernet connection at that moment. The horizontal positional accuracy indicates that there is a RTK fixed solution with the double cross hairs since the value is below 0.200 meters. Finally, the display is showing 29 satellites in view and no L-band corrections.
OLED Display with RTK Fixed Solution"},{"location":"hardware_overview/#zed-f9p-module","title":"ZED-F9P Module","text":"The RTK EVK wouldn't be a an RTK without well... a high precision RTK. The RTK EVK includes a built-in u-blox ZED-F9P module for high precision GNSS. You will need to connect an active multiband antenna that is capable of receiving L1 and L2 signals. The ZED-F9P can be set as a base station or rover. There are several options to send or receive correction data depending on the mode: Ethernet, WiFi network, LTE cellular network, or the NEO-D9S. Note that the RTK Everywhere firmware does not currently support cellular, but there are separate code examples showing how to receive localized corrections from PointPerfect via cellular. As stated earlier, the ZED-F9P is connected to the primary I2C port and uses the default address of 0x42.
ZED-F9P HighlightedBelow are a few specifications taken from the ZED-F9P's datasheet:
The screw terminal on the back includes a UART port. This is connected to the ZED-F9P's secondary UART port (UART2) for users that want to connect to other high precision GNSS modules for correction data.
The screw terminal on the back includes an external interrupt for the ZED-F9P. The interrupt can either be an input/output pin. This can be configured using u-center to bring the module out of deep sleep or to output an interrupt for various module states. In the RTK Everywhere firmware, this terminal can be used to trigger and log a UBX-TIM-TM2 timing message. The logic level is 3.3V.
ZED-F9P External Interrupt Highlighted ZED-F9P External Interrupt Highlighted on PCB"},{"location":"hardware_overview/#zed-f9p-time-pulse","title":"ZED-F9P Time Pulse","text":"The screw terminal on the back labeled as TP includes ZED-F9Ps time pulse output (i.e. the pulse-per-second or PPS output). This pulses at 1Hz when the module gets basic GPS/GNSS position lock and can be configured using the u-center. The logic level is 3.3V.
ZED-F9P Time Pulse Highlighted ZED-F9P Time Pulse Highlighted on PCB"},{"location":"hardware_overview/#neo-d9s","title":"NEO-D9S","text":"The RTK EVK includes the built-in u-blox NEO-D9S for correction data. You will need to connect an antenna that is capable of receiving signals from the L-band to access u-blox PointPerfect correction service. The NEO-D9S is connected to the primary I2C port and uses the default address of 0x43. You will need a service provider to access the correction data.
NEO-D9S HighlightedBelow are a few specifications taken from the NEO-D9S's datasheet:
The front of the RTK EVK includes a microSD card socket. Insert a microSD card into the socket until it clicks in place. Pushing the microSD card again will eject the memory card. This is connected to the ESP32's SPI port. Power is provided by the secondary power source. Users can manually flash the firmware binaries using the microSD card as opposed to over-the-air updates. Typically, the microSD card is for datalogging. The microSD card can also hold the user preferences for anyone that is interested in deploying multiple RTK EVKs with the same settings out in the field.
MicroSD Card Slot Highlighted MicroSD Card Slot Highlighted on PCB"},{"location":"hardware_overview/#lara-r6-cellular-module","title":"LARA-R6 Cellular Module","text":"The RTK EVK also includes the u-blox LARA-R6 cellular module for users that need to connect to a LTE cellular network. The module is connected to the ESP32 via UART.
LARA-R6 HighlightedBelow are a few specifications taken from the LARA-R6's datasheet:
Note
Although the LARA supports GSM/GPRS, the RTK EVK does not due to the high current required.
Note
Currently, the RTK Everywhere firmware does not support cellular with the LARA-R6. However, we have written and tested extra code examples which will allow you to stream MQTT correction data from a u-blox PointPerfect Localized Distribution topic via the LARA-R6 cellular chip. This example demonstrates how easy it is to subscribe to PointPerfect and only receive the IP correction data you need for your location, minimizing your cellular data costs.
"},{"location":"hardware_overview/#nano-sim-card-socket","title":"Nano SIM Card Socket","text":"To connect to an cellular network with the built-in u-blox LARA-R6 (specifically the LARA-R6001D), you will need a nano SIM card. The cellular module works with most major North American carriers (Verizon, T-Mobile, AT&T, etc.). Make sure to check with your network service provider for compatibility. You also may need approval with the service carrier before the service is activated. We recommend using the Hologram SIM Card. Insert the SIM with the contacts facing down, insert the edge with the chamfered corner first.
Nano SIM Card Socket Highlighted Nano SIM Card Socket Highlighted on PCB"},{"location":"hardware_overview/#wiznet-w5500-ic-ethernet-jack-and-poe","title":"WIZnet W5500 IC, Ethernet Jack, and PoE","text":"The RTK EVK includes a built-in Ethernet circuitry. You can connect an Ethernet cable to the back of the RTK EVK's RJ45 MagJack port. This connector includes status LEDs for Link and Activity. These LEDs can be disabled by cutting the jumpers on the back of the PCB. The port connects to the Power-over-Ethernet (PoE) module and WIZnet W5500 Ethernet transceiver. 10/100Mbps is supported with auto-negotiation. As stated earlier, the PoE module can be powered using the standard PoE voltages between +36V to +57V. Make sure to choose a PoE Ethernet Switch that meeds your needs. We have had good experience with the TP Link TL-SG1005P - available from many retailers including Amazon.
Ethernet Jack HighlightedWIZnet W5500 IC, Ethernet Jack, and PoE Module Highlighted"},{"location":"hardware_overview/#antenna-connections","title":"Antenna Connections","text":"The back of the SparkFun RTK EVK includes a few connectors for cellular, GNSS, and WiFi antennas.
GNSS \u2014 The SMA connector labeled as GNSS is for the u-blox ZED-F9P and NEO-D9S. This is connected to a GNSS splitter (Power Divider) and allows you to connect a single GNSS antenna for both modules. This is intended to connect an active multiband GNSS antenna using the SMA male to TNC male interface cable that is included in the kit. The RTK EVK provides 5V on this connector for an active multiband antenna instead of the usual 3.3V. Short-circuit and open-circuit detection is built into this connection as well. The following icons will flash whenever the RTK EVK does not detect an antenna (i.e. an open circuit) or if there is a short in the cable. Next to the icons will also indicate that there will be 0 satellites in view.
Antenna Open Circuit Highlighted Antenna Short Circuit Highlighted
ESP32 \u2014 The RP-SMA connector labeled as ESP32 is for the ESP32-WROVER. This is intended to connect the 2.4GHz WiFi/BT antenna.
There are two buttons located on the front of the SparkFun RTK EVK.
RTK Modes \u2014 The available modes for the RTK Everywhere firmware are listed below. A single press brings up the mode menu. Press the button again to step through the available modes listed below. Pause on the highlighted mode then double-click to select it and change to that mode. For more information on the modes, make sure to check out the RTK Everywhere Manual.
OLED Display Cycling Through Modes
Bootloader Mode \u2014 The boot button usually allows users to force the ESP32 into bootloader mode to manually upload new code to the ESP32.
There are three LEDs available:
Note
If this is your first time working with jumpers, check out the How to Work with Jumper Pads and PCB Traces tutorial for more information.
The RTK EVK includes various jumpers on the back of the PCB.
I2C
will connect to two pull-up resistors to the I2C data and clock lines when closed. For advanced users that do not have pull-up resistors attached to the I2C lines on their microcontroller, make sure to close the jumpers with a little solder blob.The SparkFun RTK EVK is designed around the Metal Enclosure - Custom Aluminum Extrusion (6in. x 4in. PCB). You can find the dimensions of the enclosure below.
Enclosure and Panel DimensionsWithin the enclosure is the RTK EVK PCB. You can find the board dimensions below.
Board DimensionsFor users interested in the dimensions of the surveying antenna, it is also listed below from the SPK6618H datasheet.
SPK6618H Surveying Antenna Dimensions"},{"location":"introduction/","title":"Introduction","text":"The SparkFun RTK EVK (Evaluation Kit) is the perfect development platform for your fixed or mobile high-precision positioning and navigation needs. In terms of connectivity, the SparkFun RTK EVK has the lot: WiFi / BT, Ethernet and LTE cellular! We called it the EVK (Evaluation Kit) as it truly covers all the options: L1 + L2 RTK GNSS, with L-Band correction built-in if needed, running on an agile processor with memory to spare!
SparkFun RTK EVK GPS-24342 Purchase from SparkFun
Note
Currently, the RTK Everywhere firmware does not support cellular with the LARA-R6. However, we have written and tested extra code examples which will allow you to stream MQTT correction data from a u-blox PointPerfect Localized Distribution topic via the LARA-R6 cellular chip. This example demonstrates how easy it is to subscribe to PointPerfect and only receive the IP correction data you need for your location, minimizing your cellular data costs.
In this tutorial we'll go over the hardware, assembly, and how get started with the SparkFun RTK.
"},{"location":"introduction/#kit-contents","title":"Kit Contents","text":"The SparkFun RTK EVK comes with everything you need to get up and running. Our kit includes:
Depending on where you are installing the SparkFun RTK EVK, you also might need some mounting accessories to mount the GNSS antenna. You will want to mount the antenna in a location with the best view to of the sky (i.e. a roof).
GNSS Magnetic Antenna Mount - 5/8\" 11-TPI GPS-21257
GNSS Antenna Mounting Hardware Kit KIT-22197
The RTK EVK comes with a custom extruded aluminum enclosure. The slotted flanges make it easy to install and secure the enclosure in many locations. If you are going to permanently install it up on a roof, you're going to need a suitable weatherproof box too. We found that the Orbit 57095 - also available from Amazon - was a good one back when we put together our first DIY GNSS Reference Station.
How to Build a DIY GNSS Reference Station
AC Not Required!
The Orbit enclosure comes with a built-in power outlet, but you don't actually need it! The RTK EVK can be powered by Power-over-Ethernet (PoE), meaning all you really need to run up to the roof is a standard 8-core CAT-6 Ethernet cable. Choose a PoE Ethernet Switch that meets your needs. We have had good experiences with the TP-Link TL-SG1005P - available from many retailers including Amazon.
"},{"location":"introduction/#gnss-interface-cable","title":"GNSS Interface Cable","text":"The following interface cables are great if say you are mounting the SparkFun RTK EVK in your home on a desk or lab bench and installing the antenna outdoors.
Interface Cable - SMA Female to SMA Male (10m, RG58) CAB-21281
Interface Cable - RP-SMA Male to RP-SMA Female (10M, RG58) CAB-22038
Finally, if you're going to be logging a lot of data, you might want to stock up on 32GB microSD cards too. The RTK EVK can log 'raw' GNSS data messages (RAWX and SFRBX) at 4Hz if desired. At that rate, you're logging about 10kB per second, close to 40MB per hour or 1GB per day!
microSD Card - 32GB (Class 10) COM-19041
Below are a few tools and accessories that you may need when connecting to the I/O terminal block on the back of the RTK EVK.
iFixit Moray Driver Kit TOL-25568
Wire Strippers - 30AWG (Hakko) TOL-12630
Hook-Up Wire - Assortment (Solid Core, 22 AWG) PRT-11367
If you aren\u2019t familiar with the following concepts, we also recommend checking out a few of these tutorials before continuing.
What is GPS RTK?
Getting Started with U-Center for u-blox
GPS-RTK2 Hookup Guide
Setting up a Rover Base RTK System
How to Build a DIY GNSS Reference Station
You may also be interested in the following blog posts on GNSS technologies.
GPS vs GNSS
What is Correction Data?
Real-Time Kinematics Explained
New Video: Unlocking High-Precision RTK Positioning
"},{"location":"product_manual/","title":"RTK Everywhere Firmware","text":"The SparkFun RTK EVK runs on universal firmware created by SparkFun called RTK Everywhere. You can find its source through the RTK Everywhere GitHub repo.
Screenshot Firmware through Serial TerminalMake sure to check out the Quick Start Guide for the RTK EVK for a summary of how to get it connected over Bluetooth. You will also find more information about navigating through the configuration menu, updating firmware, and more in the product manual!
RTK Everywhere Product Manual: Quickstart Guide"},{"location":"resources/","title":"Resources","text":"Now that you've successfully got your SparkFun RTK EVK up and running, it's time to incorporate it into your own project! For more information, check out the resources below:
For user that are taking advantage of the Zero-Touch RTK for correction services, make sure to click on the link below! This link will allow you to register, reactivate, or cancel your RTK EVK's correction service.
The SparkFun RTK EVK (Evaluation Kit) is the perfect development platform for your fixed or mobile high-precision positioning and navigation needs. In terms of connectivity, the SparkFun RTK EVK has the lot: WiFi / BT, Ethernet and LTE cellular! We called it the EVK (Evaluation Kit) as it truly covers all the options: L1 + L2 RTK GNSS, with L-Band correction built-in if needed, running on an agile processor with memory to spare!
SparkFun RTK EVK GPS-24342 Purchase from SparkFun
Note
Currently, the RTK Everywhere firmware does not support cellular with the LARA-R6. However, we have written and tested extra code examples which will allow you to stream MQTT correction data from a u-blox PointPerfect Localized Distribution topic via the LARA-R6 cellular chip. This example demonstrates how easy it is to subscribe to PointPerfect and only receive the IP correction data you need for your location, minimizing your cellular data costs.
In this tutorial we'll go over the hardware, assembly, and how get started with the SparkFun RTK.
"},{"location":"single_page/#kit-contents","title":"Kit Contents","text":"The SparkFun RTK EVK comes with everything you need to get up and running. Our kit includes:
Depending on where you are installing the SparkFun RTK EVK, you also might need some mounting accessories to mount the GNSS antenna. You will want to mount the antenna in a location with the best view to of the sky (i.e. a roof).
GNSS Magnetic Antenna Mount - 5/8\" 11-TPI GPS-21257
GNSS Antenna Mounting Hardware Kit KIT-22197
The RTK EVK comes with a custom extruded aluminum enclosure. The slotted flanges make it easy to install and secure the enclosure in many locations. If you are going to permanently install it up on a roof, you're going to need a suitable weatherproof box too. We found that the Orbit 57095 - also available from Amazon - was a good one back when we put together our first DIY GNSS Reference Station.
How to Build a DIY GNSS Reference Station
AC Not Required!
The Orbit enclosure comes with a built-in power outlet, but you don't actually need it! The RTK EVK can be powered by Power-over-Ethernet (PoE), meaning all you really need to run up to the roof is a standard 8-core CAT-6 Ethernet cable. Choose a PoE Ethernet Switch that meets your needs. We have had good experiences with the TP-Link TL-SG1005P - available from many retailers including Amazon.
"},{"location":"single_page/#gnss-interface-cable","title":"GNSS Interface Cable","text":"The following interface cables are great if say you are mounting the SparkFun RTK EVK in your home on a desk or lab bench and installing the antenna outdoors.
Interface Cable - SMA Female to SMA Male (10m, RG58) CAB-21281
Interface Cable - RP-SMA Male to RP-SMA Female (10M, RG58) CAB-22038
Finally, if you're going to be logging a lot of data, you might want to stock up on 32GB microSD cards too. The RTK EVK can log 'raw' GNSS data messages (RAWX and SFRBX) at 4Hz if desired. At that rate, you're logging about 10kB per second, close to 40MB per hour or 1GB per day!
microSD Card - 32GB (Class 10) COM-19041
Below are a few tools and accessories that you may need when connecting to the I/O terminal block on the back of the RTK EVK.
iFixit Moray Driver Kit TOL-25568
Wire Strippers - 30AWG (Hakko) TOL-12630
Hook-Up Wire - Assortment (Solid Core, 22 AWG) PRT-11367
If you aren\u2019t familiar with the following concepts, we also recommend checking out a few of these tutorials before continuing.
What is GPS RTK?
Getting Started with U-Center for u-blox
GPS-RTK2 Hookup Guide
Setting up a Rover Base RTK System
How to Build a DIY GNSS Reference Station
You may also be interested in the following blog posts on GNSS technologies.
GPS vs GNSS
What is Correction Data?
Real-Time Kinematics Explained
New Video: Unlocking High-Precision RTK Positioning
"},{"location":"single_page/#hardware-overview","title":"Hardware Overview","text":"The electronics of the SparkFun RTK EVK is enclosed in a custom extruded aluminum case with machined end panels and slotted flanges.
Front View Back ViewThe image below shows a top and bottom view of the populated PCB without the enclosure.
PCB Top View PCB Bottom View"},{"location":"single_page/#power","title":"Power","text":"The SparkFun RTK EVK can be powered from the connectors on the front or the back of the board. There is no internal battery. Schottky protection diodes and a resettable fuse are included to prevent conflicting voltages and overvoltage protection. Voltage is then regulated down to 3.3V through the three voltage regulators.
Power can also be provided from the I/O screw terminals or PoE.
There is also an output power pin for 3.3V on the I/O screw terminal.
A CH340 USB-to-Serial converter is included between the USB-C connector and the ESP32. The chip can be used to send serial data between the RTK EVK and computer. You can view the output or configure the device through a serial terminal. You can also manually upload new firmware as well.
CH340 USB-to-Serial Converter HighlightedThe driver should automatically install on most operating systems. However, there is a wide range of operating systems out there. You may need to install drivers the first time you connect the chip to your computer's USB port or when there are operating system updates. For more information, check out our How to Install CH340 Drivers Tutorial.
"},{"location":"single_page/#esp32-wrover-module","title":"ESP32-WROVER Module","text":"The RTK Everywhere firmware is pre-loaded with the RTK EVK and flashed to the ESPRESSIF ESP32-WROVER module (with 16MB flash and 8MB PSRAM). The ESP32 handles all the processes. You can configure the EVK as a RTK base and push corrections to an NTRIP Caster. You can also configure the EVK as a RTK Rover and use corrections delivered over WiFi or Bluetooth. You can even update firmware over-the-air. For more information, we recommend checking out the RTK Everywhere Product Manual.
ESP32 HighlightedNote
The ESP32-WROVER module can only connect to a 2.4GHz WiFi network. Unfortunately, 5GHz is not supported on the ESP32-WROVER module.
For users that want to configure the ESP32 using a serial terminal, you will simply need to connect the CONFIG ESP32 to your computer's USB port. Once connected, open a serial terminal set to 115200 baud and press any key to open the serial configuration menu. Of course, this is only one method of adjusting the settings. You can also change the settings through WiFi, Bluetooth, and a text file saved on a microSD card.
"},{"location":"single_page/#esp32-primary-i2c-port","title":"ESP32 Primary I2C Port","text":"The screw terminal on the back includes an I2C port. This is connected to the ESP32's primary I2C port and is shared by the ZED-F9P and NEO-D9S.
Note
3.3V and GND are also conveniently placed next to the SCL and SDA pins. These follow the same pinout as most of the SparkFun I2C breakout boards with PTHs.
I2C Port Highlighted I2C Port Highlighted on PCBThe I2C peripherals connected to the primary I2C port and their address are listed below:
Inside of the enclosure, there is a Qwiic vertical port available. This is connected to the Qwiic OLED via a Qwiic cable. This port is connected to the ESP32's secondary I2C port with SCL connected to pin 15 and SDA connected to pin 12. The logic level is also 3.3V. Currently, there are no pull-up resistors attached to this line. To attach the 2.2k\u03a9 pull-up resistors to the port, you will just need to add a solder blob to the I2C jumper.
I2C Port HighlightedThe I2C peripheral connected to the secondary I2C port and their address is listed below:
The RTK EVK includes the SparkFun Qwiic OLED - (1.3in., 128x64). This is connected to the ESP32 via a Qwiic port contained within the enclosure. As stated earlier, the default address for the display is 0x3D. The display provides useful information about the RTK EVK without needing to connect to a serial terminal.
OLED Display HighlightedBelow show some of the possible outputs from the RTK EVK. The icons are explained further in the RTK Everywhere Product Manual > Hardware > Displays.
The image below shows the Bluetooth MAC address of the RTK EVK on the upper left hand corner of the screen. If there is a Bluetooth connection, the Blueooth symbol will display. To the right is the WiFi symbol. To the right of the WiFi symbol is the icon indicating the selected dynamic model, in this case it's the default portable icon. On the upper far right, is the Ethernet connection symbol. Below the Bluetooth MAC address is the RTK float solution symbol. The number to the right indicates the horizontal position accuracy. In this case, there is an RTK float since the value is between 0.400 meters to 0.200 meters. To the right is the satellites in view symbol and number of satellites. The additional antenna lines indicates that the RTK EVK that there is successful reception and decryptions of L-band corrections. Finally, the rotating semi-circle indicates the RTK EVK firmware is running. This changes to a logging icon when data is being logged to microSD card.
OLED Display OutputThe image below is similar to the previous display output. You'll notice a few differences. The arrow pointing down indicates that there are corrections being received. The Ethernet symbol is also not displaying since there was no Ethernet connection at that moment. The horizontal positional accuracy indicates that there is a RTK fixed solution with the double cross hairs since the value is below 0.200 meters. Finally, the display is showing 29 satellites in view and no L-band corrections.
OLED Display with RTK Fixed Solution"},{"location":"single_page/#zed-f9p-module","title":"ZED-F9P Module","text":"The RTK EVK wouldn't be a an RTK without well... a high precision RTK. The RTK EVK includes a built-in u-blox ZED-F9P module for high precision GNSS. You will need to connect an active multiband antenna that is capable of receiving L1 and L2 signals. The ZED-F9P can be set as a base station or rover. There are several options to send or receive correction data depending on the mode: Ethernet, WiFi network, LTE cellular network, or the NEO-D9S. Note that the RTK Everywhere firmware does not currently support cellular, but there are separate code examples showing how to receive localized corrections from PointPerfect via cellular. As stated earlier, the ZED-F9P is connected to the primary I2C port and uses the default address of 0x42.
ZED-F9P HighlightedBelow are a few specifications taken from the ZED-F9P's datasheet:
The screw terminal on the back includes a UART port. This is connected to the ZED-F9P's secondary UART port (UART2) for users that want to connect to other high precision GNSS modules for correction data.
The screw terminal on the back includes an external interrupt for the ZED-F9P. The interrupt can either be an input/output pin. This can be configured using u-center to bring the module out of deep sleep or to output an interrupt for various module states. In the RTK Everywhere firmware, this terminal can be used to trigger and log a UBX-TIM-TM2 timing message. The logic level is 3.3V.
ZED-F9P External Interrupt Highlighted ZED-F9P External Interrupt Highlighted on PCB"},{"location":"single_page/#zed-f9p-time-pulse","title":"ZED-F9P Time Pulse","text":"The screw terminal on the back labeled as TP includes ZED-F9Ps time pulse output (i.e. the pulse-per-second or PPS output). This pulses at 1Hz when the module gets basic GPS/GNSS position lock and can be configured using the u-center. The logic level is 3.3V.
ZED-F9P Time Pulse Highlighted ZED-F9P Time Pulse Highlighted on PCB"},{"location":"single_page/#neo-d9s","title":"NEO-D9S","text":"The RTK EVK includes the built-in u-blox NEO-D9S for correction data. You will need to connect an antenna that is capable of receiving signals from the L-band to access u-blox PointPerfect correction service. The NEO-D9S is connected to the primary I2C port and uses the default address of 0x43. You will need a service provider to access the correction data.
NEO-D9S HighlightedBelow are a few specifications taken from the NEO-D9S's datasheet:
The front of the RTK EVK includes a microSD card socket. Insert a microSD card into the socket until it clicks in place. Pushing the microSD card again will eject the memory card. This is connected to the ESP32's SPI port. Power is provided by the secondary power source. Users can manually flash the firmware binaries using the microSD card as opposed to over-the-air updates. Typically, the microSD card is for datalogging. The microSD card can also hold the user preferences for anyone that is interested in deploying multiple RTK EVKs with the same settings out in the field.
MicroSD Card Slot Highlighted MicroSD Card Slot Highlighted on PCB"},{"location":"single_page/#lara-r6-cellular-module","title":"LARA-R6 Cellular Module","text":"The RTK EVK also includes the u-blox LARA-R6 cellular module for users that need to connect to a LTE cellular network. The module is connected to the ESP32 via UART.
LARA-R6 HighlightedBelow are a few specifications taken from the LARA-R6's datasheet:
Note
Although the LARA supports GSM/GPRS, the RTK EVK does not due to the high current required.
Note
Currently, the RTK Everywhere firmware does not support cellular with the LARA-R6. However, we have written and tested extra code examples which will allow you to stream MQTT correction data from a u-blox PointPerfect Localized Distribution topic via the LARA-R6 cellular chip. This example demonstrates how easy it is to subscribe to PointPerfect and only receive the IP correction data you need for your location, minimizing your cellular data costs.
"},{"location":"single_page/#nano-sim-card-socket","title":"Nano SIM Card Socket","text":"To connect to an cellular network with the built-in u-blox LARA-R6 (specifically the LARA-R6001D), you will need a nano SIM card. The cellular module works with most major North American carriers (Verizon, T-Mobile, AT&T, etc.). Make sure to check with your network service provider for compatibility. You also may need approval with the service carrier before the service is activated. We recommend using the Hologram SIM Card. Insert the SIM with the contacts facing down, insert the edge with the chamfered corner first.
Nano SIM Card Socket Highlighted Nano SIM Card Socket Highlighted on PCB"},{"location":"single_page/#wiznet-w5500-ic-ethernet-jack-and-poe","title":"WIZnet W5500 IC, Ethernet Jack, and PoE","text":"The RTK EVK includes a built-in Ethernet circuitry. You can connect an Ethernet cable to the back of the RTK EVK's RJ45 MagJack port. This connector includes status LEDs for Link and Activity. These LEDs can be disabled by cutting the jumpers on the back of the PCB. The port connects to the Power-over-Ethernet (PoE) module and WIZnet W5500 Ethernet transceiver. 10/100Mbps is supported with auto-negotiation. As stated earlier, the PoE module can be powered using the standard PoE voltages between +36V to +57V. Make sure to choose a PoE Ethernet Switch that meeds your needs. We have had good experience with the TP Link TL-SG1005P - available from many retailers including Amazon.
Ethernet Jack HighlightedWIZnet W5500 IC, Ethernet Jack, and PoE Module Highlighted"},{"location":"single_page/#antenna-connections","title":"Antenna Connections","text":"The back of the SparkFun RTK EVK includes a few connectors for cellular, GNSS, and WiFi antennas.
GNSS \u2014 The SMA connector labeled as GNSS is for the u-blox ZED-F9P and NEO-D9S. This is connected to a GNSS splitter (Power Divider) and allows you to connect a single GNSS antenna for both modules. This is intended to connect an active multiband GNSS antenna using the SMA male to TNC male interface cable that is included in the kit. The RTK EVK provides 5V on this connector for an active multiband antenna instead of the usual 3.3V. Short-circuit and open-circuit detection is built into this connection as well. The following icons will flash whenever the RTK EVK does not detect an antenna (i.e. an open circuit) or if there is a short in the cable. Next to the icons will also indicate that there will be 0 satellites in view.
Antenna Open Circuit Highlighted Antenna Short Circuit Highlighted
ESP32 \u2014 The RP-SMA connector labeled as ESP32 is for the ESP32-WROVER. This is intended to connect the 2.4GHz WiFi/BT antenna.
There are two buttons located on the front of the SparkFun RTK EVK.
RTK Modes \u2014 The available modes for the RTK Everywhere firmware are listed below. A single press brings up the mode menu. Press the button again to step through the available modes listed below. Pause on the highlighted mode then double-click to select it and change to that mode. For more information on the modes, make sure to check out the RTK Everywhere Manual.
OLED Display Cycling Through Modes
Bootloader Mode \u2014 The boot button usually allows users to force the ESP32 into bootloader mode to manually upload new code to the ESP32.
There are three LEDs available:
Note
If this is your first time working with jumpers, check out the How to Work with Jumper Pads and PCB Traces tutorial for more information.
The RTK EVK includes various jumpers on the back of the PCB.
I2C
will connect to two pull-up resistors to the I2C data and clock lines when closed. For advanced users that do not have pull-up resistors attached to the I2C lines on their microcontroller, make sure to close the jumpers with a little solder blob.The SparkFun RTK EVK is designed around the Metal Enclosure - Custom Aluminum Extrusion (6in. x 4in. PCB). You can find the dimensions of the enclosure below.
Enclosure and Panel DimensionsWithin the enclosure is the RTK EVK PCB. You can find the board dimensions below.
Board DimensionsFor users interested in the dimensions of the surveying antenna, it is also listed below from the SPK6618H datasheet.
SPK6618H Surveying Antenna Dimensions"},{"location":"single_page/#hardware-hookup","title":"Hardware Hookup","text":"In this section, we'll go over how to connect to the SparkFun RTK EVK.
"},{"location":"single_page/#cellular-antenna","title":"Cellular Antenna","text":"To take advantage of the LTE cellular network with the LARA-R6, you will need to connect to the two LTE antennas on the back panel. Insert the LTE Hinged External Antenna into the SMA connector labeled as Cell 1 and rotate the threaded connector until it is finger tight. Repeat for the other SMA connector labeled as Cell 2. You will need to adjust the antenna as necessary depending on where you mount the RTK EVK.
LTE Cellular Antenna LTE Cellular Antenna Ports Highlighted"},{"location":"single_page/#multi-band-gnss-antenna","title":"Multi-Band GNSS Antenna","text":"Of course, you will need to connect an active multi-band GNSS antenna to the RTK EVK. We recommend using the L1/L2/L5 Surveying Antenna (SPK6618H) that is included with the kit. This covers the L1 and L2 band for the ZED-F9P. This also includes a built-in ground plane to provide the best performance for GNSS. This antenna will also provide broad coverage of the L-Band for the correction signals. Insert the SMA connector from the interface cable to the SMA connector labeled as GNSS. Tighten the hex nut until it is finger tight. Connect the TNC connector side from the interface cable to the to the SPK6618H antenna. Tighten the threaded connector until it is finger tight.
GNSS Antenna Port Highlighted Cable Survey AntennaYou will need to mount the antenna in an area where it gest the best view of the sky (we recommend the roof). There is mounting hardware where you can permanently mount the antenna to a structure or support. There is also a magnetic mount to attach to a metal structure as well. For the scope of this tutorial, we will not go over the details of installing the antenna.
Cable Connected and Survey Antenna Mounted on Magnetic Stand"},{"location":"single_page/#wifibluetooth-antenna","title":"WiFi/Bluetooth Antenna","text":"For WiFi and Bluetooth using the ESP32, you will need to connect the 2.4GHz Duck Antenna to the RPSMA connector labeled as ESP32. Insert the antenna into the RPSMA connector and tighten the threaded connector until it is finger tight.
WiFi/Bluetooth Connector Highlighted WiFi/Bluetooth AntennaNote
For users that need an extension cable to mount the antenna to a location that is farther away from the RTK EVK, you could use the Interface Cable - RP-SMA Male to RP-SMA Female (10M, RG58).
"},{"location":"single_page/#ethernet","title":"Ethernet","text":"For users that are connecting Ethernet or using power from the PoE, you will need to connect the Ethernet cable between the RTK EVK and your PoE network switch. Insert the Ethernet cable to the RJ45 MagJack connector until you hear a click. Then insert the other end into the network switch.
Ethernet Port Highlighted Ethernet Cable"},{"location":"single_page/#connecting-to-the-esp32","title":"Connecting to the ESP32","text":"You can connect to the ESP32 by inserting the USB-C connector into the port labeled as CONFIG ESP32 and inserting the other end of the cable to your computer's USB port. This will power the RTK EVK, allow you to upload custom code, manually update the firmware binaries, or connect to a serial terminal.
USB CONFIG ESP32 Port Highlighted USB C Cable"},{"location":"single_page/#connecting-to-the-u-blox-modules","title":"Connecting to the u-blox Modules","text":"You can connect to the ZED-F9P, NEO-D9S, or LARA-R6 by inserting the USB-C connector into the port labeled as CONFIG UBLOX and inserting the other end to your computer's USB port. This will power the RTK EVK and allow you to connect the modules to u-center or m-center (for the LARA-R6).
USB CONFIG ESP32 Port Highlighted USB C Cable"},{"location":"single_page/#inserting-a-microsd-card","title":"Inserting a MicroSD Card","text":"To insert a microSD card, slide the microSD card into the microSD socket until it clicks in place. Pushing the microSD card again will eject the memory card.
MicroSD Card Port Highlighted MicroSD Card"},{"location":"single_page/#inserting-a-nano-sim-card","title":"Inserting a Nano SIM Card","text":"Note
To take advantage of the LARA-R6, insert the nano SIM card into the nano SIM socket until it clicks. In this case, we used a Hologram card. Insert the SIM with the contacts facing down, insert the edge with the chamfered corner first.
Nano SIM Card Socket Highlighted Nano SIM CardNote
You will need to remove the nano SIM card from the 3-in-1 SIM card holder when you initially receive the Hologram card. Just \"punch\" out the pre-cut nano SIM card size out by pushing it out with your fingers. Make sure to avoid touching the gold contacts with your bare hands.
"},{"location":"single_page/#activate-your-hologram-sim","title":"Activate Your Hologram SIM","text":"If you're using a SIM card from Hologram, you'll need to follow a few quick steps to activate your SIM card.
For more help activating your Hologram SIM card, check out their Connect Your Device documentation.
"},{"location":"single_page/#inserting-a-wire-into-the-io-screw-terminal","title":"Inserting a Wire into the I/O Screw Terminal","text":"To connect to a pin on the screw terminal block, insert a stripped wire of any length into the I/O screw terminal. Of course, you could use jumper wires with pins as well. Secure the wire by tightening the screw using a precision 2.5mm flathead screw driver. Test the connection by gently pulling the wires to ensure that they are secure.
Wire Inserted into I/O and Screw Being TightenedIf necessary, users can remove the terminal block off by wiggling the connector or using a spudger. When ready, users can slide the I/O terminal block back into the socket.
I/O Screw Terminal Block RemovedTip
Don't have spudger? A good substitute includes a flathead screw driver, plastic card, or the PCB ruler. Using a tool will make it easier to remove the I/O terminal block.
"},{"location":"single_page/#connecting-a-radio-transceiver","title":"Connecting a Radio Transceiver","text":"Users can connect a radio transceiver to the ZED-F9P UART2 port for correction data. We recommend using a breadboard to JST-GHR-06V cable to connect the SiK Telemetry Radio. Note that the cable is included with the LoRaSerial Kit.
SiK Telemetry Radio V3 - 915MHz, 100mW WRL-19032
SparkFun LoRaSerial Kit - 915MHz (Enclosed) KIT-20029
Breadboard to JST-GHR-06V Cable - 6-Pin x 1.25mm Pitch (For LoRaSerial) CAB-23353
For users with the using a telemetry radio, you will need to connect the UART pins and ground to the screw terminal block. Note that this connection is only for the serial UART connection. To power, we recommend using an external 5V voltage source since 5V is not broken out. While there is a 3V3 pin available, the voltage will not be enough to fully power the radio module. One method is connecting a micro-B USB cable and 5V USB wall adapter to the Telemetry Radio.
RTK EVKUART Pinout TelemetryUART Pinout ZED TX2 RX ZED RX2 TX GND GNDFor users with the LoRaSerial, you will also be connecting the UART pins and ground to the screw terminal block. To power, we also recommend using an external 5V voltage source for power such as a USB C cable and 5V USB wall adapter.
RTK EVKUART Pinout LoRaSerialUART Pinout ZED TX2 RXI ZED RX2 TXO GND GND"},{"location":"single_page/#connecting-via-pth","title":"Connecting via PTH","text":"There are various PTHs throughout the PCB. Most are used with the testbeds for quality control but they are available for you to connect! For temporary connections to the PTHs, you could use IC hooks to test out the pins. However, you'll need to solder headers or wires of your choice to the board for a secure connection. You can choose between header pins and jumper wires, or stripping wire and soldering the wire directly to the board.
How to Solder: Through Hole Soldering
Working with Wire
The SparkFun RTK EVK runs on universal firmware created by SparkFun called RTK Everywhere. You can find its source through the RTK Everywhere GitHub repo.
Screenshot Firmware through Serial TerminalMake sure to check out the Quick Start Guide for the RTK EVK for a summary of how to get it connected over Bluetooth. You will also find more information about navigating through the configuration menu, updating firmware, and more in the product manual!
RTK Everywhere Product Manual: Quickstart Guide"},{"location":"single_page/#arduino-examples","title":"Arduino Examples","text":"Arduino
This example assumes you are using the latest version of the Arduino IDE on your desktop. If this is your first time using the Arduino IDE, library, or board add-on, please review the following tutorials.
Note
If you've never connected an CH340 device to your computer before, you may need to install drivers for the USB-to-serial converter. Check out our section on \"How to Install CH340 Drivers\" for help with the installation.
At the time of writing this tutorial, the RTK Everywhere Firmware currently does not support the u-blox LARA-R6 module. For users that are interested in taking advantage of cellular when Ethernet or WiFi is not available, you can check out the individual Arduino Example Sketches located in the SparkFun RTK EVK Example Sketches folder. Besides the 6x examples for the LARA-R6, you will also notice several other examples such as using the ZED-F9P, NEO-D9S, Qwiic OLED, LEDs, antenna open/short circuit detection, Ethernet, WiFi, and datalogging using the microSD card. Head to the SparkFun RTK EVK GitHub Repo to grab the files or download the .ZIP by clicking the button below.
GitHub SparkFun RTK EVK Repo: Arduino Example SketchesFor the scope of this tutorial, we will upload one of the examples to get started. After downloading the files, unzip the files and head to the following folder: SparkFun_RTK_EVK-main > Example Sketches. Let's test the connection between the ESP32-WROVER and LARA-R6 by clicking on the 8_1_LARA_UART_Test > 8_1_LARA_UART_Test.ino.
Note
Some examples may include additional header files. You'll need to click on the example that has the same title as the folder's title. Certain examples may also require an additional Arduino Library. Make sure to check the example to see if there is a #include
with the Arduino Library name near the top before compiling. You may also need to update the examples to provide any secret keys, accounts, or passwords.
Then select the associated board definition (in this case the ESP32 Wrover Module) and COM port. With a USB C cable connected to the CONFIG ESP32 port, click on the upload button. Opening the Arduino Serial Terminal at 115200 baud, the output will provide the model and SIM card information.
Note
At the time of writing, we used the following:
Note
Not working as expected and need help?
If you need technical assistance and more information on a product that is not working as you expected, we recommend heading on over to the SparkFun Technical Assistance page for some initial troubleshooting.
SparkFun Technical Assistance Page
If you don't find what you need there, the SparkFun Forums are a great place to find and ask for help. If this is your first visit, you'll need to create a Forum Account to search product forums and post questions.
Create New Forum Account Log Into SparkFun Forums
"},{"location":"single_page/#resources","title":"Resources","text":"Now that you've successfully got your SparkFun RTK EVK up and running, it's time to incorporate it into your own project! For more information, check out the resources below:
For user that are taking advantage of the Zero-Touch RTK for correction services, make sure to click on the link below! This link will allow you to register, reactivate, or cancel your RTK EVK's correction service.
Note
Not working as expected and need help?
If you need technical assistance and more information on a product that is not working as you expected, we recommend heading on over to the SparkFun Technical Assistance page for some initial troubleshooting.
SparkFun Technical Assistance Page
If you don't find what you need there, the SparkFun Forums are a great place to find and ask for help. If this is your first visit, you'll need to create a Forum Account to search product forums and post questions.
Create New Forum Account Log Into SparkFun Forums
"},{"location":"github/contribute/","title":"Contribute: Help Fix our Mistake!","text":"Spot something wrong? Feel free to contribute our open-source design and documentation.
"},{"location":"github/contribute/#improve-our-documentation","title":"Improve our Documentation","text":"All of this documentation can be modified by you! Please help us make it better.
docs
folder of the SparkFun RTK EVK repository.All of our designs are open-source! Please help us make it better.
Hardware
folder of the SparkFunRTK EVK Repository.Let's provided some recognition to the contributors for this project!
"},{"location":"github/file_issue/","title":"Did we make a mistake?","text":"
Spot something wrong? Please let us know.
Attention
This is not where customers should seek assistance on a product. If you require technical assistance or have questions about a product that is not working as expected, please head over to the SparkFun Technical Assistance page for some initial troubleshooting. SparkFun Technical Assistance Page
If you can't find what you need there, you'll need a Forum Account to search product forums and post questions.
"},{"location":"github/file_issue/#discrepancies-in-the-documentation","title":"Discrepancies in the Documentation","text":"All of this documentation can be modified by you! Please help us make it better.
docs
folder of the SparkFun RTK EVK repository.If a section of the documentation is incorrect, please open an issue and let us know.
"},{"location":"github/file_issue/#do-you-have-a-suggested-correction","title":"Do you have a suggested correction?","text":"All of our designs are open-source! Please help us make it better.
Hardware
folder of the SparkFun RTK EVK repository.If part of the design is confusing, please open an issue and let us know.
"},{"location":"github/file_issue/#did-we-forget-to-include-an-important-function-of-the-board","title":"Did we forget to include an important function of the board?","text":"This folder should contain the files for the custom javascript that is enabled in the product documentation
"}]} \ No newline at end of file diff --git a/single_page/index.html b/single_page/index.html new file mode 100644 index 0000000..70dd2d2 --- /dev/null +++ b/single_page/index.html @@ -0,0 +1,2689 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + +The SparkFun RTK EVK (Evaluation Kit) is the perfect development platform for your fixed or mobile high-precision positioning and navigation needs. In terms of connectivity, the SparkFun RTK EVK has the lot: WiFi / BT, Ethernet and LTE cellular! We called it the EVK (Evaluation Kit) as it truly covers all the options: L1 + L2 RTK GNSS, with L-Band correction built-in if needed, running on an agile processor with memory to spare!
+Note
+Currently, the RTK Everywhere firmware does not support cellular with the LARA-R6. However, we have written and tested extra code examples which will allow you to stream MQTT correction data from a u-blox PointPerfect Localized Distribution topic via the LARA-R6 cellular chip. This example demonstrates how easy it is to subscribe to PointPerfect and only receive the IP correction data you need for your location, minimizing your cellular data costs.
+In this tutorial we'll go over the hardware, assembly, and how get started with the SparkFun RTK.
+The SparkFun RTK EVK comes with everything you need to get up and running. Our kit includes:
+Depending on where you are installing the SparkFun RTK EVK, you also might need some mounting accessories to mount the GNSS antenna. You will want to mount the antenna in a location with the best view to of the sky (i.e. a roof).
+The RTK EVK comes with a custom extruded aluminum enclosure. The slotted flanges make it easy to install and secure the enclosure in many locations. If you are going to permanently install it up on a roof, you're going to need a suitable weatherproof box too. We found that the Orbit 57095 - also available from Amazon - was a good one back when we put together our first DIY GNSS Reference Station.
+AC Not Required!
+The Orbit enclosure comes with a built-in power outlet, but you don't actually need it! The RTK EVK can be powered by Power-over-Ethernet (PoE), meaning all you really need to run up to the roof is a standard 8-core CAT-6 Ethernet cable. Choose a PoE Ethernet Switch that meets your needs. We have had good experiences with the TP-Link TL-SG1005P - available from many retailers including Amazon.
+The following interface cables are great if say you are mounting the SparkFun RTK EVK in your home on a desk or lab bench and installing the antenna outdoors.
+Finally, if you're going to be logging a lot of data, you might want to stock up on 32GB microSD cards too. The RTK EVK can log 'raw' GNSS data messages (RAWX and SFRBX) at 4Hz if desired. At that rate, you're logging about 10kB per second, close to 40MB per hour or 1GB per day!
+Below are a few tools and accessories that you may need when connecting to the I/O terminal block on the back of the RTK EVK.
+If you aren’t familiar with the following concepts, we also recommend checking out a few of these tutorials before continuing.
+You may also be interested in the following blog posts on GNSS technologies.
+The electronics of the SparkFun RTK EVK is enclosed in a custom extruded aluminum case with machined end panels and slotted flanges.
+ + +The image below shows a top and bottom view of the populated PCB without the enclosure.
+ + +The SparkFun RTK EVK can be powered from the connectors on the front or the back of the board. There is no internal battery. Schottky protection diodes and a resettable fuse are included to prevent conflicting voltages and overvoltage protection. Voltage is then regulated down to 3.3V through the three voltage regulators.
+Power can also be provided from the I/O screw terminals or PoE.
++ | + |
USB Connector, Ethernet POE, and Power Input on Screw Terminals Highlighted in Back | +Ethernet POE, and Power Input on Screw Terminals Highlighted on PCB | +
There is also an output power pin for 3.3V on the I/O screw terminal.
++ | + |
3.3V Input on Screw Terminals Highlighted in Back | +3.3V Input on Screw Terminals Highlighted on PCB | +
A CH340 USB-to-Serial converter is included between the USB-C connector and the ESP32. The chip can be used to send serial data between the RTK EVK and computer. You can view the output or configure the device through a serial terminal. You can also manually upload new firmware as well.
+ + +The driver should automatically install on most operating systems. However, there is a wide range of operating systems out there. You may need to install drivers the first time you connect the chip to your computer's USB port or when there are operating system updates. For more information, check out our How to Install CH340 Drivers Tutorial.
+
+
+
+ + + How to Install CH340 Drivers ++ + |
+
The RTK Everywhere firmware is pre-loaded with the RTK EVK and flashed to the ESPRESSIF ESP32-WROVER module (with 16MB flash and 8MB PSRAM). The ESP32 handles all the processes. You can configure the EVK as a RTK base and push corrections to an NTRIP Caster. You can also configure the EVK as a RTK Rover and use corrections delivered over WiFi or Bluetooth. You can even update firmware over-the-air. For more information, we recommend checking out the RTK Everywhere Product Manual.
+ + +Note
+The ESP32-WROVER module can only connect to a 2.4GHz WiFi network. Unfortunately, 5GHz is not supported on the ESP32-WROVER module.
+For users that want to configure the ESP32 using a serial terminal, you will simply need to connect the CONFIG ESP32 to your computer's USB port. Once connected, open a serial terminal set to 115200 baud and press any key to open the serial configuration menu. Of course, this is only one method of adjusting the settings. You can also change the settings through WiFi, Bluetooth, and a text file saved on a microSD card.
+The screw terminal on the back includes an I2C port. This is connected to the ESP32's primary I2C port and is shared by the ZED-F9P and NEO-D9S.
+Note
+3.3V and GND are also conveniently placed next to the SCL and SDA pins. These follow the same pinout as most of the SparkFun I2C breakout boards with PTHs.
+The I2C peripherals connected to the primary I2C port and their address are listed below:
+Inside of the enclosure, there is a Qwiic vertical port available. This is connected to the Qwiic OLED via a Qwiic cable. This port is connected to the ESP32's secondary I2C port with SCL connected to pin 15 and SDA connected to pin 12. The logic level is also 3.3V. Currently, there are no pull-up resistors attached to this line. To attach the 2.2kΩ pull-up resistors to the port, you will just need to add a solder blob to the I2C jumper.
+ + +The I2C peripheral connected to the secondary I2C port and their address is listed below:
+The RTK EVK includes the SparkFun Qwiic OLED - (1.3in., 128x64). This is connected to the ESP32 via a Qwiic port contained within the enclosure. As stated earlier, the default address for the display is 0x3D. The display provides useful information about the RTK EVK without needing to connect to a serial terminal.
+ + +Below show some of the possible outputs from the RTK EVK. The icons are explained further in the RTK Everywhere Product Manual > Hardware > Displays.
+The image below shows the Bluetooth MAC address of the RTK EVK on the upper left hand corner of the screen. If there is a Bluetooth connection, the Blueooth symbol will display. To the right is the WiFi symbol. To the right of the WiFi symbol is the icon indicating the selected dynamic model, in this case it's the default portable icon. On the upper far right, is the Ethernet connection symbol. Below the Bluetooth MAC address is the RTK float solution symbol. The number to the right indicates the horizontal position accuracy. In this case, there is an RTK float since the value is between 0.400 meters to 0.200 meters. To the right is the satellites in view symbol and number of satellites. The additional antenna lines indicates that the RTK EVK that there is successful reception and decryptions of L-band corrections. Finally, the rotating semi-circle indicates the RTK EVK firmware is running. This changes to a logging icon when data is being logged to microSD card.
+ + +The image below is similar to the previous display output. You'll notice a few differences. The arrow pointing down indicates that there are corrections being received. The Ethernet symbol is also not displaying since there was no Ethernet connection at that moment. The horizontal positional accuracy indicates that there is a RTK fixed solution with the double cross hairs since the value is below 0.200 meters. Finally, the display is showing 29 satellites in view and no L-band corrections.
+ + +The RTK EVK wouldn't be a an RTK without well... a high precision RTK. The RTK EVK includes a built-in u-blox ZED-F9P module for high precision GNSS. You will need to connect an active multiband antenna that is capable of receiving L1 and L2 signals. The ZED-F9P can be set as a base station or rover. There are several options to send or receive correction data depending on the mode: Ethernet, WiFi network, LTE cellular network, or the NEO-D9S. Note that the RTK Everywhere firmware does not currently support cellular, but there are separate code examples showing how to receive localized corrections from PointPerfect via cellular. As stated earlier, the ZED-F9P is connected to the primary I2C port and uses the default address of 0x42.
+ + +Below are a few specifications taken from the ZED-F9P's datasheet:
+The screw terminal on the back includes a UART port. This is connected to the ZED-F9P's secondary UART port (UART2) for users that want to connect to other high precision GNSS modules for correction data.
++ | + |
ZED-F9P UART Correction Port Highlighted | +ZED-F9P UART Correction Port Highlighted on PCB | +
The screw terminal on the back includes an external interrupt for the ZED-F9P. The interrupt can either be an input/output pin. This can be configured using u-center to bring the module out of deep sleep or to output an interrupt for various module states. In the RTK Everywhere firmware, this terminal can be used to trigger and log a UBX-TIM-TM2 timing message. The logic level is 3.3V.
++ | + |
ZED-F9P External Interrupt Highlighted | +ZED-F9P External Interrupt Highlighted on PCB | +
The screw terminal on the back labeled as TP includes ZED-F9Ps time pulse output (i.e. the pulse-per-second or PPS output). This pulses at 1Hz when the module gets basic GPS/GNSS position lock and can be configured using the u-center. The logic level is 3.3V.
+ + +The RTK EVK includes the built-in u-blox NEO-D9S for correction data. You will need to connect an antenna that is capable of receiving signals from the L-band to access u-blox PointPerfect correction service. The NEO-D9S is connected to the primary I2C port and uses the default address of 0x43. You will need a service provider to access the correction data.
+ + +Below are a few specifications taken from the NEO-D9S's datasheet:
+The front of the RTK EVK includes a microSD card socket. Insert a microSD card into the socket until it clicks in place. Pushing the microSD card again will eject the memory card. This is connected to the ESP32's SPI port. Power is provided by the secondary power source. Users can manually flash the firmware binaries using the microSD card as opposed to over-the-air updates. Typically, the microSD card is for datalogging. The microSD card can also hold the user preferences for anyone that is interested in deploying multiple RTK EVKs with the same settings out in the field.
+ + +The RTK EVK also includes the u-blox LARA-R6 cellular module for users that need to connect to a LTE cellular network. The module is connected to the ESP32 via UART.
+ + +Below are a few specifications taken from the LARA-R6's datasheet:
+Note
+Although the LARA supports GSM/GPRS, the RTK EVK does not due to the high current required.
+Note
+Currently, the RTK Everywhere firmware does not support cellular with the LARA-R6. However, we have written and tested extra code examples which will allow you to stream MQTT correction data from a u-blox PointPerfect Localized Distribution topic via the LARA-R6 cellular chip. This example demonstrates how easy it is to subscribe to PointPerfect and only receive the IP correction data you need for your location, minimizing your cellular data costs.
+To connect to an cellular network with the built-in u-blox LARA-R6 (specifically the LARA-R6001D), you will need a nano SIM card. The cellular module works with most major North American carriers (Verizon, T-Mobile, AT&T, etc.). Make sure to check with your network service provider for compatibility. You also may need approval with the service carrier before the service is activated. We recommend using the Hologram SIM Card. Insert the SIM with the contacts facing down, insert the edge with the chamfered corner first.
+ + +The RTK EVK includes a built-in Ethernet circuitry. You can connect an Ethernet cable to the back of the RTK EVK's RJ45 MagJack port. This connector includes status LEDs for Link and Activity. These LEDs can be disabled by cutting the jumpers on the back of the PCB. The port connects to the Power-over-Ethernet (PoE) module and WIZnet W5500 Ethernet transceiver. 10/100Mbps is supported with auto-negotiation. As stated earlier, the PoE module can be powered using the standard PoE voltages between +36V to +57V. Make sure to choose a PoE Ethernet Switch that meeds your needs. We have had good experience with the TP Link TL-SG1005P - available from many retailers including Amazon.
++ | + |
Ethernet Jack Highlighted | WIZnet W5500 IC, Ethernet Jack, and PoE Module Highlighted | +
The back of the SparkFun RTK EVK includes a few connectors for cellular, GNSS, and WiFi antennas.
+GNSS — The SMA connector labeled as GNSS is for the u-blox ZED-F9P and NEO-D9S. This is connected to a GNSS splitter (Power Divider) and allows you to connect a single GNSS antenna for both modules. This is intended to connect an active multiband GNSS antenna using the SMA male to TNC male interface cable that is included in the kit. The RTK EVK provides 5V on this connector for an active multiband antenna instead of the usual 3.3V. Short-circuit and open-circuit detection is built into this connection as well. The following icons will flash whenever the RTK EVK does not detect an antenna (i.e. an open circuit) or if there is a short in the cable. Next to the icons will also indicate that there will be 0 satellites in view.
+ +ESP32 — The RP-SMA connector labeled as ESP32 is for the ESP32-WROVER. This is intended to connect the 2.4GHz WiFi/BT antenna.
+There are two buttons located on the front of the SparkFun RTK EVK.
++ | + |
Reset and Mode/Boot Buttons Highlighted | +Reset and Mode/Boot Buttons Highlighted on PCB | +
RTK Modes — The available modes for the RTK Everywhere firmware are listed below. A single press brings up the mode menu. Press the button again to step through the available modes listed below. Pause on the highlighted mode then double-click to select it and change to that mode. For more information on the modes, make sure to check out the RTK Everywhere Manual.
+Bootloader Mode — The boot button usually allows users to force the ESP32 into bootloader mode to manually upload new code to the ESP32.
+There are three LEDs available:
+Note
+If this is your first time working with jumpers, check out the How to Work with Jumper Pads and PCB Traces tutorial for more information.
+The RTK EVK includes various jumpers on the back of the PCB.
+I2C
will connect to two pull-up resistors to the I2C data and clock lines when closed. For advanced users that do not have pull-up resistors attached to the I2C lines on their microcontroller, make sure to close the jumpers with a little solder blob.The SparkFun RTK EVK is designed around the Metal Enclosure - Custom Aluminum Extrusion (6in. x 4in. PCB). You can find the dimensions of the enclosure below.
+ + +Within the enclosure is the RTK EVK PCB. You can find the board dimensions below.
+ + +For users interested in the dimensions of the surveying antenna, it is also listed below from the SPK6618H datasheet.
+ + +In this section, we'll go over how to connect to the SparkFun RTK EVK.
+To take advantage of the LTE cellular network with the LARA-R6, you will need to connect to the two LTE antennas on the back panel. Insert the LTE Hinged External Antenna into the SMA connector labeled as Cell 1 and rotate the threaded connector until it is finger tight. Repeat for the other SMA connector labeled as Cell 2. You will need to adjust the antenna as necessary depending on where you mount the RTK EVK.
+ + +Of course, you will need to connect an active multi-band GNSS antenna to the RTK EVK. We recommend using the L1/L2/L5 Surveying Antenna (SPK6618H) that is included with the kit. This covers the L1 and L2 band for the ZED-F9P. This also includes a built-in ground plane to provide the best performance for GNSS. This antenna will also provide broad coverage of the L-Band for the correction signals. Insert the SMA connector from the interface cable to the SMA connector labeled as GNSS. Tighten the hex nut until it is finger tight. Connect the TNC connector side from the interface cable to the to the SPK6618H antenna. Tighten the threaded connector until it is finger tight.
+ + +You will need to mount the antenna in an area where it gest the best view of the sky (we recommend the roof). There is mounting hardware where you can permanently mount the antenna to a structure or support. There is also a magnetic mount to attach to a metal structure as well. For the scope of this tutorial, we will not go over the details of installing the antenna.
+ + +For WiFi and Bluetooth using the ESP32, you will need to connect the 2.4GHz Duck Antenna to the RPSMA connector labeled as ESP32. Insert the antenna into the RPSMA connector and tighten the threaded connector until it is finger tight.
+ + +Note
+For users that need an extension cable to mount the antenna to a location that is farther away from the RTK EVK, you could use the Interface Cable - RP-SMA Male to RP-SMA Female (10M, RG58).
+For users that are connecting Ethernet or using power from the PoE, you will need to connect the Ethernet cable between the RTK EVK and your PoE network switch. Insert the Ethernet cable to the RJ45 MagJack connector until you hear a click. Then insert the other end into the network switch.
+ + +You can connect to the ESP32 by inserting the USB-C connector into the port labeled as CONFIG ESP32 and inserting the other end of the cable to your computer's USB port. This will power the RTK EVK, allow you to upload custom code, manually update the firmware binaries, or connect to a serial terminal.
+ + +You can connect to the ZED-F9P, NEO-D9S, or LARA-R6 by inserting the USB-C connector into the port labeled as CONFIG UBLOX and inserting the other end to your computer's USB port. This will power the RTK EVK and allow you to connect the modules to u-center or m-center (for the LARA-R6).
+ + +To insert a microSD card, slide the microSD card into the microSD socket until it clicks in place. Pushing the microSD card again will eject the memory card.
+ + +Note
+If you're using a SIM card from Hologram, you'll need to follow a few quick steps to activate your SIM card. +
For more help activating your Hologram SIM card, check out their Connect Your Device documentation.
+To take advantage of the LARA-R6, insert the nano SIM card into the nano SIM socket until it clicks. In this case, we used a Hologram card. Insert the SIM with the contacts facing down, insert the edge with the chamfered corner first.
+ + +Note
+You will need to remove the nano SIM card from the 3-in-1 SIM card holder when you initially receive the Hologram card. Just "punch" out the pre-cut nano SIM card size out by pushing it out with your fingers. Make sure to avoid touching the gold contacts with your bare hands.
+To connect to a pin on the screw terminal block, insert a stripped wire of any length into the I/O screw terminal. Of course, you could use jumper wires with pins as well. Secure the wire by tightening the screw using a precision 2.5mm flathead screw driver. Test the connection by gently pulling the wires to ensure that they are secure.
+ + +If necessary, users can remove the terminal block off by wiggling the connector or using a spudger. When ready, users can slide the I/O terminal block back into the socket.
+ + +Tip
+Don't have spudger? A good substitute includes a flathead screw driver, plastic card, or the PCB ruler. Using a tool will make it easier to remove the I/O terminal block.
+Users can connect a radio transceiver to the ZED-F9P UART2 port for correction data. We recommend using a breadboard to JST-GHR-06V cable to connect the SiK Telemetry Radio. Note that the cable is included with the LoRaSerial Kit.
+For users with the using a telemetry radio, you will need to connect the UART pins and ground to the screw terminal block. Note that this connection is only for the serial UART connection. To power, we recommend using an external 5V voltage source since 5V is not broken out. While there is a 3V3 pin available, the voltage will not be enough to fully power the radio module. One method is connecting a micro-B USB cable and 5V USB wall adapter to the Telemetry Radio.
+RTK EVK UART Pinout + |
+ Telemetry UART Pinout + |
+
---|---|
ZED TX2 + | +RX + | +
ZED RX2 + | TX + | +
GND + | +GND + | +
For users with the LoRaSerial, you will also be connecting the UART pins and ground to the screw terminal block. To power, we also recommend using an external 5V voltage source for power such as a USB C cable and 5V USB wall adapter.
+RTK EVK UART Pinout + |
+ LoRaSerial UART Pinout + |
+
---|---|
ZED TX2 + | +RXI + | +
ZED RX2 + | TXO + | +
GND + | +GND + | +
There are various PTHs throughout the PCB. Most are used with the testbeds for quality control but they are available for you to connect! For temporary connections to the PTHs, you could use IC hooks to test out the pins. However, you'll need to solder headers or wires of your choice to the board for a secure connection. You can choose between header pins and jumper wires, or stripping wire and soldering the wire directly to the board.
+The SparkFun RTK EVK runs on universal firmware created by SparkFun called RTK Everywhere. You can find its source through the RTK Everywhere GitHub repo.
+ + +Make sure to check out the Quick Start Guide for the RTK EVK for a summary of how to get it connected over Bluetooth. You will also find more information about navigating through the configuration menu, updating firmware, and more in the product manual!
+ + +Arduino
+This example assumes you are using the latest version of the Arduino IDE on your desktop. If this is your first time using the Arduino IDE, library, or board add-on, please review the following tutorials.
+ +Note
+If you've never connected an CH340 device to your computer before, you may need to install drivers for the USB-to-serial converter. Check out our section on "How to Install CH340 Drivers" for help with the installation.
+ +At the time of writing this tutorial, the RTK Everywhere Firmware currently does not support the u-blox LARA-R6 module. For users that are interested in taking advantage of cellular when Ethernet or WiFi is not available, you can check out the individual Arduino Example Sketches located in the SparkFun RTK EVK Example Sketches folder. Besides the 6x examples for the LARA-R6, you will also notice several other examples such as using the ZED-F9P, NEO-D9S, Qwiic OLED, LEDs, antenna open/short circuit detection, Ethernet, WiFi, and datalogging using the microSD card. Head to the SparkFun RTK EVK GitHub Repo to grab the files or download the .ZIP by clicking the button below.
+ + +For the scope of this tutorial, we will upload one of the examples to get started. After downloading the files, unzip the files and head to the following folder: SparkFun_RTK_EVK-main > Example Sketches. Let's test the connection between the ESP32-WROVER and LARA-R6 by clicking on the 8_1_LARA_UART_Test > 8_1_LARA_UART_Test.ino.
+Note
+Some examples may include additional header files. You'll need to click on the example that has the same title as the folder's title. Certain examples may also require an additional Arduino Library. Make sure to check the example to see if there is a #include
with the Arduino Library name near the top before compiling. You may also need to update the examples to provide any secret keys, accounts, or passwords.
Then select the associated board definition (in this case the ESP32 Wrover Module) and COM port. With a USB C cable connected to the CONFIG ESP32 port, click on the upload button. Opening the Arduino Serial Terminal at 115200 baud, the output will provide the model and SIM card information.
+Note
+At the time of writing, we used the following:
+
+
Note
+
+ Not working as expected and need help?
If you need technical assistance and more information on a product that is not working as you expected, we recommend heading on over to the SparkFun Technical Assistance page for some initial troubleshooting.
If you don't find what you need there, the SparkFun Forums are a great place to find and ask for help. If this is your first visit, you'll need to create a Forum Account to search product forums and post questions.
Now that you've successfully got your SparkFun RTK EVK up and running, it's time to incorporate it into your own project! For more information, check out the resources below:
+For user that are taking advantage of the Zero-Touch RTK for correction services, make sure to click on the link below! This link will allow you to register, reactivate, or cancel your RTK EVK's correction service.
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +Note
+
+ Not working as expected and need help?
If you need technical assistance and more information on a product that is not working as you expected, we recommend heading on over to the SparkFun Technical Assistance page for some initial troubleshooting.
If you don't find what you need there, the SparkFun Forums are a great place to find and ask for help. If this is your first visit, you'll need to create a Forum Account to search product forums and post questions.