For less than $100 you can buy a little tracking module that will upload your location to a satellite. But you’ll only get latitude and longitude information. [Natrium42] spent some time reverse engineering the hardware, and the communications protocol, to allow custom data to be transferred using a SPOT module.
The flat fee for the hardware includes a one-year service plan allowing you to tack your device on the SPOT website. [Natrium42] started poking around in the transmitted data packages, and figured he could push custom messages like altitude data if he had some way to encode it as a valid latitude/longitude package. He found that location data is transmitted as two sets of three bytes each. The four least significant bits of each set get rounded by the server, leaving a total of 40 usable bits between the two data sets. He wrote encoding and decoding functions that will allow you to transfer whatever information you want.
So what is this good for? To get the process working he removed the MSP430 microcontroller from the board and is using his own replacement. So you can transmit GPS data from the onboard module, your own module, or sensor data for anything you’re able to hook up the to the replacement uC.