Skip to main content

BLE Frame Specifications - ELA Innovation

General Bluetooth Information

ResourceLink
General informationhttps://www.bluetooth.com/bluetooth-technology
BLE Specificationshttps://www.bluetooth.com/specifications
BLE Services and Characteristicshttps://www.bluetooth.com/specifications/gatt

Applicable Products

  • Identification and sensors Blue family.
  • Wirepas family for emulated BLE.

Data Information

Service Data vs Manufacturer Specific Data

Starting from firmware version 2.0.0, it is possible to send data via Manufacturer Specific Data by enabling the Mfr. Data Enable parameter in the NFC configuration.

ELA Innovation Company Identifier (CIN): 0x0757

Scan Response Frame

Certain formats allow sending a "Scan Response" frame containing additional information (tag name, battery, etc.).


"ID" Format

ByteService Data TypeMfr Spec. Data Type (≥2.0.0)
1Length: 0x02Length: 0x02
2Type: 0x01Type: 0x01
3Data: 0x06Data: 0x06
4Length: ≤0x10Length: 0x0A
5Type: 0x09Type: 0xFF
6Name[0]ELA_CIN_LSB: 0x57
7Name[1]ELA_CIN_MSB: 0x07
8Name[2]MFR_Num[0]
9Name[3]MFR_Num[1]
10Name[4]MFR_Num[2]
11Name[5]MFR_Num[3]
12Name[6]MFR_Num[4]
13Name[7]MFR_Num[5]
14Name[8]MFR_Num[6]
15Name[9]Length: ≤0x10
16-31Name / Not usedType: 0x09 + Name[0-14]

"iBeacon" Format

ByteVersion 1.0.0, 2.0.0Version ≥2.1.0
1Length: 0x02Length: 0x02
2Type: 0x01Type: 0x01
3Data: 0x04Data: 0x06
4Length: 0x1ALength: 0x1A
5Type: 0xFFType: 0xFF
6Apple CIN_LSB: 0x4CApple CIN_LSB: 0x4C
7Apple CIN_MSB: 0x00Apple CIN_MSB: 0x00
8Beacon type: 0x02Beacon type: 0x02
9Data size: 0x15Data size: 0x15
10-25UUID[0-15]UUID[0-15]
26-27Major[0-1]Major[0-1]
28-29Minor[0-1]Minor[0-1]
30Power TX at 1mPower TX at 1m

Note: The tag name is transmitted in the Scan Response.


"Eddystone" Format

ByteValue
1Length: 0x02
2Type: 0x01
3Data: 0x06
4Length: 0x03
5Type: 0x03
6Eddystone_UUID_LSB: 0xAA
7Eddystone_UUID_MSB: 0xFE
8Length: 0x17
9Type: 0x16
10Eddystone_UUID_LSB: 0xAA
11Eddystone_UUID_MSB: 0xFE
12Frame type UUID: 0x00
13Power TX at 0m
14-23NID[0-9]
24-29BID[0-5]
30-31Reserved

Note: The tag name is transmitted in the Scan Response.


"T" / "T EN" / "T Probe" Format (Temperature)

ByteService Data (≥1.0.0)Mfr Spec. Data (≥2.0.0)
1Length: 0x02Length: 0x02
2Type: 0x01Type: 0x01
3Data: 0x06Data: 0x06
4Length: 0x05Length: 0x06
5Type: 0x16Type: 0xFF
6Temperature carac. LSB: 0x6EELA_CIN_LSB: 0x57
7Temperature carac. MSB: 0x2AELA_CIN_MSB: 0x07
8T° Data (0.01°C) LSBTEMP_ID: 0x12
9T° Data (0.01°C) MSBT° Data (0.01°C) LSB
10Length: ≤0x10T° Data (0.01°C) MSB
11-26Type: 0x09 + Name[0-14]Length: ≤0x10 + Type: 0x09 + Name[0-14]

Resolution: 0.01°C
Example: 0x0A6C = 2668 → 26.68°C


"RHT" Format (Temperature + Humidity)

ByteService Data (≥1.0.0)Mfr Spec. Data (≥2.0.0)
1Length: 0x02Length: 0x02
2Type: 0x01Type: 0x01
3Data: 0x06Data: 0x06
4Length: 0x05Length: 0x08
5Type: 0x16Type: 0xFF
6Temperature carac. LSB: 0x6EELA_CIN_LSB: 0x57
7Temperature carac. MSB: 0x2AELA_CIN_MSB: 0x07
8T° Data (0.01°C) LSBRHT_DATA_ID: 0x21
9T° Data (0.01°C) MSBRH Data (%)
10Length: 0x04TEMP_DATA_ID: 0x12
11Type: 0x16T° Data (0.01°C) LSB
12Humidity carac. LSB: 0x6FT° Data (0.01°C) MSB
13Humidity carac. MSB: 0x2ALength: ≤0x10
14RH Data (%)Type: 0x09
15-31Length: ≤0x10 + Type: 0x09 + Name[0-14]Name[0-14]

