Skip to main content

Lovenuts

Introduction​

Lovenuts manufactures BLE-controlled vibrators. The device uses a pattern-based control scheme where a sequence of 20 speed values is cycled at a configurable interval.

BLE Profile​

ble_names: ["Love_Nuts"]
services:
- uuid: "0000fff0-0000-1000-8000-00805f9b34fb"
characteristics:
- uuid: "0000fff1-0000-1000-8000-00805f9b34fb"
properties: [write, notify]
role: tx/rx
description: "Command endpoint and button notifications"

Commands​

Set Pattern​

The device uses a unique pattern-based speed control. A single command contains 20 speed values (packed as 4-bit nibbles) and a 16-bit interval timer.

Format:

0x45 0x56 0x04 0xF4C X1X2 X3X4 X5X6 X7X8 X9XA XBXC XDXE XFXG XHXI XJXK II II
ByteDescriptionRange
0x45 0x56 0x04 0xF4CHeaderFixed
Bytes 5-1420 speed values as 4-bit nibbles0x0-0xF each (15 levels)
Last 2 bytesInterval (16-bit)Duration per step; 0x0000 = off

Each 4-bit speed value is applied for the duration specified by the interval. Changes take effect immediately, though the device may stutter briefly when new values are applied.

Button Notifications​

The device sends button press notifications on the same characteristic. The notification value depends on both the current highest speed and which button was pressed:

Highest Speed"-" Pressed"+" Pressed
F0C0F
E0B0F
D0A0F
C090F
B080E
A070D
9060C
8050B
7040A
60309
50308
40307
30306
20305
10304

Notes​

  • Setting the interval to 0x0000 turns off the device (this may actually be causing a divide-by-zero crash).
  • If all speed values are 0, no button updates are sent.
  • The device supports 15 discrete speed levels (0-F nibble values).

Sources​