Control a cheap BLE RGB LED strip controller!
I just got 1.7$ 12V BLE RGB LED strip controller from AliExpress Shop4661053 Store!
The QR code links to an unofficial StripV5.0.1.apk download page.
I found official auraLED app from google play to work!
I read Uri Shaked- Reverse Engineering a Bluetooth Lightbulb and got inspired!
After reverse engineering some commands I found that kquinsland- JACKYLED-BLE-RGB-LED-Strip-controller worked on a similar controller!
Anyway I'll write here what I found- it is still WIP.
My plan is to buy 10+ more units and control them all via a single ESP32 board!
By sniffing ble packets while pressing buttons on the auraLED app,
I reverse engineered most of my controller ble commands.
I was too lazy for the timer commands stuff :)
The app seems to putting garbage on non used bytes of the 9 bytes packet.
Here is an example packet captured while pressing on a green button:
| byte | description |
|---|---|
7e |
command start |
07 |
don't care (so I use 0 instad) |
05 |
command id (this case set_color) |
03 |
command sub-id (this case rgb color) |
00 |
command arg1 (this case red value) |
FF |
command arg2 (this case green value) |
00 |
command arg3 (this case blue value) |
00 |
don't care (so I use 0 instad) |
ef |
command end |
I use the bluetooth-le-explorer open source microsoft app to send commands by simple copy-paste for now.
Simply connect to my controller "ELK-BLEDOM" (be:ff:f0:01:04:a8),
and write the hex command bytes to it's only writeable attribute: 0000fff0-0000-1000-8000-00805f9b34fb.
| states | description |
|---|---|
on |
LEDs show current mode colors |
off |
LEDs are off (current mode is saved) |
| modes | description |
|---|---|
mode_grayscale |
can set grayscale from black to full white |
mode_temperature |
can set brightness and temperature(cold to warm white) |
mode_effect |
auto color change, can set patterns, brightness and speed |
mode_dynamic |
? (maybe on-board mic is needed -mine just shows last color) |
mode_rgb |
can set rgb values and brightness |
7e 00 01 brightness 00 00 00 00 ef
7e00010a00000000ef 10%
7e00013200000000ef 50%
7e00016400000000ef 100%
brightness: 0-100 (0x00-0x64)
mode_effect: jump gradient blink
mode_grayscale
mode_dynamic
7e 00 02 speed 00 00 00 00 ef
7e00020000000000ef 0
7e00020900000000ef 9
7e00026400000000ef 100
speed: 0-100 (0x00-0x64)
7e 00 03 00 01 00 00 00 ef
7e00030001000000ef
will show last grayscale color
7e 00 03 temperature 02 00 00 00 ef
7e00038002000000ef cold white
7e00038502000000ef natural white
7e00038a02000000ef warm white
temperature: 128-138 (0x80-0x8a)
7e 00 03 effect 03 00 00 00 ef
7e00038703000000ef jump_rgb
7e00039203000000ef gradient_rg
7e00039503000000ef blink_rgbycmw
| effect | description |
|---|---|
0x80 |
r (red) |
0x81 |
g (green) |
0x82 |
b (blue) |
0x83 |
y (yellow) |
0x84 |
c (cyan) |
0x85 |
m (magenta) |
0x86 |
w (white) |
0x87 |
jump_rgb |
0x88 |
jump_rgbycmw |
0x89 |
gradient_rgb |
0x8a |
gradient_rgbycmw |
0x8b |
gradient_r |
0x8c |
gradient_g |
0x8d |
gradient_b |
0x8e |
gradient_y |
0x8f |
gradient_c |
0x90 |
gradient_m |
0x91 |
gradient_w |
0x92 |
gradient_rg |
0x93 |
gradient_rb |
0x94 |
gradient_gb |
0x95 |
blink_rgbycmw |
0x96 |
blink_r |
0x97 |
blink_g |
0x98 |
blink_b |
0x99 |
blink_y |
0x9a |
blink_c |
0x9b |
blink_m |
0x9c |
blink_w |
7e 00 03 val 04 00 00 00 00 ef
7e00030004000000ef val 0
Did not do anything on my controller (just freeze the current color).
7e 00 04 is_on 00 00 00 00 ef
7e00040000000000ef off
7e00040100000000ef on
7e 00 05 01 grayscale 00 00 00 ef
7e00050100000000ef black
7e00050132000000ef gray
7e00050164000000ef white
grayscale: 0-100 (0x00-0x64)
7e 00 05 02 temperature 00 00 00 ef
7e00050200000000ef cold
7e00050232000000ef natural
7e00050264000000ef warm
temperature: 0-100 (0x00-0x64)
7e 00 05 03 r g b 00 ef
7e000503ff000000ef red
7e00050300ff0000ef green
7e0005030000ff00ef blue
r, g, b: 0-255 (0x00-0xff)
7e 00 06 val 00 00 00 00 ef
7e00060000000000ef val 0
Did not do anything on my controller.
7e 00 07 sensitivity 00 00 00 00 ef
7e00070000000000ef sensitivity 0
Did not do anything on my controller.
7e 00 08 rgb_order 00 00 00 00 ef
7e00080100000000ef rgb
rgb_order: 1:rgb 2:rbg 3:grb 4:gbr 5:brg 6:bgr
Did not do anything on my controller.
7e 00 81 c1 c2 c3 00 00 ef
7e00810102030000ef rgb
7e00810302010000ef bgr
c1 c2 c3: (1-3) use each value once!
24C02C: 2K 5V EEPROM.
HT7533: 100mA 3.3V Low Power LDO.
crystal: Seems 12MHz.
XORB 18: Seems like N-Channel Mosfet.
?: BLE SoC...
A.E.TECH


