stpihkal
stpihkal copied to clipboard
Add documentation for the Magic Motion Kegel Master
Quoting from https://metafetish.club/t/magic-motion-toys-maybe-universal-specifications/286:
` Yep bros!
I have been RE the Magic Motion BLE protocol, but I have only Magic Kegel Master device and want someone to test multi-argument functions and sensors with other magic-motion toys. Services: Vtoy Sensor Service
In Magic Kegel Master there is one pressuring sensor, that indicates strength of pressure.
UUID: 6f468792-f91f-11e3-a847-b2227cce2b54 Characteristics: Sensor value: 6f468bfc-f91f-11e3-a847-b2227cce2b54 Packet format: With one sensor: byte[2] data where sensor value = (data[0] & 0xFF) * 256 + (data[1] & 0xFF) With two or more sensors: need addational research
Sensor value change notiffication subscription: 00002902-0000-1000-8000-00805f9b34fb Packet format: [0x01,0x00] - for subscribe [0x00,0x00] - for unsubscribe VT Command Service
UUID: 78667579-7b48-43db-b8c5-7928a6b0a335 Characteristics: Vibration strength property: 78667579-a914-49a4-8333-aa3c0cd8fedc Packet format: WARNING: it is not recommended to use values geather than 100 due to vibration engine degradation With one argument: [0x04, 0x08, v1, 0x64, 0] where v1 is in 0 ... 255 and reproduce vibration strength
With two arguments: [0x0b, 0xff, 0x04, v2, v2, 0x0a, 0x00, 0x04, 0x08, v1, 0x64, 0x00] where v1 is same as one-argument packet and v2 is unknown (maybe it acceptable for two-engine vibrators)
With three arguments: [0x10, 0xff, 0x04, v2, v2, 0x0a, 0x00, 0x04, 0x08, v1, 0x64, 0x00, 0x04, 0x08, v3, 0x64, 0x01] where v1 is same as one-argument packet and both v2 and v3 is unknown (maybe it acceptable for three-engine vibrators)
New gen of MagicMotion devices use an app called "WhatsSense" (play on WhatsApp?). Names:
- Lipstick (Awaken)
- Sword (Equinox)
- Curve (Solstice)
Service UUID: 78667579-7b48-43db-b8c5-7928a6b0a335 Tx UUID: 78667579-a914-49a4-8333-aa3c0cd8fedc
Control protocol seems to be similar to form 3: 0x10 0xff 0x04 0x0a 0x32 0x32 0x00 0x04 0x08 0xAA 0x64 0x00 0x04 0x08 0xBB 0x64 0x01
Note that byte 3 appears to have been shifted from byte 5. 0xAA is vibe 1 0x00-0x64 0xBB is probably for secondary vibes? Thing is neither of the other vibes have 2 motors (more details when I pick them up from the post office in 2 weeks.