Temperature Resolution: 0.01°C
Humidity Resolution: 1%


"MAG" Format (Magnetic)

ByteService Data (≥2.0.0)Mfr Spec. Data (≥2.0.0)
1Length: 0x02Length: 0x02
2Type: 0x01Type: 0x01
3Data: 0x06Data: 0x06
4Length: 0x05Length: 0x06
5Type: 0x16Type: 0xFF
6Alert Level carac. LSB: 0x06ELA_CIN_LSB: 0x57
7Alert Level carac. MSB: 0x2AELA_CIN_MSB: 0x07
8MAG Data (cnt + state) LSBMAG_DATA_ID: 0x32
9MAG Data (cnt + state) MSBMAG Data (cnt + state) LSB
10Length: 0x04MAG Data (cnt + state) MSB
11Type: 0x16Length: ≤0x10
12Alert Status carac. LSB: 0x3FType: 0x09
13Alert Status carac. MSB: 0x2AName[0-14]
14-31Data: 0x00 + Length: ≤0x10 + Type: 0x09 + Name[0-14]

MAG Data:

  • Bits 0-14: Event counter (0-32767)
  • Bit 15: Magnet state (0 = absent, 1 = present)

"MOV" Format (Movement)

ByteService Data (≥2.0.0)Mfr Spec. Data (≥2.0.0)
1Length: 0x02Length: 0x02
2Type: 0x01Type: 0x01
3Data: 0x06Data: 0x06
4Length: 0x05Length: 0x06
5Type: 0x16Type: 0xFF
6Alert Level carac. LSB: 0x06ELA_CIN_LSB: 0x57
7Alert Level carac. MSB: 0x2AELA_CIN_MSB: 0x07
8MOV Data (cnt + state) LSBMOV_DATA_ID: 0x42
9MOV Data (cnt + state) MSBMOV Data (cnt + state) LSB
10Length: 0x04MOV Data (cnt + state) MSB
11Type: 0x16Length: ≤0x10
12Alert Status carac. LSB: 0x3FType: 0x09
13Alert Status carac. MSB: 0x2AName[0-14]
14-31Data: 0x01 + Length: ≤0x10 + Type: 0x09 + Name[0-14]

MOV Data:

  • Bits 0-14: Event counter (0-32767)
  • Bit 15: Movement state (0 = no movement, 1 = movement in progress)

"ANG" Format (3-Axis Accelerometer)

ByteService Data (≥1.0.0)Mfr Spec. Data (≥2.0.0)
1Length: 0x02Length: 0x02
2Type: 0x01Type: 0x01
3Data: 0x06Data: 0x06
4Length: 0x09Length: 0x0A
5Type: 0x16Type: 0xFF
6MAG 3D carac. LSB: 0xA1ELA_CIN_LSB: 0x57
7MAG 3D carac. MSB: 0x2AELA_CIN_MSB: 0x07
8Accel. Data X axis (mg) LSBANG_DATA_ID: 0x56
9Accel. Data X axis (mg) MSBAccel. Data X axis (mg) LSB
10Accel. Data Y axis (mg) LSBAccel. Data X axis (mg) MSB
11Accel. Data Y axis (mg) MSBAccel. Data Y axis (mg) LSB
12Accel. Data Z axis (mg) LSBAccel. Data Y axis (mg) MSB
13Accel. Data Z axis (mg) MSBAccel. Data Z axis (mg) LSB
14-31Length: ≤0x10 + Type: 0x09 + Name[0-14]Accel. Data Z axis (mg) MSB + Length: ≤0x10 + Type: 0x09 + Name[0-14]

