Protocols via UDP (Wi-Fi)
This chapter as a clean, readable HTML page.
The “Protocols via UDP (Wi-Fi)” chapter of the Interfaces and Protocols, reproduced as a real HTML page. Anything unclear? Open the original PDF of just this chapter (pages 93-110) (also pinned top-left). Hub: all chapters.
Dashboard software can transmit data via UDP through network interfaces of the PC where the dashboard is running. Destination IP address/port can be adjusted via menu File/UDP settings:

Super-Modem has onboard Wi-Fi, and it is able to stream locations of mobile beacons and other data described below.
Configuration of WiFi network and UDP streaming is possible via Super-Modem settings in the dashboard:

Packet with hedgehog location
Supported hardware/software:
Super-Beacon: not supported
Industrial Super-Beacon: not supported
Modem HW5.1: not supported
Super-Modem: supported
Mini-RX (Badge, Helmet, etc.): not supported
Mini-TX: not supported
Mini-TX-2: not supported
Modem HW4.9: not supported
Beacon HW4.9: not supported
Beacon HW4.5: not supported
Dashboard software: supported
Please see the note about timestamps.
Format of the packet
Offset | Size | Type | Description | Value |
0 | 1 | uint8_t | Address of the beacon | |
1 | 1 | uint8_t | Type of packet | 0x47 |
2 | 2 | uint16_t | Code of data in packet | 0x0011 |
4 | 1 | uint8_t | Data size (bytes) | N |
5 | 4 | uint32_t | Timestamp – time from running of dashboard/Super-Modem in milliseconds on the moment of receiving coordinates | |
9 | 4 | int32_t | Coordinate X of beacon, mm | |
13 | 4 | int32_t | Coordinate Y of beacon, mm | |
17 | 4 | int32_t | Coordinate Z of beacon, mm | |
21 | 1 | uint8_t | Byte of flags: Bit 0: 1 – coordinates unavailable. Data from fields X,Y,Z should not be used. Bit 1: timestamp units indicator (see note) Bit 2…6: reserved (0) Bit 7: – 1 – out of geofencing zone | |
22 | 1 | uint8_t | Reserved (0) | |
23 | 2 | uint16_t | Bit 0…11: orientation of hedgehogs pair in XY plane, decidegrees (0…3600) Bit 12: 1 – coordinates are given for center of beacons pair; 0 – coordinates for specified hedgehog Bit 13…15: reserved (0) | |
25 | 2 | Reserved (0) | ||
27 | M=N-22 | Optional data fields – see the list | ||
27+M | 2 | Reserved (0) |
Note: for dashboard and Super-Modem versions before V6.290 the timestamp is in 1/64 sec units and timestamp units indicator (bit 1 of flags byte) is 0. For versions V6.290 and higher timestamp is in milliseconds and timestamp units indicator is 1.
Optional data in mobile beacon location packet can include following structures:
- Speed data (7 bytes). Should be enabled in interfaces section of mobile beacon settings in the dashboard
Offset | Size (bytes) | Type | Description | Value |
0 | 1 | uint8_t | Code of data field = 1 means a vector of speed | 1 |
1 | 2 | int16_t | Speed along X, mm/sec | |
3 | 2 | int16_t | Speed along Y, mm/sec | |
5 | 2 | int16_t | Speed along Z, mm/sec |
Packet with hedgehog location with real-time timestamps (firmware v7.200+)
Supported hardware/software:
Super-Beacon: not supported
Industrial Super-Beacon: not supported
Modem HW5.1: not supported
Super-Modem: supported
Mini-RX (Badge, Helmet, etc.): not supported
Mini-TX: not supported
Mini-TX-2: not supported
Modem HW4.9: not supported
Beacon HW4.9: not supported
Beacon HW4.5: not supported
Dashboard software: supported
Please see the note about timestamps.
Format of the packet
Offset | Size | Type | Description | Value |
0 | 1 | uint8_t | Address of the beacon | |
1 | 1 | uint8_t | Type of packet | 0x47 |
2 | 2 | uint16_t | Code of data in packet | 0x0081 |
4 | 1 | uint8_t | Data size (bytes) | N |
5 | 8 | int64_t | Timestamp – unix time of beacon ultrasound emission, number of milliseconds from 1970.01.01 00:00:00. Time, synchronized by all devices with modem and dashboard. | |
13 | 4 | int32_t | Coordinate X of beacon, mm | |
17 | 4 | int32_t | Coordinate Y of beacon, mm | |
21 | 4 | int32_t | Coordinate Z of beacon, mm | |
25 | 1 | uint8_t | Byte of flags: Bit 0: 1 – coordinates unavailable. Data from fields X,Y,Z should not be used. Bit 1: timestamp units indicator (see note) Bit 2…6: reserved (0) Bit 7: – 1 – out of geofencing zone | |
26 | 1 | uint8_t | Reserved (0) | |
27 | 2 | uint16_t | Bit 0…11: orientation of hedgehogs pair in XY plane, decidegrees (0…3600) Bit 12: 1 – coordinates are given for center of beacons pair; 0 – coordinates for specified hedgehog Bit 13…15: reserved (0) | |
29 | 2 | Reserved (0) | ||
31 | M=N-26 | Optional data fields – see the list | ||
31+M | 2 | Reserved (0) |
Packet with stationary beacons locations
Supported hardware/software:
Super-Beacon: not supported
Industrial Super-Beacon: not supported
Modem HW5.1: not supported
Super-Modem: supported
Mini-RX (Badge, Helmet, etc.): not supported
Mini-TX: not supported
Mini-TX-2: not supported
Modem HW4.9: not supported
Beacon HW4.9: not supported
Beacon HW4.5: not supported
Dashboard software: supported
Format of the packet
Offset | Size (bytes) | Type | Description | Value |
0 | 1 | uint8_t | Address | 0xff |
1 | 1 | uint8_t | Type of packet | 0x47 |
2 | 2 | uint16_t | Code of data in packet | 0x0012 |
4 | 1 | uint8_t | Number of bytes of data transmitting | 1+N*14 |
5 | 1 | uint8_t | Number of beacons in packet | N |
6 | 1 | N*14 bytes | Data for N beacons |
Format of data structure for every of N beacons:
Offset | Size (bytes) | Type | Description |
0 | 1 | uint8_t | Address of the beacon |
1 | 4 | int32_t | Coordinate X of the beacon, mm |
5 | 4 | int32_t | Coordinate Y of the beacon, mm |
9 | 4 | int32_t | Coordinate Z of the beacon, mm |
13 | 1 | uint8_t | Reserved (0) |
Packet with raw IMU data
Supported hardware/software:
Super-Beacon: not supported
Industrial Super-Beacon: not supported
Modem HW5.1: not supported
Super-Modem: supported
Mini-RX (Badge, Helmet, etc.): not supported
Mini-TX: not supported
Mini-TX-2: not supported
Modem HW4.9: not supported
Beacon HW4.9: not supported
Beacon HW4.5: not supported
Dashboard software: supported
Please see the note about timestamps.
Format of the packet
Offset | Size (bytes) | Type | Description | Value |
0 | 1 | uint8_t | Address of the beacon | |
1 | 1 | uint8_t | Type of packet | 0x47 |
2 | 2 | uint16_t | Code of data in packet | 0x0003 |
4 | 1 | uint8_t | Number of bytes of data transmitting | |
5 | 2 | int16_t | Accelerometer, X axis, 1 mg/LSB | |
7 | 2 | int16_t | Accelerometer, Y axis, 1 mg/LSB | |
9 | 2 | int16_t | Accelerometer, Z axis, 1 mg/LSB | |
11 | 2 | int16_t | Gyroscope, X axis, 0.0175 dps/LSB | |
13 | 2 | int16_t | Gyroscope, Y axis, 0.0175 dps/LSB | |
15 | 2 | int16_t | Gyroscope, Z axis, 0.0175 dps/LSB | |
17 | 2 | int16_t | Compass, X axis, 1100 LSB/Gauss | |
19 | 2 | int16_t | Compass, Y axis, 1100 LSB/Gauss | |
21 | 2 | int16_t | Compass, Z axis, 980 LSB/Gauss | |
23 | 1 | uint8_t | Address of the beacon | |
24 | 5 | 5 bytes | Reserved (0) | |
29 | 4 | uint32_t | Timestamp, ms | |
33 | 8 | 8 bytes | reserved |
Note: Compass data are available only for HW v4.9 beacons with IMU.
Packet with raw IMU data with real-time timestamps (firmware v7.200+)
Supported hardware/software:
Super-Beacon: not supported
Industrial Super-Beacon: not supported
Modem HW5.1: not supported
Super-Modem: supported
Mini-RX (Badge, Helmet, etc.): not supported
Mini-TX: not supported
Mini-TX-2: not supported
Modem HW4.9: not supported
Beacon HW4.9: not supported
Beacon HW4.5: not supported
Dashboard software: supported
Please see the note about timestamps.
Format of the packet
Offset | Size (bytes) | Type | Description | Value |
0 | 1 | uint8_t | Address of the beacon | |
1 | 1 | uint8_t | Type of packet | 0x47 |
2 | 2 | uint16_t | Code of data in packet | 0x0083 |
4 | 1 | uint8_t | Number of bytes of data transmitting | |
5 | 2 | int16_t | Accelerometer, X axis, 1 mg/LSB | |
7 | 2 | int16_t | Accelerometer, Y axis, 1 mg/LSB | |
9 | 2 | int16_t | Accelerometer, Z axis, 1 mg/LSB | |
11 | 2 | int16_t | Gyroscope, X axis, 0.0175 dps/LSB | |
13 | 2 | int16_t | Gyroscope, Y axis, 0.0175 dps/LSB | |
15 | 2 | int16_t | Gyroscope, Z axis, 0.0175 dps/LSB | |
17 | 2 | int16_t | Compass, X axis, 1100 LSB/Gauss | |
19 | 2 | int16_t | Compass, Y axis, 1100 LSB/Gauss | |
21 | 2 | int16_t | Compass, Z axis, 980 LSB/Gauss | |
23 | 1 | uint8_t | Address of the beacon | |
24 | 5 | 5 bytes | Reserved (0) | |
29 | 8 | int64_t | Timestamp – unix time, number of milliseconds from 1970.01.01 00:00:00. Time, synchronized by all devices with modem and dashboard. | |
37 | 8 | 8 bytes | reserved |
Note: Compass data are available only for HW v4.9 beacons with IMU.
Packet with raw distances data
Supported hardware/software:
Super-Beacon: not supported
Industrial Super-Beacon: not supported
Modem HW5.1: not supported
Super-Modem: supported
Mini-RX (Badge, Helmet, etc.): not supported
Mini-TX: not supported
Mini-TX-2: not supported
Modem HW4.9: not supported
Beacon HW4.9: not supported
Beacon HW4.5: not supported
Dashboard software: supported
Please see the note about timestamps.
Format of the packet
Offset | Size (bytes) | Type | Description | Value |
0 | 1 | uint8_t | Address | 0xff |
1 | 1 | uint8_t | Type of packet | 0x47 |
2 | 2 | uint16_t | Code of data in packet | 0x0004 |
4 | 1 | uint8_t | Number of bytes of data transmitting | |
5 | 32 | Data packet (see lower) |
Format of data packet
Offset | Size (bytes) | Type | Description | Value |
0 | 1 | uint8_t | Address of hedgehog | |
1 | 6 | Distance item 1 | ||
7 | 6 | Distance item 2 | ||
13 | 6 | Distance item 3 | ||
19 | 6 | Distance item 4 | ||
25 | 4 | uint32_t | Timestamp – internal time of beacon ultrasound emission, in milliseconds from the moment of the latest wakeup event (V5.89+). | |
29 | 2 | uint16_t | Time passed from ultrasound emission to current time, milliseconds (V5.89+) | |
31 | 1 | uint8_t | reserved |
Format of distance item
Offset | Size (bytes) | Type | Description | Value |
0 | 1 | uint8_t | Address of beacon (0 if item not filled) | |
1 | 4 | uint32_t | Distance to the beacon, mm | |
5 | 1 | uint8_t | Reserved (0) |
Packet with raw distances data with real-time timestamps (firmware v7.200+)
Supported hardware/software:
Super-Beacon: not supported
Industrial Super-Beacon: not supported
Modem HW5.1: not supported
Super-Modem: supported
Mini-RX (Badge, Helmet, etc.): not supported
Mini-TX: not supported
Mini-TX-2: not supported
Modem HW4.9: not supported
Beacon HW4.9: not supported
Beacon HW4.5: not supported
Dashboard software: supported
Please see the note about timestamps.
Format of the packet
Offset | Size (bytes) | Type | Description | Value |
0 | 1 | uint8_t | Address | 0xff |
1 | 1 | uint8_t | Type of packet | 0x47 |
2 | 2 | uint16_t | Code of data in packet | 0x0084 |
4 | 1 | uint8_t | Number of bytes of data transmitting | |
5 | 32 | Data packet (see lower) |
Format of data packet
Offset | Size (bytes) | Type | Description | Value |
0 | 1 | uint8_t | Address of hedgehog | |
1 | 6 | Distance item 1 | ||
7 | 6 | Distance item 2 | ||
13 | 6 | Distance item 3 | ||
19 | 6 | Distance item 4 | ||
25 | 8 | int64_t | Timestamp – unix time of beacon ultrasound emission, number of milliseconds from 1970.01.01 00:00:00. Time, synchronized by all devices with modem and dashboard. | |
33 | 2 | uint16_t | Time passed from ultrasound emission to current time, milliseconds (V5.89+) | |
35 | 1 | uint8_t | reserved |
Format of distance item
Offset | Size (bytes) | Type | Description | Value |
0 | 1 | uint8_t | Address of beacon (0 if item not filled) | |
1 | 4 | uint32_t | Distance to the beacon, mm | |
5 | 1 | uint8_t | Reserved (0) |
Packet with IMU fusion data
Supported hardware/software:
Super-Beacon: not supported
Industrial Super-Beacon: not supported
Modem HW5.1: not supported
Super-Modem: supported
Mini-RX (Badge, Helmet, etc.): not supported
Mini-TX: not supported
Mini-TX-2: not supported
Modem HW4.9: not supported
Beacon HW4.9: not supported
Beacon HW4.5: not supported
Dashboard software: supported
Please see the note about timestamps.
Format of the packet
Offset | Size (bytes) | Type | Description | Value |
0 | 1 | uint8_t | Address of the beacon | |
1 | 1 | uint8_t | Type of packet | 0x47 |
2 | 2 | uint16_t | Code of data in packet | 0x0005 |
4 | 1 | uint8_t | Number of bytes of data transmitting | |
5 | 4 | int32_t | Coordinate X of beacon (fusion), mm | |
9 | 4 | int32_t | Coordinate Y of beacon (fusion), mm | |
13 | 4 | int32_t | Coordinate Z of beacon (fusion), mm | |
17 | 2 | int16_t | W field of rotation quaternion | |
19 | 2 | int16_t | X field of rotation quaternion | |
21 | 2 | int16_t | Y field of rotation quaternion | |
23 | 2 | int16_t | Z field of rotation quaternion | |
25 | 2 | int16_t | Velocity X of beacon (fusion), mm/s | |
27 | 2 | int16_t | Velocity Y of beacon (fusion), mm/s | |
29 | 2 | int16_t | Velocity Z of beacon (fusion), mm/s | |
31 | 2 | int16_t | Acceleration X of beacon, mm/s2 | |
33 | 2 | int16_t | Acceleration Y of beacon, mm/s2 | |
35 | 2 | int16_t | Acceleration Z of beacon, mm/s2 | |
37 | 1 | uint8_t | Address of beacon | |
38 | 1 | 1 byte | Reserved (0) | |
39 | 4 | uint32_t | Timestamp, ms | |
43 | 4 | 4 bytes | Reserved (0) |
Note: Quaternion is normalized to 10000 value.
Packet with IMU fusion data with real-time timestamps (firmware v7.200+)
Supported hardware/software:
Super-Beacon: not supported
Industrial Super-Beacon: not supported
Modem HW5.1: not supported
Super-Modem: supported
Mini-RX (Badge, Helmet, etc.): not supported
Mini-TX: not supported
Mini-TX-2: not supported
Modem HW4.9: not supported
Beacon HW4.9: not supported
Beacon HW4.5: not supported
Dashboard software: supported
Please see the note about timestamps.
Format of the packet
Offset | Size (bytes) | Type | Description | Value |
0 | 1 | uint8_t | Address of the beacon | |
1 | 1 | uint8_t | Type of packet | 0x47 |
2 | 2 | uint16_t | Code of data in packet | 0x0085 |
4 | 1 | uint8_t | Number of bytes of data transmitting | |
5 | 4 | int32_t | Coordinate X of beacon (fusion), mm | |
9 | 4 | int32_t | Coordinate Y of beacon (fusion), mm | |
13 | 4 | int32_t | Coordinate Z of beacon (fusion), mm | |
17 | 2 | int16_t | W field of rotation quaternion | |
19 | 2 | int16_t | X field of rotation quaternion | |
21 | 2 | int16_t | Y field of rotation quaternion | |
23 | 2 | int16_t | Z field of rotation quaternion | |
25 | 2 | int16_t | Velocity X of beacon (fusion), mm/s | |
27 | 2 | int16_t | Velocity Y of beacon (fusion), mm/s | |
29 | 2 | int16_t | Velocity Z of beacon (fusion), mm/s | |
31 | 2 | int16_t | Acceleration X of beacon, mm/s2 | |
33 | 2 | int16_t | Acceleration Y of beacon, mm/s2 | |
35 | 2 | int16_t | Acceleration Z of beacon, mm/s2 | |
37 | 1 | uint8_t | Address of beacon | |
38 | 1 | 1 byte | Reserved (0) | |
39 | 8 | int64_t | Timestamp – unix time, number of milliseconds from 1970.01.01 00:00:00. Time, synchronized by all devices with modem and dashboard | |
47 | 4 | 4 bytes | Reserved (0) |
Note: Quaternion is normalized to 10000 value.
Packet with telemetry data
Supported hardware/software:
Super-Beacon: not supported
Industrial Super-Beacon: not supported
Modem HW5.1: not supported
Super-Modem: supported
Mini-RX (Badge, Helmet, etc.): not supported
Mini-TX: not supported
Mini-TX-2: not supported
Modem HW4.9: not supported
Beacon HW4.9: not supported
Beacon HW4.5: not supported
Dashboard software: supported
Format of the packet
Offset | Size (bytes) | Type | Description | Value |
0 | 1 | uint8_t | Address of the beacon | |
1 | 1 | uint8_t | Type of packet | 0x47 |
2 | 2 | uint16_t | Code of data in packet | 0x0006 |
4 | 1 | uint8_t | Number of bytes of data transmitting | |
5 | 2 | uint16_t | Battery voltage, mV | |
7 | 1 | int8_t | RSSI, dBm | |
8 | 13 | Reserved (0) |
Packet with quality and extended location data
Supported hardware/software:
Super-Beacon: not supported
Industrial Super-Beacon: not supported
Modem HW5.1: not supported
Super-Modem: supported
Mini-RX (Badge, Helmet, etc.): not supported
Mini-TX: not supported
Mini-TX-2: not supported
Modem HW4.9: not supported
Beacon HW4.9: not supported
Beacon HW4.5: not supported
Dashboard software: supported
Format of the packet
Offset | Size (bytes) | Type | Description | Value |
0 | 1 | uint8_t | Address | |
1 | 1 | uint8_t | Type of packet | 0x47 |
2 | 2 | uint16_t | Code of data in packet | 0x0007 |
4 | 1 | uint8_t | Number of bytes of data transmitting | |
5 | 1 | uint8_t | Device address | |
6 | 1 | uint8_t | Positioning quality, % | |
7 | 1 | uint8_t | 0 = no geofencing zone alarm 1…255 – index of geofencing zone This field requires MMSW0005 license. | |
8 | 13 | Reserved (0) |
Packet with telemetry of all beacons
Supported hardware/software:
Super-Beacon: not supported
Industrial Super-Beacon: not supported
Modem HW5.1: not supported
Super-Modem: supported (in SSM firmware)
Mini-RX (Badge, Helmet, etc.): not supported
Mini-TX: not supported
Mini-TX-2: not supported
Modem HW4.9: not supported
Beacon HW4.9: not supported
Beacon HW4.5: not supported
Dashboard software: on demand
Format of the packet
Offset | Size (bytes) | Type | Description | Value |
0 | 1 | uint8_t | Address | 0xff |
1 | 1 | uint8_t | Type of packet | 0x48 |
2 | 2 | uint16_t | Code of data in packet | 0x2001 |
4 | 2 | uint16_t | Number of bytes of data transmitting | |
6 | N*10 | Telemetry for N beacon (see table below) |
Format of beacon telemetry item
Offset | Size (bytes) | Type | Description | Value |
0 | 1 | uint8_t | Address of the beacon | |
1 | 2 | uint16_t | Power voltage, mV | |
3 | 1 | int8_t | RSSI, dBm | |
4 | 4 | uint32_t | Time passed from last data update, sec | |
8 | 2 | uint16_t | Reserved (0) |
NMEA0183 protocol
Supported hardware/software:
Super-Beacon: not supported
Industrial Super-Beacon: not supported
Modem HW5.1: not supported
Super-Modem: supported
Mini-RX (Badge, Helmet, etc.): not supported
Mini-TX: not supported
Mini-TX-2: not supported
Modem HW4.9: not supported
Beacon HW4.9: not supported
Beacon HW4.5: not supported
Dashboard software: supported
Format of the packet
Offset | Size (bytes) | Type | Description | Value |
0 | N | N bytes | NMEA0183 message (see description here) | |
N | 1 | uint8_t | Address of the mobile beacon |
Notes:
- Super-Modem streams NMEA0183 messages via UDP if NMEA0183 protocol is selected in interfaces section of settings for the Super-Modem in the dashboard
- Dashboard streams NMEA0183 messages if NMEA0183 protocol is selected in interfaces section of settings for the modem, and the option shown on the screenshot below is selected in the Settings/UDP Settings menu in dashboard:

