Modbus Registers of Bus Probes

Tibbo Bus Probes are controlled only at the register level. The following tables detail the Modbus registers used by Bus Probes.

All Bus Probe registers are 16-bit, either signed or unsigned. This means that when writing or reading a register, the Modbus command must follow the following format:

B7

B6

B5

B4

B3

B2

B1

B0

Modbus slave ID

Function code

Target register

Data to be written / Length of data to read

CRC (LSB)

CRC (MSB)

For example, if you want to check the firmware version of a Bus Probe whose ID is 1, you would send it the following request:

01 03 00 D4 00 01 C4 32

In this example, let's say that the data content of the device's reply message is 0x0103. For the monitor and firmware version of Bus Probes, the major version number is the first two hexadecimal characters ("01"), and the minor version number is the second two hexadecimal characters ("03"). Hence, this tells us that the Bus Probe is running firmware version 1.03.

Common registers

These registers are present on all Bus Probes. All of these values are written to the EEPROM and, as such, are non-volatile (i.e., their values persist even after the Bus Probe is powered off).

As these registers' values are stored in the EEPROM, excessive writes will result in a reduced lifespan for the device. For more information, please see Prolonging and Estimating EEPROM Life.

Addr. (hex)

Name

R/W

Type

Description

200 (0xC8)

ID

R/Wp

Unsigned 16-bit

Device ID (Modbus address). This ID must be between 1 to 247. Attempts to set an ID outside of this range will be ignored.

The default ID of a Probe depends on the Probe's type:

  • 0x40 for BP#01 (ambient temperature sensor)
  • 0x41 for BP#02 (relative humidity and temperature sensor)
  • 0x42 for BP#03 (ambient light sensor)
  • 0x43 for BP#04 (3-axis accelerometer)
  • 0x44 for BP#05 (flood/leak sensor)

201 (0xC9)

TYPE

R

Unsigned 16-bit

Probe type:

  • 0x01 — BP#01 (ambient temperature sensor);
  • 0x02 — BP#02 (ambient temperature and humidity sensor);
  • 0x03 — BP#03 (ambient light sensor);
  • 0x04 — BP#04 (3-axis acceleration sensor).
  • 0x05 — BP#05 (flood/leak sensor)

202 (0xCA)

BAUDRATE

R/Wp

Unsigned 16-bit

The baud rate the probe will use:

  • 0 — 1,200bps
  • 1 — 2,400bps
  • 2 — 4,800bps
  • 3 — 9,600bps
  • 4 — 19,200bps
  • 5 — 38,400bps (default)
  • 6 — 57,600bps
  • 7 — 115,200bps

203 (0xCB)

SIGNATURE

R

Unsigned 16-bit

Always returns 0xAA55. This is a common signature for all Bus Probes.

204 (0xCC)

SERIAL HI

R

Unsigned 16-bit

This register is reserved for future use.

205 (0xCD)

SERIAL LO

R

Unsigned 16-bit

This register is reserved for future use.

206 (0xCE)

BOOTLOADER

R

Unsigned 16-bit

This register is reserved for future use.

207 (0xCF)

USER WORD 1

R/W

Unsigned 16-bit

Users are free to save any application-specific data in this register.

208 (0xD0)

USER WORD 2

R/W

Unsigned 16-bit

Users are free to save any application-specific data in this register.

209 (0xD1)

USER WORD 3

R/W

Unsigned 16-bit

Users are free to save any application-specific data in this register.

210 (0xD2)

USER WORD 4

R/W

Unsigned 16-bit

Users are free to save any application-specific data in this register.

211 (0xD3)

MONITOR VERSION

R

Unsigned 16-bit

Firmware version of the Monitor/Loader.

212 (0xD4)

FIRMWARE VERSION

R

Unsigned 16-bit

Firmware version of the application firmware.

R = read, W = write, Wp = protected write (possible only while the MD button* is being pressed).