Resolution: 1 mg (milli-g)
Format: Signed 16-bit (two's complement)


"DIGI IN" Format (Digital Input)

ByteService Data (≥2.0.0)Mfr Spec. Data (≥2.0.0)
1Length: 0x02Length: 0x02
2Type: 0x01Type: 0x01
3Data: 0x06Data: 0x06
4Length: 0x05Length: 0x06
5Type: 0x16Type: 0xFF
6Alert Level carac. LSB: 0x06ELA_CIN_LSB: 0x57
7Alert Level carac. MSB: 0x2AELA_CIN_MSB: 0x07
8DI Data (cnt + state) LSBDIGI_IN_DATA_ID: 0x62
9DI Data (cnt + state) MSBDI Data (cnt + state) LSB
10Length: 0x04DI Data (cnt + state) MSB
11Type: 0x16Length: ≤0x10
12Alert Status carac. LSB: 0x3FType: 0x09
13Alert Status carac. MSB: 0x2AName[0-14]
14-31Data: 0x02 + Length: ≤0x10 + Type: 0x09 + Name[0-14]

DI Data:

  • Bits 0-14: Event counter (0-32767)
  • Bit 15: Input state (0 = released, 1 = pressed)

"Analog IN" Format (Analog Input)

ByteService Data (≥2.0.0)Mfr Spec. Data (≥2.0.0)
1Length: 0x02Length: 0x02
2Type: 0x01Type: 0x01
3Data: 0x06Data: 0x06
4Length: 0x05Length: 0x06
5Type: 0x16Type: 0xFF
6Analog Out carac. LSB: 0x58ELA_CIN_LSB: 0x57
7Analog Out carac. MSB: 0x2AELA_CIN_MSB: 0x07
8Analog Data measure (mV) LSBAN_IN_DATA_ID: 0x72
9Analog Data measure (mV) MSBAnalog Data measure (mV) LSB
10-31Length: ≤0x10 + Type: 0x09 + Name[0-14]Analog Data measure (mV) MSB + Length: ≤0x10 + Type: 0x09 + Name[0-14]

Resolution: 1 mV
Format: Unsigned 16-bit


"DIGI OUT" Format (Digital Output)

ByteValue
1Length: 0x02
2Type: 0x01
3Data: 0x06
4Length: 0x0A
5Type: 0xFF
6ELA_CIN_LSB: 0x57
7ELA_CIN_MSB: 0x07
8MFR_NUM_ID: 0x86
9-14MFR_Num[0-5]
15Length: ≤0x10
16Type: 0x09
17-31Name[0-14]

MFR_Num: Configurable hexadecimal number (max 0xFFFFFFFFFFFF)


"PIR" Format (Presence Detector)

ByteService Data (≥3.0.1)Mfr Spec. Data (≥3.0.1)
1Length: 0x02Length: 0x02
2Type: 0x01Type: 0x01
3Data: 0x06Data: 0x06
4Length: 0x05Length: 0x06
5Type: 0x16Type: 0xFF
6Rainfall Carac. LSB: 0x78ELA_CIN_LSB: 0x57
7Rainfall Carac. MSB: 0x2AELA_CIN_MSB: 0x07
8PIR Data (cnt + state) LSBPIR_DATA_ID: 0x92
9PIR Data (cnt + state) MSBPIR Data (cnt + state) LSB
10-31Length: ≤0x0F + Type: 0x09 + Name[0-14]PIR Data (cnt + state) MSB + Length: ≤0x0F + Type: 0x09 + Name[0-14]

PIR Data:

  • Bits 0-14: Event counter (0-32767)
  • Bit 15: Detection state (0 = no movement detected, 1 = movement detected)

Battery Information

Battery capacity

Battery capacity is transmitted in the Scan Response when it drops below 15%.

Service Data (Version 1.0.0, 2.0.0, 2.1.x)

ByteValue
1Length: 0x04
2Type: 0x16
3Battery Serv. LSB: 0x0F
4Battery Serv. MSB: 0x18
5Batt. data (%)

Service Data (Version ≥2.2.0)

ByteValue
1Length: 0x04
2Type: 0x16
3Battery Serv. LSB: 0x19
4Battery Serv. MSB: 0x2A
5Batt. data (%)

Mfr Spec. Data (Version ≥2.0.0)

ByteValue
1Length: 0x05
2Type: 0xFF
3ELA_CIN_LSB: 0x57
4ELA_CIN_MSB: 0x07
5BATT_DATA_ID: 0xF1
6Batt. data (%)

Battery Voltage (Version ≥3.0.0)

Available if the "Battery voltage presence" parameter is enabled in the NFC configuration.

ByteValue
1Length: 0x06
2Type: 0xFF
3ELA_CIN_LSB: 0x57
4ELA_CIN_MSB: 0x07
5BATT_DATA_ID: 0xF2
6Batt. voltage (mV) LSB
7Batt. voltage (mV) MSB

Resolution: 1 mV


Release Notes

Version 1.0.0

  • Battery Service transmission in Scan Response when battery drops below 15%
  • Nordic UART Service (NUS) removed from Scan Response

Version 2.0.0

  • Tag name sent in Scan Response for iBeacon/Eddystone
  • ELA Innovation Company Identifier: 0x0757
  • Addition of "ID Manufacturer Data" field for ELA_ID and DIGI_OUT formats

Version 2.1.0

  • Rename TOR IN → DIGI IN and TOR OUT → DIGI OUT

Version 2.2.0

  • Battery data in Battery Level service (0x2A19)
  • MAC address type changed from Random to Public

Version 3.0.0

  • Ability to transmit battery voltage in Scan Response

Resources

Sample code available at: https://github.com/elaInnovation

Complete documentation: www.elainnovation.com


Non-contractual document - Specifications may be modified without notification