Hello,
I'd like to request support for the UNI-T LM60BS laser distance meter (BS-series, 60 m, Bluetooth). It's sold widely, but its official app (知户型) is Chinese-only, so English-speaking users have no working option. I captured the meter's complete (at least I think so) Bluetooth behavior with nRF Connect and have a working test implementation, so adding it should be straightforward.
CONNECTION
  • Bluetooth Low Energy, advertised name "LM60BS".
  • Connects without bonding. Pairing through Android Bluetooth settings fails with a PIN prompt, so connect directly from the app.
  • The meter disconnects after a few minutes without activity (GATT timeout when it goes to sleep).
SERVICES
  • 0xFFF0: 0xFFF1 (notify, read) carries measurements; 0xFFF2 (write, write without response); 0xFFF3 (notify, read, write).
  • 0xFFE0: 0xFFE1 (notify) carries the same measurement packets; 0xFFE2 (write, write without response).
  • Readings can arrive on either FFF1 or FFE1, so subscribe to both and drop duplicates.
  • When notifications on FFF3 are enabled, the meter sends one fixed status packet: 88-00-04-00-03-10-13 (same every time; meaning unknown).
MEASUREMENT PACKET
  • Bytes 0-2: 00 FF 01 (header)
  • Byte 3: 0x44 ('D')
  • Then the value as zero-padded ASCII text, followed by the unit as ASCII
  • Last byte: 0x17 in every sample (appears to be a terminator)
Unit suffixes seen (area and volume use the same 'D' type, only the suffix differs):
  • m: 000000002.823m = 2.823 m
  • ft: 000000007.690ft
  • in: 000000029.213in
  • feet + inches: 000000002ft06in = 2 ft 6 in
  • m3 (volume): 000000030.870m3; m2 for area
Real samples, checked against the meter's display:
  • 2.823 m: 00-FF-01-44-30-30-30-30-30-30-30-30-30-32-2E-38-32-33-6D-17
  • 0.645 m: 00-FF-01-44-30-30-30-30-30-30-30-30-30-30-2E-36-34-35-6D-17
  • 30.870 m3: 00-FF-01-44-30-30-30-30-30-30-30-33-30-2E-38-37-30-6D-33-17
  • 7.690 ft: 00-FF-01-44-30-30-30-30-30-30-30-30-37-2E-36-39-30-66-74-17
  • 29.213 in: 00-FF-01-44-30-30-30-30-30-30-30-32-39-2E-32-31-33-69-6E-17
  • 2 ft 6 in: 00-FF-01-44-30-30-30-30-30-30-30-30-32-66-74-30-36-69-6E-17
BEHAVIOUR TO HANDLE
  1. Memory dump on connect: right after notifications are enabled, the meter sends its stored readings (about 20 packets roughly 30 ms apart). These should be ignored or offered as an import, not applied to the selected wall.
  2. Continuous mode streams one reading about every 0.6 s. Keeping the shortest value while sweeping gives the perpendicular distance.
  3. Area and volume results must not be used as lengths (check the m2/m3 suffix).
  4. The tilt angle shown on the display is not transmitted.
  5. The measuring reference (front or rear edge) is applied on the device; the transmitted value is already adjusted.
I'm happy to test a beta, capture more logs, or share the nRF Connect log files.
Thank you,