* Each Bus Probe comes with a metal pin that makes pushing and holding down the MD button easier.

Additional registers of BP#01 (ambient temperature sensor)

Addr. (hex)

Name

R/W

Type

Description

300 (0x12C)

TEMP_PROC

R

Signed

16-bit

Processed fixed-point temperature data expressed in steps of 0.01°C.
Measurement resolution is 0.25°C.

301 (0x12D)

TEMP_RAW

R

Unsigned 16-bit

Raw temperature data from the measurement IC (MCP9808).
See vendor datasheet for details.

R = read (only)

Additional registers of BP#02 (ambient temperature and relative humidity sensor)

Addr. (hex)

Name

R/W

Type

Description

400 (0x190)

TEMP_PROC

R

Signed

16-bit

Processed fixed-point temperature data expressed in steps of 0.1°C.
Measurement resolution is 0.5°C.

401 (0x191)

TEMP_RAW

R

Unsigned 16-bit

Raw temperature data from the measurement IC (HIH6130).
See vendor datasheet for details.

404 (0x194)

HUM_PROC

R

Unsigned 16-bit

Processed fixed-point relative humidity data expressed in steps of 0.1%.
Measurement resolution is 0.1%.

405 (0x195)

HUM_RAW

R

Unsigned 16-bit

Raw humidity data from the measurement IC (HIH6130).
See vendor datasheet for details.

R = read (only)

Additional registers of BP#03 (ambient light sensor)

Addr. (hex)

Name

R/W

Type

Description

500 (0x1F4)

LUM_PROC

R

Unsigned 16-bit

Processed fixed-point luminance data expressed in steps of 1 Lux.
Measurement resolution is 1 Lux.

501 (0x1F5)

LUM_RAW

R

Unsigned 16-bit

Raw luminance data from the measurement IC (BH1721FVC).
See vendor datasheet for details.

R = read (only)

Additional registers of BP#04 (3-axis accelerometer)

bp_axes_of_accelerometer

Addr. (hex)

Name

R/W

Type

Description

600 (0x258)

AXIS_X_PROC

R

Signed

16-bit

Processed fixed-point X-axis acceleration data expressed in steps of ~0.003G.
Measurement resolution is ~0.003 G.

601 (0x259)

AXIS_X_RAW

R

Signed

16-bit

Raw X-axis acceleration data from the measurement IC (ADXL312).
See vendor datasheet for details.

602 (0x25A)

AXIS_Y_PROC

R

Signed

16-bit

Processed fixed-point Y-axis acceleration data expressed in steps of ~0.003G.
Measurement resolution is ~0.003 G.

603 (0x25B)

AXIS_Y_RAW

R

Signed

16-bit

Raw Y-axis acceleration data from the measurement IC (ADXL312).
See vendor datasheet for details.

604 (0x25C)

AXIS_Z_PROC

R

Signed

16-bit

Processed fixed-point Z-axis acceleration data expressed in steps of ~0.003G.
Measurement resolution is ~0.003 G.

605 (0x25D)

AXIS_Z_RAW

R

Signed

16-bit

Raw Z-axis acceleration data from the measurement IC (ADXL312).
See vendor datasheet for details.

R = read (only)

Additional registers of BP#05 (flood/leak sensor)

Addr. (hex)

Name

R/W

Type

Description

700 (0x2BC)

FLOOD_FLAG

R

Unsigned 16-bit

Flood/leak detection status. This register can be:

  • 0 — Dry
  • 1 — Wet

701 (0x2BD)

FLOOD_SENSITIVITY

R/Wp

Unsigned 16-bit

The sensitivity of the flood/leak sensor. This register is non-volatile (i.e., its value will persist even after the Bus Probe is powered off). This register can be:

  • 0 — Normal sensitivity
  • 1 — Reduced sensitivity

R = read (only), Wp = protected write (possible only while the MD button is being pressed).