BKK currently manufactures two pieces of hardware with bluetooth capabilities.
The BKK Cup is a onahole style stroker/masturbator with an accelerometer and buttons built in. There is no output or haptic actuation in the toy, it is only used as a controller for either games or movies.
The BKK Bracelet is most likely the same circuitry as the BKK Cup, except in "bracelet" form. It probably contains the same accelerometer and button setup, allowing users to attach it to the onahole of their choice.
Note: BKK Bracelet implementation here is speculation taken from ad copy on the product website, we do not actually have a BKK Bracelet on hand at the time of this writing.
Chipset and Implementation Details
Due to the service IDs and identification of the BKK Cup, it is assumed that this is a TI CC2540 Reference Kit Design. In fact, it may using a reference keyfob implementation available on github. This is apparently a common reference design to copy, as it has also been found in lightbulbs.
BLE Device Name
Accelerometer Service UUID
Button Service UUID
Accelerometer characteristic (Read/Notify) UUID
Button characteristic (Read/Notify) UUID
The BKK protocol consists of either reads from the device (battery power) or notifications (buttons, accelerometer).
Buttons are relayed as a single byte, via notifications from the 0xffe1 characteristic. Note that only one button can have its status relayed at any time, pressing other buttons while a button is pressed may or may not cause the new value to be transmitted.
- 0x05 - "G" button
- 0x06 - "L" button
- 0x08 - "E" button
- 0x09 - "R" button
The accelerometer value is relayed as 15hz updates through the 0xffa1 characteristic. Update are only sent while the toy is moving. The accelerometer value seems to consist of 3 bytes, but only reacts to movement on one axis, a vector going length-wise through the toy.