Skip to main content

We-Vibe

Bluetooth Details

Main Service ID

f000bb03-0451-4000-b000-000000000000

Control Characteristic

f000c000-0451-4000-b000-000000000000

The control characteristic takes 8 bytes, as follows:

0f PP 00 XY 00 0Z 00 00
  • P - Vibration pattern
  • X - Internal motor intensity
  • Y - External motor intensity
  • Z - The last two bits theoretically turn motors X and Y on/off, although it's unclear if this is actually used on all models.
    • 0x03 (11) - Both on
    • 0x02 (10) - X on
    • 0x01 (01) - Y on
    • 0x00 (00) - Both off

The vibration patterns are:

CodeName
0x00Off
0x03Vibrate
0x04Peak
0x05Pulse
0x06Echo
0x07Wave
0x08Tide
0x0eSurf
0x0fBounce
0x10Massage
0x11Tease
0x12Crest
0x13Chachacha
0x14Step
0x15Ramp
0x16Tempo
0x17Heartbeat

Note that a motor intensity of zero does not actually turn the motor off, for that you will need to either use the 0x00 pattern, or perhaps the 6th byte of the control characteristic.

Info Charachteristic

f000b000-0451-4000-b000-000000000000

This can be read, which results in the following 8 bytes:

01 PP ZZ ZZ ?? WW XY MM
  • P - Vibration pattern
  • Z - Battery usage. FFFF is 100%, 0000 is 0%.
  • W - Temperature, in degrees Fahrenheit
  • X - Internal motor intensity
  • Y - External motor intensity
  • M - Device model

The device models are:

CodeName# motorsBLE name
0x00Default dual-motor2default
0x02Jive1jive
0x10Gala2gala
0x20Verge1verge
0x30Pivot1pivot
0x35Classic2classic
0x40Ditto1ditto
0x45We-Vibe2cougar / 4plus
0x50Sync2sync
0x60Bloom1bloom
0x70Nova2nova
0x80Wish1wish
0x90Rave1rave

Vector/Moxie Changes

The Vector and Moxie devices seem to have a different protocol.

Sources

This document is based on the following sources:

As well as my own testing on a We-Vibe Sync.