Share Button

Mission: Global, Two-Way Comms

While APRS has served as the primary tracking system on our previous missions, the idea of having two-way communications capability in all geographic areas is appealing. We have investigated satellite communications for our future missions. Starting out, we considered several services, including:

  1. OrbComm
  2. Globalstar
  3. Iridium

After talking with fellow balloonists and evaluating the options, we decided Iridium was the most promising solution to start experimenting with. The system seemed to be a best compromise of afford-ability, coverage, and message latency.

More About Iridium

If you want the full scoop on the Iridium system, it’s probably easiest for you to check out this Wikipedia article. However, we can sum up the basics here:

The constellation includes ~66 satellites that are in low-earth, nearly polar orbits. The satellite are arranged in 6 orbital planes to provide continuous coverage across the globe. Some satellites are currently non-operational, and there are a few “holes”.

Iridium Constellation

Iridium Constellation


The system implements a FD/TDMA scheme. Each satellite produces 48 spot beams. In each beam, the satellite can assign both a frequency and a timeslot for user equipment (our modem) to communicate. When the modem powers up, it communicates on a random-access uplink channel to receive this frequency and timeslot assignment. When the user sends a message, the modem communicates on its assigned timeslot and frequency.



Iridium – TDMA Frame Structure


During a successful short burst data session, the user equipment transfers a message to a satellite in view. This message arrives at the satellite but doesn’t stop there. It is passed along to other satellites via Ka-band cross-links. Eventually, the message will arrive at a satellite that has line-of-site to a ground station. The is transferred to the ground component, where it is delivered to the end user via e-mail, TCP/IP, or an HTTP session.

Iridium Hardware

Generally speaking, Iridium designs modems that are OEM’d by partners like N.A.L. Research, Quake, or Rock7Mobile. These partners in turn structure their data services so you, the user, can pay monthly and/or data usage fees. Each vendor structures things a little differently. There are several models to choose from, but one of the lightest-weight versions is the Iridium 9602.

Rock7Mobile has done a nice job of packaging the 9602 on what is a glorified breakout board. We’ve chosen to use their “naked” board, which offers USB connectivity via FTDI chip, as well as straight serial. Their data plan is also attractive because you do not have to pay an activation fee, and you do no have to pay the monthly fee if you do not use the modem.

The RockBlock

The RockBlock


Making an Iridium Modem Sing

We will provide a more detailed look at this on our next post. Essentially, the modem connects to a microcontroller or computer with a serial interface. It accepts commands just like the old dial-up modems, but uses a short-burst data session to transfer the data to the satellite constellation. The basic process for sending a message through the modem is as follow:

(via serial console 19200, 8-bit, no-parity, 1 stop bit – modems may be configured for flow control but you can turn this off)

at+sbdreg                          //optional, registers the modem with the network for message alerts
at+sbdwt=hello world               //write text string to mobile-originating buffer
at+sbdix                           //initiate short-burst data session

And that’s that… It may take anywhere from 5 to 30 seconds before you see a response from the modem. It will return a comma-delimited string of several numbers. The first number is a return status, and if you see a ‘0’,’1′, or ‘2’, the short-burst data session was basically successful. The message will be delivered via e-mail, or whatever mechanism you selected in your Rock7Mobile configuration.  While you were transmitting a message, if there was a message queued for you modem, it will also download that.

You can read back a received text message with:

at+sbdrt                             //read text message from mobile-terminating buffer
This is a test message

More to follow!