Swarm Tracker Product Manual Swarm Tracker User Manual Revision 0.
Legal Notices This User Manual provides user information and is provided “as is.” Swarm Technologies and its affiliated companies, directors, officers, employees, agents, trustees or consultants (“Swarm”) assume no responsibility for any typographical, technical, content or other inaccuracies in this User Manual. Swarm reserves the right to revise this User Manual or withdraw it at any time without prior notice. You can find the current version of this Swarm Tracker User Manual at www.swarm.space.
Third Party Information This User Manual might refer to third party sources of information, hardware or software, products or services and/or third party web sites (“third party information”). Swarm does not control, and is not responsible for, any third party information, including without limitation the content, accuracy, copyright compliance, compatibility, performance, trustworthiness, legality, decency, links, or any other aspect of third party information.
Revision History Revision Date Comment 0.9 3/13/2019 Tracker User Manual - Initial Release 1 Safety Information and Compliance 4 1.1 FCC Compliance 4 1.2 ISED Compliance 5 2 Product Overview 6 3 Mechanical Specification 7 3.1 Tracker Dimensions 8 3.2 Environmental 8 3.3 Physical Interface Connectors 8 4 Electrical Interfaces 9 4.1 Battery and charging 9 4.2 Power On/Off Control 9 4.3 Data interface 5 RF Interface 10 13 5.2 Antenna Characteristics 14 5.
1 Safety Information and Compliance The Tracker is designed to comply with the standards for Radio Emissions Compliance and Electromagnetic Compatibility in the United States, Canada, Australia, New Zealand, United Kingdom, and the European Union. 1.1 FCC Compliance 1.1.1 FCC Interference Statement (Part 15.105 (b)) This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to Part 15 of the FCC Rules.
1.2 ISED Compliance 1.2.1 ISED RSS-Gen Notice: This device complies with Industry Canada’s licence-exempt RSSs. Operation is subject to the following two conditions: (1) This device may not cause interference; and (2) This device must accept any interference, including interference that may cause undesired operation of the device. Le présent appareil est conforme aux CNR d’Industrie Canada applicables aux appareils radio exempts de licence.
2 Product Overview The Swarm Tracker satellite data modem transmits and receives data to and from Swarm’s space network and is designed as a standalone product. Swarm backend systems can support the delivery of customer data via a REST API to the cloud service of each user’s choice.
3 Mechanical Specification A diagram of the Tracker is shown in Figure 1.
3.1 Tracker Dimensions The overall dimensions of the Tracker and its weight without an attached antenna are summarized in Table 2. Parameter Value Length 95 mm Width 58 mm Depth 20 mm Weight 205 g Table 2: Tracker Mechanical Dimensions and Weight 3.2 Environmental The environmental specifications of the Tracker are summarized in Table 3 below.
4 Electrical Interfaces The following subsections contain information for the electrical interfaces of the Tracker. The RF interfaces are covered in section 5. 4.1 Battery and charging The Tracker contains an internal single cell lithium polymer battery with a 5000mAh, 18.5Wh capacity that can be fast charged via a standard USB-C cable with the following parameters in Table 4.
Figure 2: Location of recessed push button on Tracker 4.3 Data interface 4.3.1 Serial Data Interface overview The serial interface is what the Tracker uses to transfer commands, responses, and message data. The default serial communication parameters are found below in Table 5: Parameter Value Baud Rate 115200 Data Bits 8 Bits Parity None Stop Bits 1 Bit Flow Control None Table 5: Serial Interface Specifications 4.3.
To enable the Wifi interface, first provision the Tracker by connecting to it via its USB-serial port and issue the following command followed by a reset of the Tracker: $config wifi ap wpa2 SSID PASSWORD VISIBILITY APIPADDRESS SSID - User configurable access point name PASSWORD - User configurable password VISIBILITY - User configurable. Use hidden or visible. If hidden is selected, the Tracker will not broadcast its access point name APIPADDRESS - User configurable IP address (ex: 10.0.0.
$config bt enabled To reset the Tracker, issue the following command: $reset 12
4.3.3.2 Disabling Bluetooth Interface To disable the Bluetooth interface, issue the following command followed be a reset of the Tracker: $config bt disabled To reset the Tracker, issue the following command: $reset 4.3.3.
5 RF Interface This section describes the physical characteristics of the RF connectors and specifications of the RF Interface. 5.1 Antenna For illustrative purposes the certified Swarm antennas are shown in Figure 3. Professional installation is required to install the authorized antennas Figure 3: Swarm Antennas. From left to right: Coiled ¼ Wave 8.
5.2 Antenna Characteristics The Tracker is certified with the following antennas as described in Tables 6-8. Only the Swarm Coiled ¼ Wave 8.5” Antenna may be used with the Tracker when it is body mounted. Swarm Coiled ¼ Wave 8.5” Antenna Parameter Value Length 21.5 cm Diameter (Connector) 11.2 mm Diameter (along major length) 7.
Swarm ¼ Wave Antenna Parameter Value Length 53.5 cm Diameter (Connector) 20.0 mm Diameter (along major length) 7.15 mm Weight 61 g Operating Temperature -60 °C to +60 °C Operating Humidity 0-100% humidity, condensable Impedance 50 Ohms nominal Polarization Linearly Polarized VSWR (in Swarm Bands) 1.
Swarm ½ Wave Antenna Parameter Value Length 108.5 cm Diameter (Connector) 40.65 mm Diameter (along major length) 3.3 mm Weight 150g Operating Temperature -60 °C to +60 °C Operating Humidity 0-100% humidity, condensable Impedance 50 Ohms nominal Polarization Linearly Polarized VSWR (in Swarm Bands) 1.
5.4 Radio Characteristics The radio characteristics of the Tracker can be found below in Table 8.
6 Instructions for the safe Installation and use of the Tracker The Tracker is intended for integration with a finished product. The integrator of the Tracker is required to connect an appropriate antenna, along with a USB-C cable to charge the Tracker. To ensure that the Tracker is correctly installed the following general instructions (sub-section 6.
Figure 4: Example of mounting of Tracker with use of ½ Wave Antennas Figure 5: Example of body-mounted Tracker with Coiled 8.
7 Software interface Message types The Tracker transmits two types of messages: ● ● Unsolicited messages, which include status messages, date/time and GPS information, and notifications that messages have been received by the Tracker Command responses, which include responses to message and power management commands, as well as notifications that messages have been sent or settings have been updated General command structure All messages to and from the Tracker are NMEA formatted messages.
Additional notes The user application connected to the Tracker should ignore any characters received from the Tracker after startup until the $TRACKER BOOT,RUNNING*49 string is received. The bootloader will output messages as it starts up. These messages include, but are not limited to: status messages, firmware update progress messages, and error messages.
7.1 Unsolicited Messages Date/time This message indicates the current date/time obtained from the Tracker’s GPS. This message is not sent until the GPS has obtained a fix sufficient to set its internal date and time. If the GPS loses its fix, the message is sent with a flag indicating an invalid state. Date/time messages can be enabled or disabled using the $DTor $OPcommand. $DT < YYYY >< MM >< DD >< hh >< mm >< ss >,< flag >*xx Parameter Description YYYY Year (1970..
Tracker status Status messages indicate that the Tracker has booted and acquired date/time and position information from the GPS network. Error and debug messages are also sent as status messages. Tracker status messages cannot be disabled.
Geospatial information This message provides standard NMEA-formatted positional information, including latitude, longitude, altitude, course, and speed. Geospatial information messages can be enabled/disabled using the $GNor $OPcommand. $GN < latitude >,< longitude >,< altitude >,< course >,< speed >*xx Parameter Description latitude Latitude in d.ddddddd format (float). The latitude is presented in the N basis (negative latitudes are in the southern hemisphere) longitude Longitude in d.
GPS fix quality This message provides a standard NMEA-formatted description of the type of GPS fix currently in use. GPS fix quality messages can be enabled/disabled using the $GSor $OPcommand.
GPS spoofing indicator This message provides a standard NMEA-formatted value of the quality of GPS signals received. GPS spoofing indicator messages can be enabled/disabled using the $GS or $OP command. $GJ < flag >, value >*xx Parame ter Description flag 0Spoofing unknown or deactivated 1No spoofing indicated 2Spoofing indicated 3No reliable GNSS position fix (likely due to spoofing) value Value ranging from 0 to 255 indicating how much spoofing the Tracker detects.
7.2 Commands and Responses Date/time This command repeats the most recent $DTmessage, or queries or sets the $DTmessage rate. $DT <@|?|< rate >>*xx Parameter Description @ Repeat most recent $DTmessage ? Query current $DTrate rate Disable or set rate of $DTmessages Returns one of: Value Description $DT - ,*xx The most recent $DTmessage.
is a value between 1 and 2147483647 (231-1). It will be the number of seconds in between each message. An OK response confirms that the parameters have been updated in response to a command with the parameter. An ERR response indicates that additional or invalid characters were included between the Tand the * of the command. Example: Calling the most recent date/time message: $DT @*70 $DT 20190408195123,V*6d Returns a date/time of April 8th, 2019 7:51:23 PM GMT .
Firmware version This command returns the Tracker’s firmware version. $FV*xx Returns one of: Value Description $FV *xx The current firmware version $FV ERR*xx An error response Notes: An ERR response indicates that additional characters were included between the V and the * of the command.
Geospatial information This command repeats the most recent $GNmessage, or queries or sets the $GNmessage rate. $GN <@|?|< rate >>*xx Parameter Description @ Repeat most recent $GNmessage ? Query current $GNrate rate Disable or set rate of $GNmessages Returns one of: Value Description $GN ,, ,,*xx The most recent $GNmessage.
An OK response confirms that the parameters have been updated in response to a command with the parameter. An ERR response indicates that additional or invalid characters were included between the Nand the * of the command. Example: Calling the most recent GPS message: $GN @*69 $GN 37.4009492,-122.0571488,22,2,5*2d Returns a location of 37.4009492N, 122.0571488W . The Tracker's altitude is 22m , its course is 2 degrees , and it is moving at 5 kilometers per hour .
GPS Fix Quality This command repeats the most recent $GSmessage, or queries or sets the $GSmessage rate. $GS <@|?|< rate >>*xx Parameter Description @ Repeat most recent $GSmessage ? Query current $GSrate rate Disable or set rate of $GSmessages Returns one of: Parameter Description $GS ,,, ,*xx The most recent $GSmessage.
An OK response confirms that the parameters have been updated in response to a command with the parameter. An ERR response indicates that additional or invalid characters were included between the Sand the * of the command.
Manage received messages This command enables management of received messages.
Messages have three states: unread, read, and deleted. Once an unread message is read, its state changes to read. It can subsequently be read again. If a message is deleted, it can no longer be read. All in the above context means both read and unread messages, but does not include messages that have been deleted. If a message is marked read using the M= or M=* command, marking it as read again is not an error.
Disable/enable messages This command allows selective disabling/enabling of messages from the Tracker, as well as setting parameters including message delivery preferences, controlling the GPIO1 pin, and controlling the red and green LEDs. $OP |p1=< val >[,p2=< val >[,...
being at any given position; the string should be parsed using the comma as a delimiter, and the desired option retrieved by name. Note that the TMoption does not appear in the output string. is a value between 1 and 2147483647 (231-1). It will be the number of seconds in between each message. The default rate for each message type is 60 (once per minute). Messages for DT , GN , GJ , and GS will not be emitted to the user until the GPS has obtained a fully resolved fix.
The parameters are only updated if OK is returned. Should an error occur in one or more parameters, ERR is returned and none of the parameters are updated. These settings are not retained across a restart of the Tracker.
Restart Tracker This command restarts the Tracker. $RS*xx Returns one of: Value Description $RS OK*xx Command has been accepted and the Tracker will immediately perform a hardware restart $RS ERR*xx An error message Notes: An OK response confirms that the Tracker will successfully restart. An ERR response indicates that additional or invalid characters were included between the Sand the *of the command.
Sleep mode This command puts the Tracker into a low-power sleep mode.
specified, and that date/time is before the current date/time, $SL WAKE will be immediately issued. In sleep mode, the real-time clock is not GPS disciplined, and is therefore subject to some degree of drift. The longer the Tracker is asleep, the more the drift will accumulate. The user should be aware of this when selecting a sleep with a long duration.
Transmit data This command transmits data to the Swarm network. $TD [HT=< hold_time >,]< [string|data] >[..
$TD ERR,QUEUEFULL,0*xx Queue for queued messages is full $TD ERR,TOOLONG,*xx Message is too large to send Notes: The HTparameter is optional but must occur before the portion of the command. is either the number of seconds to expire the message if it has not been sent, or an epoch second date after which the message will be expired if it has not been sent.
message ID indicates the message has not been placed in the queue and therefore has no ID. The value should be treated as a simple arbitrary number.