Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Mackie Thump GO Bluetooth Protocol

Mackie Thump GO Bluetooth Protocol


The Thump GO is visible as two Bluethooth devices. Thump GO is an audio device. A connection has to be established for the other interface to work.

The Bluetooth device named LE_Thump GO is used for controlling the loudspeaker. This is the interface that the official app Thump Connect 2 uses. This device offers service UUID 49535343-fe7d-4ae5-8fa9-9fafd205e455. Appearently, this is the BM70/RN4870 chip with service "Microchip Transparent UART". Here, I list all the commands of that device that I could reverse-engineer. I assume no liability for the correctness. All numbers are in hexadecimal notation.

Settings Vector

ID Function Values
01 Front LED 00 (off) or 01 (on)
(02) Battery SOC ff (?), ..., f1, ee, ... 77, 73, 70 = LED green (100% to 20%)
6c, 69, 65, 62, 5e, 5b, 57 = LED yellow (20% to 5%)
54, ... = LED red (less than 5%)
03 01
04 Auto Link 00 (off) or 01 (on)
05 Auto Connect 00 (off) or 01 (on)
06 00
07 00
08 Main Volume 00 (0%) to ff (100%)
09 Main Mute 00 (unmuted) or 01 (muted)
0a Voicing Mode 00 (Music)
01 (Speech)
02 (Monitor)
03 (Sub)
0b Outdoor Mode 00 (off) or 01 (on)
0c Music Ducking 00 (off) or 01 (on)
0d Feedback Eliminator 00 (off) or 01 (on)
0e Custom EQ low fa (-6 dB) to ff (-1 dB), 00, 01 (+ 1 dB) to 06 (+6 dB)
0f Custom EQ high fa (-6 dB) to ff (-1 dB), 00, 01 (+ 1 dB) to 06 (+6 dB)
10 CH1 Volume 00 (0%) to ff (100%)
11 CH1 Mute 00 (unmuted) or 01 (muted)
12 00
13 CH2 Volume 00 (0%) to ff (100%)
14 CH2 Mute 00 (unmuted) or 01 (muted)
15 00
16 00
17 15
18 00

All the push-button actions (I mean the physical push buttons on the device) can be executed via the Bluetooth protocoll, except the Bluetooth button.

The physical dials (for gain and Main volume) cannot be operated via Bluetooth. 100% on the Bluetooth protocol corresponds to the respective physical dial. The volume can only be lowered(or muted completely) via Bluetooth.

Linked Mode settings (for connecting two loudspeakers) could not be tested.

Writing Values

Write at characteristic 49535343-8841-43f4-a8d4-ecbe34729bb3.

Writing Settings

Write bed103XXYYef, with XX=ID and YY=Value.
Example: bed1030a01ef sets voicing mode to Speech.

Reading Values

Listen to notifications of characteristic 49535343-1e4d-4bd9-ba61-23c647249616.

Regular Notifications

Every 600 milliseconds, a notification indicating (virtual) signal level LEDs is sent. This is message bed506XX00XX00ff00ef with XX=Main, XX=CH1, ZZ=CH2 – with values 00 (LED off) or ff (LED on = signal on this level).

Every 6 seconds, the battery state of charge (SOC) is transmitted. bed50302XXef with XX being the SOC. Values as described in the Settings Vector table.

Reading Settings

Write the command bed104ef to get the settings vector, in 2 parts.
Response 1: bed505010eXXXXXXXXXXXXXXXXXXXXXXXXXXXXef, with the payload being the settings vector with IDs 01 through 0e.
Response 2: bed5050f09XXXXXXXXXXXXXXXXXXXXXXef, with the payload being the settings vector with IDs 0f through 18.

Changed Settings

If a setting is changed via button press on the device, this is announced with a bed503XXYYef notification, with XX=ID and YY=Value.
Example: bed5030b01ef Outdoor Mode on

Other Readings

Writing bed112ef to bed115ef results in consistent answers (some consistent per session, some across sessions). These could include product ID, serial number, session IDs.

Link Mode

Command bed10aef starts link mode, command bed10bef ends it.

Status changes are announced (bed5030601ef on, bed5030600ef off) for both, Bluethooth command and button press on the device.

Not owning a second Thump GO loadspeaker, link mode could not be tested.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment