Skip to content

jangleboom/RTKRover

Repository files navigation

RTKRover

Headtracker + Real Time Kinematics (RTK rover)

Hardware used:

  • Adafruit Feather ESP32 Huzzah
  • SparkFun GPS-RTK-SMA Breakout - ZED-F9P (Qwiic)
  • SparkFun BNO080 Breakout
  • ublox ANN-MB1 antenna (the small one the picture is not used here at the moment)
  • LiPo battery
  • Push button(s)
  • Resistor 10 k
  • Switch

Infrastructure:

  • WiFi (e. g. a personal hotspot)
  • free line of sight between antenna (horizontal placed) an sky

Dependencies

Circuit diagram

plot

Configuration

BNO080:

In main.cpp line 763 (or near) you can choose the way of sensor fusion in the BNO080.

  // Activate IMU functionalities
  // bno080.enableRotationVector(BNO080_ROT_VECT_UPDATE_RATE_MS);  
  // bno080.enableGameRotationVector(BNO080_ROT_VECT_UPDATE_RATE_MS);  
  bno080.enableARVRStabilizedRotationVector(BNO080_ROT_VECT_UPDATE_RATE_MS);

more information in the datasheet

ZED-F9P:

If you are NOT using the web form of the RTKBaseManager, then to connect to a caster you will need to fill out the CasterSecrets.h that lives in your src folder with your own credentials (and replace the vars with the k prefixed values e. g: mountPoint to kMountPoint in the main.cpp).

#ifndef CASTER_SECRETS_H
#define CASTER_SECRETS_H
// A place for your caster credentials

// RTK2Go http://www.rtk2go.com:2101/SNIP::STATUS#uptime

const char kCasterHost[] = "rtk2go.com"; 
const char kCasterPort[] = "2101";
const char kMountPoint[] = "YOUR_MOUNT_POINT";
const char kCasterUser[] = "YOUR_USER_EMAIL";           // User must provide their own email address to use RTK2Go
const char kCasterUserPw[] = "";                        // Not neccecary, more info: rtk2go.com

// Device name 
const char kDeviceName[] = "rover123";                  // E. g. 
// Wifi access
const char kWifiSsid[] = "YOUR_SSID_WITHOUT_SPACES";    // Wifi to connect the rover with
const char kWifiPw[] = "YOUR_WIFI_PASSWORD";

#endif /*** CASTER_SECRETS_H ***/

The mklittlefs file in the root dir you have to get depending on your OS. If you have the Arduino IDE installed, you can borrow it from there too. On macOS you can find it here: ~/Library/Arduino15/packages/esp32/tools/mklittlefs/3.0.0-gnu12-dc7f933/mklittlefs. Help for setup the file system you can find here. This project was created on macOS (silicon).

Support RTK2GO

ESP32 board LED error codes:

  • 0.1 s BLE: not connected
  • 0.5 s RTK: setupGNSS() failed (I2C setup)
  • 1.0 s RTK: setupGNSS() failed (I2C communication)
  • 2.0 s RTK: credentialsExists false
  • 1.0 s : 0.1 s WiFi: connection to AP lost

About

Real time kinematics rover (ESP32 + ZED-F9P) with BNO080 IMU, sends location and orientation to an iOS app.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published