Skip to content

Add Utimi protocol handler (benben lightspot BLE SDK)#866

Open
DatUub wants to merge 1 commit intobuttplugio:masterfrom
DatUub:add-utimi-protocol
Open

Add Utimi protocol handler (benben lightspot BLE SDK)#866
DatUub wants to merge 1 commit intobuttplugio:masterfrom
DatUub:add-utimi-protocol

Conversation

@DatUub
Copy link
Copy Markdown

@DatUub DatUub commented Apr 11, 2026

  • Adds protocol handler for Utimi BLE toys using the benben lightspot SDK
  • Command format: A0 03 [vib] [thrust] [m2] [m3] [m4] AA on service 0000ffa0 / char 0000ffa1
  • Separate from JoyHub because benben uses 5 motor slots (8-byte packet) vs JoyHub's 4 slots (7-byte packet)
  • Protocol reverse-engineered from the Utimi Android APK (com.benben.lightspot.bluetooth SDK)
  • utimi.rs — Protocol handler with AtomicU8 state tracking for shared command packet, implements vibrate + oscillate
  • utimi.yml — Device config matching BLE name prefix Utimi, service ffa0/ffa1
  • mod.rs — Registration
  • cargo check passes
  • Tested on physical Utimi prostate massager (model "Utimi000020") — vibration and thrust motors confirmed working via BLE
    This pr message was generated with help of claude

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Apr 11, 2026

CLA assistant check
All committers have signed the CLA.

Adds support for Utimi BLE toys using the benben lightspot protocol.
Command format: A0 03 [vib] [thrust] [m2] [m3] [m4] AA on service
0000ffa0 / characteristic 0000ffa1. Similar to JoyHub but uses 5 motor
slots (8 bytes) instead of 4 (7 bytes).
Protocol reverse-engineered from the Utimi Android APK
(com.benben.lightspot.bluetooth SDK).
@DatUub DatUub force-pushed the add-utimi-protocol branch from 1122c0a to 59e7dd4 Compare April 11, 2026 22:56
@DatUub DatUub closed this Apr 12, 2026
@DatUub DatUub reopened this Apr 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants