← Back to Blog
GPS103 handshake between a Coban tracker and a server: login answered with LOAD, heartbeat answered with ON

GPS103 Protocol Explained: How Coban TK103 Trackers Log In and Report

How the GPS103 protocol of Coban TK103 trackers works - login and heartbeat replies, positions, alarms, OBD data - and how to test it without a device.

GPS103 is the text protocol of Coban trackers - the GPS-103, TK103-2B, GPS303 and TK303 series - and of countless clones. It's one of the oldest protocols Traccar supports (port 5001), and every message is readable text ending in a semicolon.

The Session

GPS103 has a real handshake, in plain text:

##,imei:123456789012345,A; - the login, answered with LOAD

123456789012345; - the heartbeat, answered with ON

A real device keeps resending the login until it gets LOAD, then sends a heartbeat about every 60 seconds and reconnects after a few unanswered ones. The replies have no terminator, so match LOAD and ON as plain text in the stream.

Emulator Debugging Tool showing a GPS103 login, positions, the OBD frame and a heartbeat
A GPS103 session in the Emulator Debugging Tool

Position Lines

imei:123456789012345,001,2611030830,,F,083045.000,A,5213.7820,N,02100.7320,E,11.66,87.00;

  • 001 - the keyword. Newer firmware sends 001, older firmware tracker. Alarms replace it: help me (SOS), low battery, speed, stockade (geofence), ac alarm (power cut), door alarm and more.
  • 2611030830 - date and time in the device's local time zone
  • 083045.000 - time in UTC
  • 11.66 - speed in knots
  • 87.00 - course

Optional fields can follow the course: altitude, ignition (ACC), door, two fuel levels and temperature.

Field Quirks That Break Parsers

  • Two clocks - the date field is local time and the time field is UTC. Traccar works out the device's time zone from the difference.
  • Knots - speed isn't km/h, just like in H02.
  • Positional extras - the optional fields have fixed slots. If you send any, keep the empty slots in place: flespi closes the connection on a shortened set.
  • Strict endings - every message ends with ;.

OBD Data

The Coban protocol also defines a separate OBD line with odometer, engine hours, RPM, engine load, throttle, coolant temperature and battery voltage. The odometer is in whole kilometres - but Traccar stores it as metres, so 1000 km shows up as 1 km. The fix is one computed attribute; see Coban TK103 on Traccar.

Testing Without a Device

Telemify emulates the full GPS103 session: login, heartbeats, positions along a route, ignition that follows the driving, alarms on a timeline and the OBD line. In Protocol Settings you choose the Position keyword (001 or tracker), the device clock's time zone offset, and whether to wait for the server login reply before sending positions.

GPS103 Protocol Settings: position keyword, time zone offset, heartbeats and login reply
GPS103 Protocol Settings

Need a server? Set up Traccar in Docker - GPS103 uses port 5001. Comparing protocols? Read Teltonika vs GT06 vs H02 vs GPS103.

Try Telemify for free →