TinkerNav serves as the base station or rover in an RTK solution. TinkerNav includes a SkyTraq PX1105R GNSS receiver with built-in RTK engine and an ESP32-S3 dual core processor to run your own program on (example programs included to get you started). TinkerNav also includes a variety of useful interfaces including 2.54mm headers, battery connection, USB-C connection, and direct interface to the GNSS serial output via a 4 pin JH connector.
Hardware
The ESP32-S3 interfaces with the PX1105R GNSS receiver providing both processing and a WiFi/BlueTooth radio. The ESP32-S3 also controls the optional TinkerSend LoRa radio. You can use the ESP32-S3 to send or receive RTK correction data to or from an internet source with a WiFi or BlueTooth connection. The ESP32-S3 can also connect to another TinkerNav using WiFi or a direct connection to send or receiver correction data. If additional range is needed, or the base station and rover are not connected to WiFi, use the the TinkerSend LoRa radio. Our Sending RTK Corrections page describes the options in more detail and links to example software.
TinkerNav Pinout
The pinout figure shows the functions of the pins that are broken out. The ESP32 has hardware serial connections to the PX1105R transmit pin (to configure the GNSS and receive data from it) as well as the RXD2 (to send RTCM correction data to the receiver in rover mode). Hardware serial connections provide less data loss and higher speeds for these two critical functions.
Power
TinkerNav is powered by the USB-C connection, or the JH 2.0 battery connection. The battery connection accepts voltages from 2V to 16V, though 1S or 2S batteries are recommended. You can apply power to the USB and battery at the same time. The VCC pin comes after the Buck converter and should never be used to supply power to TinkerNav. VCC is an output intended to provide power to piggy back boards.
Input voltage on VBATT can range from 1.8V to 5.5V. VBUS is connected to the USB-C power line and is usually 5V, but could also range from 1.8V to 5.5V. The TPS63070RNMR Buck Boost converter produces 3.3V regardless of the input voltage. The TPS63070RNMR produces up to 2 amps of power to power the PX1105R, ESP32-S3, and optional TinkerSend-LoRa radio.
LoRa and GNSS Breakouts
The orange breakouts map to ESP32 pins, but serve their listed functions for the TinkerSend – LoRa board. They can be used for other purposes with a custom piggyback board. The blue breakouts provide an additional output of GNSS data and input for RTCM correction data for custom piggy back boards.
Plug-in Boards
The RTKNav board has a pair of 1X10 2.54mm sockets. The TinkerSend – LoRa radio plugs in here or it can be used by custom piggy backboards.
When plugging in board it is important to align the arrows on the board with the arrows on the TinkerNav board. The arrows should point towards to the top of the board. Plugging boards in backwards should not result in damage, but they will not function.
More details on TinkerSend-LoRa.
Schematic and KiCad Files
Schematic files for the TinkerNav board are available in KiCad format and available at our GitHub page. Schematics are licensed with the Creative Commons-Share Alike license.
Software and Programming
Tutorials of several common use cases are provided in the “Getting Started” menu from our homepage. Open source software examples are provide at our GitHub repository.
The PX1105R receivers are programed from the ESP32-S3 in our software examples, which ensures the receivers are configured correctly for the use case at hand. You should be able to do any programming you need from the ESP32-S3 by modifying the examples that run there and interface with the PX1105R, however, you can also use NavSpark’s GNSS viewer to visualize GNSS data from the PX1105R, change settings on the receiver manually, or update the firmware. You can use a USB to TTL serial cable such as this one from AdaFruit. Power TinkerNav from a separate USB cable or a battery and connect the USB TTL cable to the GNSS 2.54mm output. Specifically, connect the black ground cable to GND, the green cable xxx. The GNSS viewer software should recognize the input and suggest a serial speed to use. The PX1105R will come flashed with a speed of 115200. AdaFruit and others provide instructions for adding or updating drivers if your cable is not recognized by your computer. Instructions on using the GNSS viewer are found on NavSpark’s site.
Programming the ESP32-S3
The USB-C connection at the bottom of the board is used to program the ESP32-S3 from any computer. You can program the ESP32-S3 using any of the techniques used for an ESP32. TinkerNav will appear in the Arduino IDE like a ESP32-S3 Dev Module using Espressif’s board manager. ESP32s also support the Espressif IDE.
Once you are able to flash basic programs to the ESP32-S3 you can then move on to flashing any of the software we have built for different configurations our TinkerNav board and TinkerSend – LoRa radio. Note that if you get an error flashing the ESP32-S3, or it does not appear in the Arduino IDE, you can hold the “Boot” button down while applying power to the TinkerNav and it will appear in the Arduino IDE as a device that can be uploaded to.