Protocols of communication via CAN
Supported hardware:
Super-Beacon: not supported
Industrial Super-Beacon: supported
Modem HW5.1: not supported
Super-Modem: on demand
Mini-RX (Badge, Helmet, etc.): not supported
Mini-TX: not supported
Mini-TX-2: not supported
Modem HW4.9: not supported
Beacon HW4.9: not supported
Beacon HW4.5: not supported
CAN hardware support can be installed in Super-Modem and Industrial Super-Beacon by request. If CAN is installed, RS-485 is not available.
Parameters of CAN:
Baudrate: 125 kbps.
Frame format: standard.
‘Marvelmind’ protocol of streaming
Packets described in corresponding chapter about UART streaming are transmitted also via CAN with CAN frame id 0x10. Each CAN frame can contain from 1 to 8 bytes of data. Number of data bytes is specified in DLC field of CAN frame.
Data are transmitted as raw stream, so CAN frame can include end of one data packet and beginning of next packet. User should receive multiple CAN frames, place their data fields into some buffer and process by the same way as data received from UART.
NMEA0183 communication protocol
Packets described in corresponding chapter about UART streaming are transmitted also via CAN with CAN frame id 0x11. Each CAN frame can contain from 1 to 8 bytes of data. Number of data bytes is specified in DLC field of CAN frame.
Data are transmitted as raw stream, so CAN frame can include end of one data packet and beginning of next packet. User should receive multiple CAN frames, place their data fields into some buffer and process by the
Format of dashboard csv log file
Dashboard stores locations of stationary and mobile beacons and other data into csv log files located in ‘log’ folder in dashboard directory. Starting from version V7.000 format of the log was changed. Previous format was remained only for modem HW v4.9.