Looking for a low-cost way to send and receive data messages via satellite? This is it! With a clear view of the sky, the SparkFun Swarm M138 Satellite Transceiver Kit allows you to send and receive short messages at will. This kit works almost anywhere in the world, including the polar regions, far beyond the reach of WiFi and Cellular networks. It is perfect for a variety of low-bandwidth use cases: from connecting people and tracking vehicles, ships, or packages to relaying sensor data for agriculture, energy, and industrial IoT applications. The built-in GNSS receiver in this Satellite Transceiver Kit makes it perfect for many tracking applications thanks to Swarm's satellite network.
At the heart of this kit is a Swarm M138 satellite modem, a Mini-PCI Express Card containing both the satellite modem and a very capable GNSS receiver, all in one integrated package! It can operate from a wide range of supply voltages: 3.0V Min; 5.0V Max. Its standard 3.3V CMOS serial UART interface and NMEA-style command set make it easy to integrate into your project. Our board includes both a USB-C interface (for power and/or serial data) and a full set of breakout pins.
The modem has two u.FL antenna connections on it, one marked "VHF" (for the Very High Frequency signal used to communicate with the Swarm satellites) and a separate one for satellite navigation (marked "GPS"). You can, if you wish, connect the provided antennas directly to the u.FL connectors on the modem. Or, you can use the provided 25mm u.FL cables to connect the modem to the robust SMA connections on the Breakout.
The Swarm antenna is a purpose-designed coiled quarter-wave antenna tuned to the Swarm satellite frequencies. It does require a ground plane and so we've included one of those in the box too! It comes with mounting holes to allow it to be secured to (e.g.): 2in. or 1.5in. antenna pole, a camera tripod, or a handrail.
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Experienced - You will require a firm understanding of programming, the programming toolchain, and may have to make decisions on programming software or language. You may need to decipher a proprietary or specialized communication protocol. A logic analyzer might be necessary.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Competent - You will be required to reference a datasheet or schematic to know how to use a component. Your knowledge of a datasheet will only require basic features like power requirements, pinouts, or communications type. Also, you may need a power supply that?s greater than 12V or more than 1A worth of current.
See all skill levels
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
Based on 6 ratings:
After positioning antenna with ground plane in a satisfactory position, was able to get two way communication with a few hours latency for uplink and several hours for downlink.
Ordered and installed the antenna extension cable and gained enough signal strength to have reliable communication.
Three inches of fresh snow on ground plane dropped the RSSI background number by 5. Clearing snow brought signal strength back. I will obviously need to work on an alternative antenna solution for an operational deployment to a remote site.
Used the Sparkfun GUI on a Raspberry Pi 4b running Ubuntu 22.04 and also on a Z83 PC running Windows 10. Both of those systems required minor tweaking from the solutions posted by Sparkfun. On Raspberry, I had to remove brltty since it grabbed /dev/ttyUSB0. On PC, could not use EXE file, so manually installed python, pip, pyqt and requests along with Swarm_M138_GUI.py.
Set up web hooks on Ubuntu https server and also used the Python code from Swarm to access the message data using the API.
Not sure if this can replace the Iridium SBD solution, but an excellent test platform.
Have two of these operating as part of 12 VDC low power (solar) systems in remote locations in Hawaii where cellular service is not usable. There's often a few hour delay until a satellite is overhead, but the locations have unobstructed views of the sky and very low RF noise, so even satellites lower in the sky are often usable.
System uses a Campbell Scientific data logger to read the sensors and create the hourly data packet for upload. The transceiver needs 5VDC and seems to be sensitive to noise (elevated background RSSI) from a variety of 12 to 5V DC/DC converters. Used a linear 7805C regulator instead. It's not as efficient, but since max power is only drawn when transmitting, the power usage is still low. Antenna cable is 3 meter RG174 (flexible and easy to use). Coated the ground plane with outdoor varnish to help with expected corrosion issues.
Data collection via the API is via VB.Net application that automatically checks for new uploads, gets the data, and saves the data in a database.
As long as data requirements are low and latency isn't an issue, the M138 is easy to implement on site, the hardware price is reasonable, and the data price is right ($60/year). Note that the Sparkfun site indicates 4 data plans can be stacked to quadruple the monthly packet number (750 packets). SWARM no longer offers this option.
High quality product with nice functionality.
Purchased two units, one did not arrive with the antenna. Tried for weeks to get customer support to send the missing antenna. Eventually SparkFun discontinued the product and the best they can offer is to refund my money. Extremely disappointed, will definitely think twice about purchasing from SparkFun again..
In the circuit schematic for the breakout board, what part number are you folks are you using for the matched PNP transistor pair used in the power mux. Would appreciate knowing this.
Thank you
I am curious if this will work with the upcoming Arduino Opta PLC over UCB-C. The Opta appears to be based off the Portenta series, and I found a USBHostSerial library for the processor. Is the USB to Serial chip (CH340E) a standard chip, that wouldn't need a custom driver?