Are you sure , I was thinking one remote can be paired on many light.
Power on light and push A, B or C in the first 3 sec, then remote must be paired to the light.
Nice, I didn’t know they were programmable.
Does it mean communication has to be bidirectional between remote and lamp ?
Not sure, I assume it’s in register mode. If it received x time the same frame at boot, it save the remote id or something like that. like basic 433Mhz remote
Nice infos !
I have been playing with remote control programming according to the user manual to try to understand the system.
Setup :
- L1 : one LED lamp
- R1 : remote control paired from factory
- R2 : remote from another LED lamp
Convention :
- R1-A means key A of remote control R1
- R2-B means key B of remote control R2
- etc.
Observations :
- Pairing L1 with R1-B : L1 cannot be controlled anymore with R1-A.
- Pairing L1 with R1-A : L1 cannot be controlled anymore with R1-B (back to initial setup).
- Pairing L1 with R2-B : L1 cannot be controlled anymore with R1-A.
- Pairing L1 with R1-A : L1 cannot be controlled anymore with R2-B (back to initial setup).
Next steps :
It makes me believe that communication is unidirectional. My next steps will be to capture more oscilloscope traces to try to understand the frame format.
I believe an intermediate common remote control solution would be use one original remote control together with an ESP8266 or ESP32 to generate the correct IDs for each lamp to be controlled.
The ESP8266 o ESP32 could drive the RF stage in place of the logic stage in the electronic board.
Example illustration (proper wire remains to be identified) :
I think we can replace the RF block once your a re able to replace the logic block with an ESP.
RF Specification of the remote seems handle by NRF24L01 or CC2500.
Doing some (tiny) progress : I have been making an approach by the other end, ie. the RF signal itself.
All my Gdansk remote controllers emit on 2.407 GHz (Channel 7 on nRF24L01 ?), this has been observed with HackRF One device :
Now I am trying to get familiar with GNU Radio to have a closer look at the RF signal and try to demodulate it (GFSK).
2023-04-02 : added baseband signal :
It looks like there are two frequencies (FSK), now I have to transform this into bits.
I have found the signal on 2.427 GHz as well, a little stronger and “cleaner”.
Any solutions yet? I’m thinking of buying these led panels, but not sure if they don’t work with home assistant
Hello, sorry for the long inactivity.
I am now trying to attack the problem on the receiver side, so tonight I have open the panel electronic box :
There seems to be a small PCB for the receiver / controler part :
- PWM1-Y - PWM top control Yellow light ?
- PWM2-W - PWM to control White light ?
- 3V3 - 3.3 volt supply
- Gnd - 0V
White insulated electrical wire : might be the antenna.
I suspect the PWM signals control the LEDs : 0% = light off, 100% = full luminosity.
After seeing this, I now have the strong desire to try to replace this small PCB by an ESP32 running with ESPHome
I will keep you informed about my findings.
Confirmed : I have un-soldered the small PCB from the rest of the main board and powered it with 3.3V :
Oscilloscope setup :
- Channel 1 is PWM2-W cold light
- Channel 2 is PWM1-Y warm light
- Channel M (Math) is Channel 1 + Channel 2
PWM signal frequency is 15.5 kHz.
When light is turned off with remote, both PWM channels are at 0V.
Here are different setups configured with original remote control with the screenshot of the signals displayed by the oscilloscope:
Luminosity at 50%
Full cold :
Half cold/warm :
Full warm :
Luminosity at 90%
Full cold :
Half cold/warm :
Full warm :
Next step : recreate signals with an ESP32 (or ESP8266) to drive the LEDs.
Possible ESPHome components :
Made some progress this morning, I connected an ESP32 D1 in place of the original PCB :
- 3V3 is actually 3.4V, going to +VCC of ESP32 D1 VCC
- Gnd to Gnd
- PWM1-W to GPIO21
- PWM1-Y to GPIO22
Powered the lamp on…ESP keeps on rebooting. I believe it draws too much power from the supply sized for the original PCB.
I tried with an external source and it works fine. Using the following setup in ESPHome device:
output:
- platform: ledc
pin: GPIO21
id: output_cold
frequency: 15500
- platform: ledc
pin: GPIO22
id: output_warm
frequency: 15500
light:
- platform: cwww
name: "Lumière établi"
cold_white: output_cold
warm_white: output_warm
cold_white_color_temperature: 6536 K
warm_white_color_temperature: 2000 K
constant_brightness: true
restore_mode: RESTORE_DEFAULT_OFF
I will have to find a suitable power source from the main PCB. Edit : After testing around, I have found no easy source to tap
A dedicated power supply would be needed (for the test I tried with a single Li-Ion cell, directly soldered to ESP32). Maybe a power supply module like this one could do the trick : Hi-Link HLK-PM03.
Be careful when hooking or playing with things on mains voltage.
Control component in Home Assistant :
Nice catch ! do you think a capacitor between 3.3v and GND can do to trick to avoid esp32 reboot ?
@Ben0it I don’t know if you have these in stock, but it seems esp8266 (ESP12) consume less power than ESP32 (basic one).
I have read that ESP32-C3 seems to best choice for power consumption, do you think it can work without external power ?
Or maybe Zigbee, CC2530 https://fr.aliexpress.com/item/1005003103244824.html
with this firmware LED edition firmware – Zigbee Hobbyist. Rock Pi 4 SBC
Yes, I tried with 10 µF, 470 µF and 4700 µF chemical capacitors in parallel to the power supply of the ESP32.
I even inserted a diode (1N4001) in series to prevent current from flowing back from ESP to main PCB : same result, power supply drops down too much a couple of ms and comes back, thus resetting the ESP32 every second or so.
Thanks for the hints, I do have some spare ESP8266 in stock, I will try this weekend with these.
Thanks for the pointers, the Zigbee modules seems interesting, I will search information about them.
An alternative I have been searching too was a complete CWW module, but I didn’t find something powerful enough and/or powered with mains (240 VAC), This kind of module. They tend to be rather expensive too.
Hello,
I also bought such a module (it was 50€ for the 120x30). I thought it was IR since the remote has a nice LED that is not visible when clicking, but well, I was wrong. Thanks @Benoit for all your reverse engineering!
When dismantling the RF module, did you have to unsolder it? I’m not sure whether it’s just a connector, or if it’s soldered.
For reference, Integrating LED light that comes with generic with 2.4GHz RF remote/controller - #10 by thezfunk seem to be using the same controller as us
I’m not sure which go I’ll way. The EspHome is one way, but the power issue is pretty annoying. I’m more a software guy, so I might try the software way, but I’m not sure what kind of low-power 2.4G emitter I could use…
Would you be able to know how much power you can get out of that 3.3V rail to better target what device to use?
Thanks for all your work
Judging by the YouTube channel of colasmart, which seems like the “true” manufacturer of the remote, the remote is at least 7 years old
I have not managed to replicate this, I’ve only seen the signal at 2406.5675Mhz-2407.5313Mhz
I have managed to replay the signal for the lamp, I used the one at ~2406.5675Mhz. I’ll try to demodulate it and reverse engineer the protocol.