Live Telemetry
Live telemetry is our system to stream data from the rocket to the ground. It is also how we communicate with the rocket when it is on the pad in order to control its valves / electronics.
Radios
The current version of live telemetry is built around the RFD 900x modems. They act as a transparent uart link between all connected modems.
We have a few different versions of the modem (The -US V1.4 hardware, The -US V2.0 hardware, and the region-unlocked V2.0 hardware). We need to use the common denominator to ensure compatibility, which means sticking to the -US frequency bands (902 - 915 MHz) and the V1.4 baud rates.
Since we need at least 3 radios to be able to communicate (rocket, RLCS, mission control) we can’t use the default peer-to-peer firmware. There are two other firmware options, the asynchronous mesh and the multipoint SiK. The async mesh is simpler (all radios are equal and talk to all other radios in range) but there isn’t firmware available for it on the V2.0 hardware, so we have to use the more complicated (has a master node that determines timesharing of the others) multipoint SiK. Thankfully the latest respective releases for the V1.4 and V2.0 hardware are compatible.
Setting up the Radios
If you have an antenna available please connect it before powering up the modem. Although it is safe to use without an antenna connected it generates excess heat and shouldn’t be done for extended periods.
Connect the radios to a computer using one of the included USB/Serial cables. By default the cable doesn’t power the radio, to apply power add a jumper between pins 2 and 4 of the radio as shown.
Flash the firmware using RFDTools (the default baud rate is 57600, if the radio is used it may have been set to 115200). After that point I recommend configuring using AT commands and a serial terminal of your choice (eg PuTTY), apparently the RFDTools GUI doesn’t fully support non-P2P firmware.
To enter AT command mode, open the serial terminal, type +++
, and then don’t type anything for 1 second (don’t press enter after typing +++
!). The modem will then respond with OK
and you can safely run the below commands.
Run the following commands to configure the modem:
ATS1=115 # set the baud rate to 115200
ATS2=64 # set the air data rate to 64kbps
ATS4=30 # set the TX power to 30 db (the maximum)
ATS6=0 # disable smart Mavlink data framing stuff
ATS8=902000 # set the min freq to 902 MHz
ATS9=915000 # set the max freq to 915 MHz
ATS10=51 # Use 51 hopping channels (not sure why but one of the modems require it to be 51)
ATS24=ID # replace ID with the node ID. IDs should be unique, the master radio (rocket) has ID 1 and they increment
The master modem (with node id 1) also needs to have the following command ran: AT&M0=0,N
where N is the largest node id used (aka the number of nodes).
Lastly, save changes and reboot:
AT&W
ATZ
Since the serial baud rate was changed to 115200 you will need to close and reopen your serial terminal (and update its baud rate).
Usage
When the radios are configured and powered up you should see the green LED flashing. After ~30 seconds they should see each other and connect, which is indicated by the green LED becoming solid and the red LED starting to flash rapidly. You can now send data between them.
Important RFD900x links
Programming Tool (get the latest version of RFDTools, not RFDMXTools)