If you have devices out in the field, you probably want to connect with them. There was a time when that was hard to do, requiring telephone wires or specialized radio gear. Now cellular data is prevalent, but even cellular isn’t everywhere. If you have the cash, you can pay a number of satellite companies to carry your data, but that’s generally pricey and has its own challenges.
The age of satellite constellations is changing that. Of course everyone by now has heard of Starlink which is offering satellite internet via numerous satellites that are much smaller than traditional telecom satellites. But they’re not the only came in town.
A company called Swarm has put up a constellation of 1/4U cube satellites in low orbits. They offer a ground station that uses an omni antenna and a subscription access program for small amounts of data. They sent us a unit to review, and while I haven’t used the system in a real project yet, the kit was pretty impressive.
The Swarm “tile” is a tiny radio that can talk bi-directionally with small satellites in low Earth orbit. The little unit is made to mount on a PCB, can control its power consumption, and talks to your system via a standard 3.3V UART connection. It does, however, require a small antenna and maybe even a smaller antenna for its GPS module. Small, in this case, is about a mid-size handy talkie antenna. There is a half-wave antenna that doesn’t need a ground plane and a shorter antenna that does need a ground plane.
The system can get away with the small antenna because the satellites are in low Earth orbit. However, that also means you don’t always have a satellite overhead. The company claims they will eventually have more coverage but even then, the tile may hold on to your data until it finds a satellite. So for real-time data, this is probably not your answer.
Since these devices are made to go into the field, battery life is often a concern. According to the manual, the device uses up to 1A when transmitting, and up to 35mA on receive. In standby mode, the power draw drops to .022mA.
The tile itself costs just over $100. Then there’s the service. For $60 a year you get 750 data packets per device per month. Each packet can hold up to 192 bytes per packet. That’s enough for two packets a day for even the longest months. Of course, if you need more data or you need more frequent access, that’s something else. You can stack up to 4 data plans on one device, so $20 per month would get you 3,000 packets per month.
All packets aren’t created equal, either. You can have up to 10 downlink packets per day for a maximum of 60 of the 750 allocated per month. So if you really need two-way, you should think about that carefully. Obviously, this isn’t the right service for, say, a system to control a tank level remotely that needs to trade commands and data in both directions multiple times an hour in real-time. But an alarm system that checks in once per day, sends a packet when it goes off, and accepts an infrequent command changing the arm/disarm times, for example, might be a good fit.
The usual way you see connected devices talk over satellite is via a VSAT (very small aperture terminal) with a 2-3 foot dish antenna. These tend to be pricey and they are finicky to set up as well. The upside is the satellites don’t move so once you are set up, that’s it (unless your antenna is moving). You always have access to the satellite. Latency, of course, is significant, too.
However, you can find VSAT almost everywhere. Stores use it to keep their point of sale terminals connected, for example. Many lottery machines use VSAT, too. Electric power utilities and gas pipelines use VSAT to collect data from remote locations.
VSAT doesn’t seem like it is really direct competition to Swarm, however. If you need real network connectivity, you can’t really use Swarm. But if you only need a small amount of infrequent data, Swarm is probably a lot cheaper and easier to deploy than a VSAT terminal. It seems to us that the real competition is cheap cellular modems and, of course, cellular won’t do you any good on your data collection buoy in the middle of the ocean. So Swarm isn’t for everyone, but for certain projects, it is probably well worth a look.
There are a few other companies trying to be the satellite provider of choice for IoT applications. There is OqTec, Orbcomm, Kepler Communications, and Fleet along with doubtless other contenders. StarLink will probably be a player in this space too, but so far its been making a splash in providing internet connections. There are also a lot of traditional names like Hughes, GlobalStar, and Iridium that have some IoT product in the market or, at least, announced. However, Swarm seems pretty hacker-friendly compared to some of the other choices.
The Evaluation Kit
The evaluation kit was surprisingly rugged, arriving in a waterproof (IP68) case with a battery, a solar panel, and an ESP32 host computer. There was also a sturdy tripod. It isn’t cheap at $500, but the quality shows and it didn’t feel like it should cost less. There’s a setup video from the company if you’re looking for more detail on that process.
There’s a rubber-domed switch to turn the thing on and an OLED display shows some initial data. The SNR figure on the display and a red LED told me there was too much noise to successfully communicate with the satellite indoors, but sitting out on the patio, the light turned green. I didn’t mount the tripod and that seemed to be no problem.
The green LED doesn’t mean the device is actually talking to a satellite yet, though. As luck would have it, the pass predictor showed I was almost two hours away from a satellite pass. The company says by 2022 they plan to have all 92 satellites up and that will give them “near constant” coverage. Once I had a satellite overhead, though, it all worked as you would expect.
The evaluation kit has a serial connection for the ESP32, but since it is in a watertight case, it is easier to use the WiFi. We noticed the range on the WiFi was limited, probably to reduce the noise for the satellite receiver.
The box sends its GPS location and some other data periodically and using the network interface you can post a short e-mail although, obviously, that will eventually eat up your data plan. By default, the data shows up on a website, and you can grab the JSON from a web service. You can also see the GPS data on a map which is only interesting if you are moving.
Of course, everything is on hold until you get a satellite overhead. You can enter your location into a website to see when the upcoming passes are for you.
If you are communicating directly with the tile, you’ll find it uses a NEMA-style communication string just like a GPS. Obviously, there are a few unusual commands, but the data format is the same.
What Would You Do With It?
When you first start thinking of what you could do with satellite data, your imagination will run wild. Then you have to come back to Earth — so to speak — when you realize you have to severely limit your data and you can’t expect it to be even close to real-time.
I have a feeling satellite data is one of those things that sounds better than it is for most applications. If you are in range of the cellular network, that might be a cheaper option than you think. However, for those applications that will go where no cell tower has gone before, Swarm might be an answer if you can live within its limitations.