Skip to content

Instantly share code, notes, and snippets.

@bnm12
Last active November 19, 2021 13:01
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bnm12/fcdcef291a500bf51cef734aa1830e4d to your computer and use it in GitHub Desktop.
Save bnm12/fcdcef291a500bf51cef734aa1830e4d to your computer and use it in GitHub Desktop.
We-Vibe working notes
f000bb03-0451-4000-b000-000000000000 - Service ID
f000c000-0451-4000-b000-000000000000 - Control Characteristic
Sets Internal (A) and
External (B) Motor Intensity
|
0F 0Y 00 AB 00 0Z 00 00
| |
Vibration Last 2 bits turn off/on A & B
Mode ( 11, 10, 01, 00)
(0x03, 0x02, 0x01, 0x00)
(Nova only?)
f000b000-0451-4000-b000-000000000000 - Info Characteristic
Battery Use is (((XX << 8) + ZZ) / 65535) * 100 in %
if (XX << 8) + ZZ is less than 0 add 0x10000 before dividing (take the absolute value)
|
| Internal (A) and
_|_ External (B) Motor Intensity
| | |
01 0Y ZZ XX 49 WW AB PP --------
| | |
Vibration | |
Mode Temp F |
as C (WW-32)*5/9 |
Device model
|byte| | Name | |Motor count| | BLE name |
0x00 Default dual-motor 2 default
0x02 Jive 1 jive
0x10 Gala 2 gala
0x20 Verge 1 verge
0x30 Pivot 1 pivot
0x35 Classic 2 classic
0x40 Ditto 1 ditto
0x45 We-Vibe 2 cougar / 4plus
0x50 Sync 2 sync
0x60 Bloom 1 bloom
0x70 Nova 2 nova
0x80 Wish 1 wish
0x90 Rave 1 rave
Known vibration modes
|byte| |Name| |Waveform (bytes to send to create vibration, one byte at a time)|
0x00 - Off
0x03 - Vibrate (Single: FF0F, Dual FF0F)
0x04 - Peak (Single: 0FEF0FFE0FEF0FFE0FEF0FFE0FEF0FFE0FEFF034F034F034F034F034F034F034F034, Dual: 0FEF0FFE0FEF0FFE0FEF0FFE0FEF0FFE0FEFF034F034F034F034F034F034F034F034)
0x05 - Pulse (Single: FF34, Dual: FF34)
0x06 - Echo (Single: 0F09F009, Dual: 0F09F009)
0x07 - Wave (Single: 22033303440355036603770388039903AA03BB03CC03DD03EE03FF0FFF0FEE03DD03CC03BB03AA0399038803770366035503440333032203, Dual: 22033303440355036603770388039903AA03BB03CC03DD03EE03FF0FFF0FEE03DD03CC03BB03AA0399038803770366035503440333032203)
0x08 - Tide (Single: F403E503D603C703B803A9039A038B037C036D035E034F0F4F0F5E036D037C038B039A03A903B803C703D603E503F403, Dual: F403E503D603C703B803A9039A038B037C036D035E034F0F4F0F5E036D037C038B039A03A903B803C703D603E503F403)
0x0E - Surf (Single: FF080F08, Dual: FF080F08)
0x0F - Bounce (Single: 0F460F46F047, Dual: 0F460F46F047)
0x10 - Massage (Single: FF06AA01, Dual: FF06AA01)
0x11 - Tease (Single: 0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0F710F710F710F710F710F710F710F710F710F710F710F710F710F710F71, Dual: 0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0F710F710F710F710F710F710F710F710F710F710F710F710F710F710F71)
0x12 - Crest (Single: 0F000F00, Dual: 0F000F00)
0x13 - Chachacha(Single: 0F0F0F0400690F0F0F0400690F990F990F99001F, Dual: FF0FFF040048FF0FFF040048F0980F98F098000F)
0x14 - Step (Single: 550FAA0FFF0FFF08, Dual: 550FAA0FFF0FFF08)
0x15 - Ramp (Single: 220D330D440D550D660D770D880D990DAA0DBB0DCC0DDD0DEE0DFF0FFF0F, Dual: 220D330D440D550D660D770D880D990DAA0DBB0DCC0DDD0DEE0DFF0FFF0F)
0x16 - Tempo (Single: 223522353335443555356635773588359935AA35BB35CC35DD35EE35FF35FF35FF35FF35EE35DD35CC35BB35AA359935883577356635553544353335, Dual: 223522353335443555356635773588359935AA35BB35CC35DD35EE35FF35FF35FF35FF35EE35DD35CC35BB35AA359935883577356635553544353335)
0x17 - Heartbeat(Single: AA043301FF25330F330F3302AA043301FF25330F330F3302AA043301FF25330F330F3302AA043301FF25330F330F3302AA043301FF25330F330F3302AA043301FF25330F3302AA043301FF25330F3302AA043301FF25330F3302AA043301FF25330F3302AA043301FF25330F3302AA043301FF25330F3302, Dual: AA043301FF25330F330F3302AA043301FF25330F330F3302AA043301FF25330F330F3302AA043301FF25330F330F3302AA043301FF25330F330F3302AA043301FF25330F3302AA043301FF25330F3302AA043301FF25330F3302AA043301FF25330F3302AA043301FF25330F3302AA043301FF25330F3302)
Known special commands:
Connection success 3x vibrations -> 1e 20 2d 00 00 00 00 00
Unknown command used in conjunction with reading status in the Defcon Weevil thing -> 0f ff 00 64 00 00 00 00
looks to be a standard vibrate command but with a screwed up mode setting Internal to 6 and external to 4?
has no noticeable effect
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment