Satellite communications allows over-the-horizon communications with your balloon, and sometimes two-way communications. Satellite modems are radios that directly communicate with data communication satellites. Some consumer tracking products will work as-is when flown on a balloon, but most fail to function above a certain altitude limit.
For most projects, ready-made circuit boards for the modems with power and antenna hardware are recommended by those experienced with trying to make DIY satellite modem PCBs (-Dan Bowen, White Star). Bare satellite data modems have very strict power quality and antenna requirements, thus PCB development requires a lot of circuit calculation or many trial-and-error revisions. Testing hardware becomes cost prohibitive because you are usually charged by the message.
Due to the small size and low cost, most satellite modems typically have complex command sequences and communication protocols, are usually unable to deal with storing messages and retrying transmissions as would be desired on balloon systems. The code to communicate with the modem may require the use of state machines, external message storage chips, and interrupts to avoid data loss.
Some existing microcontroller satellite modem control software are listed below that can help in your development, or just do the job for you.
Several different networks of satellites exist, relevant ones are:
Basic Digi m10 satellite modem interface functions work fine, use to build more complex messaging code on. THIS IS NOT FUNCTIONAL FOR FLIGHT AS-IS. We stopped this development due to the failure to get a large lightweight ORBCOMM antenna built.