BKK Hardware and Protocol Documentation

Contents

BKK Hardware

BKK currently manufactures two pieces of hardware with bluetooth capabilities.

BKK Cup

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.

BKK Bracelet

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.

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.

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.

Bluetooth Details for BKK Cup

Device Name

BKK Cup

Service IDs

Accelerometer Service:

0000ffa0-0000-1000-8000-00805f9b34fb

Button Service:

0000ffe0-0000-1000-8000-00805f9b34fb

Characteristic IDs

Accelerometer characteristic (subscription):

0000ffa1-0000-1000-8000-00805f9b34fb

Button characteristic (subscription):

0000ffe1-0000-1000-8000-00805f9b34fb

Protocol

The BKK protocol consists of either reads from the device (battery power) or notifications (buttons, accelerometer).

Buttons

Buttons are relayed as a single byte, via notifications from the ffe1 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

Accelerometer

The accelerometer value is relayed as 15hz updates through the ffa1 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.

Introduction

This document contains information about BKK sex toy hardware, and the bluetooth protocol used to communicate with it. This information can be used to access BKK toys and create new libraries for controlling features and receiving information from them.

Disclaimer

The boinkking project is in no way affiliated with BKK or any of their partners. The documentation and libraries here have been produced via clean room reverse engineering methods, and are provided with no guarantees, as outlined by the license agreement. Usage of these libraries and information is in no way condoned by aforementioned companies, and may void the warranty of your toy.

License

raunch documentation is covered under the Creative Commons 4.0 Attribution License.