Skip to content
faragher edited this page Sep 11, 2024 · 2 revisions

This currently targets an experimental T-Beam firmware: https://github.com/faragher/RNode_Firmware

This uses the uBlox NEO-6M and may not be compatible with any other modem, since the NEO-6M has NMEA standard output, but proprietary control codes.

Data is sent to to and received from the RNode over UART. (Default 115200 Baud, 8N1)

RNode command codes are subject to change.

Usage

This is designed to pass NMEA sentences from the radio to the computer attached over the RNode. It is not intended to be a high-precision stand-alone device and lacks things like satellite lists, DoP, or NTP capabilities. Onboard time and location information is designed for on-RNode display purposes or for super-low power capabilities, such as ATMega systems controlling the RNode.

Additional on-board features are not expected. Support for additional modems is possible given a known control code standard.

General Format

To RNode:

General Command

Frame End RNode Command GPS Opcode Frame End
FEND CMD_GPS_CMD X FEND
0xC0 0xA0 X 0xC0

X: See command list below

Rate Command

Frame End RNode Command Sentence Type Rate Frame End
FEND CMD_GPS_RATE X Y FEND
0xC0 0xA1 X Y 0xC0

X: Target NMEA sentence Y: Rate divisor 0-9

Divisor cuts the rate of messages, 1/n, but is dependent on the internal modem rate. This is a hardware limitation. May be increased to 0-99 with further testing.

Lists

NMEA Sentence Enumeration

Num Sentence
0 GGA
1 GLL
2 GSA
3 GSV
4 RMC
5 VTG

GPS Opcodes

Code Name Description
0x00 GPS_CMD_TIME Returns UTC time in a six character string. - 001122
0x01 GPS_CMD_LOCATION Returns location as a string. dd mm.mmm N 0x0d 0x0a ddd mm.mmm W
0x02 GPS_CMD_RATE Defined but unused. Reserved for future output
0x03 GPS_CMD_SENTENCE Instructs the RNode to request and return a GGA message. Triggers all stored messages
0x10 GPS_CMD_ENABLE_HEARTBEAT Convenience: Sets GGA pole rate to 1 and Automatic to true
0x11 GPS_CMD_DISABLE_HEARTBEAT Convenience: Sets GGA pole rate to 0 and Automatic to false
0x12 GPS_CMD_ENABLE_AUTOMATIC Reports all NMEA messages as they arrive
0x13 GPS_CMD_DISABLE_AUTOMATIC Reports messages only on request
0x20 GPS_CMD_HOT Convenience: Sets GGA, GLL, RMC, and VTG to rate 1
0x21 GPS_CMD_COLD Convenience: Sets all sentences to rate 0