Supported Devices
ClearWatch 250
The ClearWatch 250 is the smallest self contained Iridium tracker in the world! It can transmit your location from anywhere in the world and is built on the latest satellite, antenna, and electronics technology.
Details
- Dimensions are miniscule at 45 mm x 45 mm x 34mm including battery, modem, and antenna (OEM version), 45mm x 45 mm x 20 mm including battery and modem (both without external casing)
- SiRFstarIV GPS with an amazing -163dBm sensitivity
- AES 256-bit encryption supported (optional)
- Rechargeable Lithium Polymer battery (2.4 Ah, up to 1000 position reports)
- Integrated omnidirectional helical antenna (high gain ceramic patch antenna for OEM model)
- Over the air configuration of the terminal
- USB, RS-232 and Bluetooth connections for programming
- Full 2 way communications network
- Bluetooth 4.0 (LE) smartphone connectivity for messaging and configuration
- Truly global coverage with the Iridium satellite network
- 11 bytes per position report (altitude can be disabled to reduce size to 9 bytes) (including latitude, longitude, speed, heading, battery level, time, altitude, Alert & Checkin status)
Interfaces
- DC Power (7V to 36V DC) @ 1A max
- USB Interface (Power, Serial Console/Logging, Firmware Update)
- RS232 Interface (Serial Console/Logging)
- Bluetooth 4.0 Low Energy
- 2 Relay Outputs @ 250mA (Open Drain)
- 2 Analog Inputs (0V to 30V DC)
Battery Life Calculator
The battery life calculator is hosted on Google Docs where you can download a copy or copy the sheet into your own Google Docs account
Battery Life Calculator
Getting Started
Service
The ClearWatch 250 is powered by an Iridium 9602 SBD modem which requires Iridium SBD service to send messages. We can provide this or you may choose an Iridium SBD service provider of your choice. If used with the portal, ensure that provider correctly configures the DirectIP address and port as described here:Device Routing IP Addresses and Ports
OEM Model
Measurements
45 mm x 45 mm x 34mm including battery, modem, and antenna
Items included
- Ceramic patch antenna, dual-tuned for Iridium and GPS
- ClearWatch 250 main board
- Iridium 9602 SBD
- breakout board (with VCC, GND, Relay 1,2 and ADC 1,2 and LED status, USB, RS-232)
- 2400 mAh lithium polymer battery
Interfaces
- DC Power (6V to 36V DC) @ 1A max
- USB Interface (Power, Serial Console/Logging, Firmware Update)
- RS232 Interface (Serial Console/Logging)
- 2 Relay Outputs @ 250mA (Open Drain)
- 2 Analog Inputs (0V to 30V DC)
Cable Pinout
Name | Flex Pin | Hirose Pin | Cable Color |
---|---|---|---|
ADC IN 0 | 15 | 1 | orange |
ADC IN 1 | 14 | 5 | yellow |
OUTPUT 1 | 13/12 | 2 | brown |
OUTPUT 0 | 11/10 | 3 | grey |
V_USB | 9 | 7 | purple |
USB D- | 8 | 6 | white |
USB D+ | 7 | 10 | green |
RS232 TX | 6 | 12 | pink |
RS232 RX | 5 | 11 | blue |
VCC | 4/3 | 8 | red |
GND | 2/1 | 4 | black |
Message Formats
Mobile Terminated (MT)
Max Length (interface 2): 255 bytes
Byte ordering is little-endian MSB 0 unless otherwise noted.
Authenticated Message Type
Interface Version: 2 (or later)
header (byte): 0
<payload>
authentication code (10 bytes): HMAC-SHA256-80(<password>,<payload>)
Where an HMAC-SHA256 is computed over the (header byte not included) using a password/key shared by the device and server, and is truncated to the first 10 bytes (80-bits).
Passwords can be set on the on the unit using the Lua commands:
-- set custom password, up to 32 bytes (interface 2)
core.setpassword("<password>")
-- reset default password
core.resetpassword()
A hexadecimal representation of the default password will be displayed if the operation is successful:
RP#password:0x<hexadecimal representation of password>
Encrypted Message Type
Messages can also be encrypted using AES-CCM mode (using no additional auth data, 7 octet nonce and an 8 octet authentication field).
The payload messages below are the same but are wrapped in encryption following the format:
header (2 bytes): 0x00,0xFF
nonce (7 bytes, must be unique to key in use)
AES-CCM{
<payload>
authentication code (10 bytes): HMAC-SHA256-80(<password>,<payload>)
}
authentication field (from AES-CCM) (8 bytes)
No default key or password is set on the unit so a key must be set to enable the functionality.
-- set custom key, up to 32 bytes, represented as 64 hexadecimal characters (interface 3)
aes.sethexkey("<hexadecimal key>")
e.g.:
aes.sethexkey(")
NOTE: DO NOT USE THE KEY ABOVE. If you require guidance on generating a secure key contact GSE for help.
A hexadecimal representation of the key will be displayed if the operation is successful:
M#RK#key:0x<hexadecimal representation of key>
By default if a key has been set, outgoing messages will be encrypted. To clear the key, it can be set to an empty string:
aes.sethexkey("")
Payload Messages
Generic message format:
Interface Version: 2 (or later)
message type (byte): <0-255>
message length (byte): <0 - 255>
command (byte array): <destination length bytes>
Lua Command:
Interface Version: 2 (or later)
Maximum: 1 lua command per MT message.
message type (byte): 0
command length (byte): <0 - 255>
command (byte array): <destination length bytes>
Text Message:
Interface Version: 2 (or later)
message type (byte): 1
message length (byte): <0 - 255>
text message (byte array): <message length bytes>
Change Setting:
Interface Version: 2 (or later)
message type (byte): 2
command length (byte): 6
setting number (uint16_t little endian): <0-65535>
setting value (int32_t little endian): <varies by setting, see setting descriptions>
Request Settings:
Interface Version: 2 (or later)
This message will request the current settings be sent in the next transmit cycle.
message type (byte): 3
command length (byte): 0
Request Interface Version:
Interface Version: 2 (or later)
This message will request just the interface version be sent in the next cycle.
message type (byte): 4
command length (byte): 0
Mobile Originated (MO)
Formats are Little Endian MSB 0 unless otherwise noted.
Position Report:
Interface Version: 1 (or later)
header (byte): 0
Reserved for GSatTrack
Text Message:
Interface Version: 1 (or later)
header (byte): 1
destination length (byte): <0 - 255>
destination (byte array): <destination length bytes>
message (byte array): <byte array bounded by end of MO message>
Settings Dump:
Interface Version: 1 (or later)
header (byte): 2
interface version (byte): <version, currently: 2>
settings version (byte): <version, currently: 1>
setting 0 (signed 32 bit integer): <value of first setting>
...
setting N-1 (signed 32 bit integer): <value of Nth setting>
Current order:
0: defaultv
1: g_hdop // version 1 or later
2: g_timeout // version 1 or later
3: i_tx_timeout // version 1 or later
4: i_signal_timeout // version 1 or later
5: i_tx_retries // version 1 or later
6: sleep // version 1 or later
7: sos_sleep // version 1 or later
8: sleep_w_power // version 1 or later
9: led_mask // version 1 or later
10: i_rx_always // version 1,2 no effect, functional in version 3 or later
11: tx_altitude // version 1 or later
12: g_settle // version 1 or later
13: t_adc_id // version 1 or later (not currently used)
14: t_adc_threshold // version 1 or later (not currently used)
15: status_line // version 1 or later
16: low_bat_off // version 1 or later
17: g_hibernate_sleep // version 2 or later
18: cache_reports // version 2 or later
19: moving_sleep // version 3 or later
20: moving_thresh // version 3 or later
21: require_encrypted_mt // version 3 or later
22: g_on_always // version 3 or later
23: sleep_w_bat // version 4 or later
24: tx_seconds // Version 5 or later
25: report_format // Version 6 or later
26: extpwr_sleep // Version 8 or later: set this to a value other than 0 to override the
// "sleep" parameter between transmissions when external power is applied
27: extpwr_autostart // Version 9 or later: set this to 1 to trigger the unit to "power up"
// and start transmitting automatically the next time power is applied
Interface Version: 2 (or later)
header (byte): 3
interface version (byte): <version, currently: 2>
Encryption Wrapped Message:
Interface Version: 3 (or later)
header (byte): 255
nonce (7 bytes)
AES-CCM{
header (byte)
message
}
authentication field (from AES-CCM) (8 bytes)
Mobile Originated Position Format
Wikipedia Protocol Definition GSE_Open_GPS_Protocol Copyright (c) 2017 Global Satellite Engineering, Inc. Permission is hereby granted, free of charge, to any person to deal in the message format without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the message format, to send and receive messages formatted according to the message format, and to permit persons to whom the message format is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies of documentation describing the message format.
THE MESSAGE FORMAT IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MESSAGE FORMAT OR THE USE OR OTHER DEALINGS IN THE MESSAGE FORMAT.
10-byte GSE proprietary format (settings.report_format=0):
This protocol is a highly compressed format that is not publicly released, but is available through a decoding service. Interface Version: 3 (or later)
header (byte): 0
report (10 bytes)
10-byte Position (settings.report_format=1):
Google Docs Excel Worksheet: Google Docs 10 Byte Format Worksheet
header (byte): 4
report (10 bytes)
Remaining bits are Big Endian MSB 0.
bits 0-2: magic number
bits 3-25: longitude (encode: ROUND((longitude +180)*23301), decode: value/23301-180)
bits 26-31: heading (encode: ROUND(degrees/5), decode: value*5)
bits 32-41: hours since midnight + 2 minute intervals (encode: ROUND(((hours*60) + minutes)/2), decode: (value*2)/60)
bits 42-63: latitude (encode: ROUND((latitude+90)*23301), decode: value/23301-90)
bits 64-69: speed (no conversion: meters/second, max 63 meters per second or 141 miles per hour)
bits 70-79: altitude (encode: meters/5, max 5110 meters or 16765 feet, decode: value*5)
18-byte High Resolution Position (settings.report_format=2):
Google Docs Excel Worksheet: Google Docs 18 Byte Format Worksheet Interface Version: 3 (or later)
header (byte): 5
report (18 bytes)
Please refer to google docs excel worksheet for bit ordering and fields
See Also
Supporting Features
- Assets