Using 2.4G Wireless receiver/transceiver to control arduino with remote control

Hi there,

since my last topic didn’t really get any answers, I came up with a new idea.
First of all, some background information about the current situation and what I want to do:
I have a LED ceiling light that can be controlled via a 2.4G RF remote control. The remote supports controlling multiple lights so now I want to use it for controlling my LED cabinet lighting as well.

My first idea was to find and buy the same LED driver that is currently used in my ceiling light and use it for the cabinet lighting as well. However this does not work because the cabinet lighting uses a 12V 1.25A constant voltage driver while the driver of my ceiling light has an output of 30-43V / 350mA and is a constant current driver.

The second idea was suggested to me by someone else and required using the 2.4G LED driver to power an arduino which would then close the circuit of the cabinet lighting via a relay board. However since I do not know if it’s actually possible to power an arduino with a constant current LED driver, I’d rather not do this.

Now my new idea is to use an arduino with a 2.4G wireless receiver or transceiver module to listen for the commands from the remote control and then turn the cabined lighting on or off depending on the command it received. Please check the attachments for more information about the 2.4G remote control that I use (ignore the color temperature and dimming stuff for now because I mainly just want to be able to turn the light on and off). It transmits between 2400MHz and 2483.5MHz and uses GFSK modulation. After some research I found that there are a few different modules I could probably use, such as the nRF24L01.
I do not really worry much about the software developing part of this on the arduino since I do software dev for a living and from the examples I’ve seen so far it does not seem very complicated in general. However I never owned an arduino so I don’t have any experience with it yet. The part that I understand the least is the hardware side of things because I have a very basic and limited knowledge of electronics and physics.

I can image that it might be a bit tricky to understand what commands the remote is sending, what channels it uses and how it works in general so I’d like to ask if anyone out there already has some experience with similar projects and could help me out a bit to get started.

Currently I still have many unanswered questions that prevent me from making progress on this such as:

  • What are the differences between the different 2.4G modules available/compatible with an arduino? Do I need any specific 2.4G module for my project or would it work with basically any of those modules?
  • How can I figure out what commands the remote control has and how they look like? I’ve heard somewhere that normally you would open the remote up, check what chip(s) it uses and then continue from there but I have no idea what kind of information you would get from knowing the used chip(s).
  • I’ve seen that there are many different arduino boards out there but which one would be the best for my project?

Could anyone help me out here?
Also, if you have a better idea for how I could control my cabinet lighting with the 2.4G remote then do not hesitate to tell me about it. I’m always open for alternative solutions!

Thanks a lot in advance!

2.4G Remote Control Using Manual.pdf (170 KB)

nRF24 modules are designed to communicate with othe nRF24 modules.

If your existing wireless control system uses nRF24L01+ modules then it may be possible to build an Arduino controlled nRF24 that could communicate with it. However unless you have the detailed spec for the wireless protocol it would IMHO be next to impossible. Even with the spec it could be very difficult.

It may be simpler to bin the existing wireless receiver and build a complete system using Arduinos.

This Simple nRF24L01+ Tutorial should give you a sense of how nRF24 modules are used.

Another thought is whether an Arduino could be made to control your existing wireless transmitter - that way you would not be interfering with the existing wireless communication.

...R

Robin2:
nRF24 modules are designed to communicate with othe nRF24 modules.

If your existing wireless control system uses nRF24L01+ modules then it may be possible to build an Arduino controlled nRF24 that could communicate with it. However unless you have the detailed spec for the wireless protocol it would IMHO be next to impossible. Even with the spec it could be very difficult.

It may be simpler to bin the existing wireless receiver and build a complete system using Arduinos.

This Simple nRF24L01+ Tutorial should give you a sense of how nRF24 modules are used.

Another thought is whether an Arduino could be made to control your existing wireless transmitter - that way you would not be interfering with the existing wireless communication.

...R

What exactly means that they are designed to communicate with other nRF24 modules? What prevents them from communicating with something else that also uses 2.4G and GFSK modulation?
Also, shouldn't it be possible to analyze what the remote control sends and figure out how the protocol works or why do you think that it is absolutely necessary to have the spec for it? I don't know how complex such a protocol might be but if it behaves in a certain way then I don't see why it would be impossible to understand how it works. At the end of the day, isn't it just sending binary data that I could read and analyze?

Chrissi1001:
What exactly means that they are designed to communicate with other nRF24 modules? What prevents them from communicating with something else that also uses 2.4G and GFSK modulation?
Also, shouldn't it be possible to analyze what the remote control sends and figure out how the protocol works or why do you think that it is absolutely necessary to have the spec for it? I don't know how complex such a protocol might be but if it behaves in a certain way then I don't see why it would be impossible to understand how it works. At the end of the day, isn't it just sending binary data that I could read and analyze?

I would be inclined to accept what @Robin2 says.

Your making an (incorrect) assumption that the nRF24 (or other) device can receive data in a raw binary format. That is most often not the case, such devices send data in a structurted packet format, with different headers, addressing and status bytes etc. Whilst this might be considered 'binary' data a lot of devices are not able to provide the raw binary data for you to analyze.

srnet:
I would be inclined to accept what @Robin2 says.

Your making an (incorrect) assumption that the nRF24 (or other) device can receive data in a raw binary format. That is most often not the case, such devices send data in a structurted packet format, with different headers, addressing and status bytes etc. Whilst this might be considered 'binary' data a lot of devices are not able to provide the raw binary data for you to analyze.

The thing is that I feel like everyone is just telling me "This is too complicated, this won't work and don't even try it" but what I actually want to do is understand how it works, what data is being sent, what module I have to use and how the protocol works.
I have a lot of experience with reverse engineering software and I have analyzed all kinds of data structures before so I do have a broad idea of what I have to expect. However, what I have no clue about is what differences there are between different types of 2.4G modules that could eventually make them not suitable for what I want to do.
I know that there is not simply some binary data sent from the remote to the receiver. Obviously there is something that converts the data into a signal that the remote can send and then there is something in the receiver that turns the signal back into the binary data. What I don't know is if there is any further processing of the data involved like (as you said) different packet formats that are built directly into the module so that it would be incompatible with another module and so on.
But even if that is the case, is there no piece of hardware that does not do this and instead just provides me the raw data that it received?
I have so many ideas and questions about this and answers like what @Robin2 said simply don't satisfy my desire to understand this in detail.
Who knows, maybe what I want to do is indeed impossible but if it is then I want to know exactly what is the reason for that.

Chrissi1001:
The thing is that I feel like everyone is just telling me "This is too complicated, this won't work and don't even try it" but what I actually want to do is understand how it works, what data is being sent, what module I have to use and how the protocol works.
I have a lot of experience with reverse engineering software and I have analyzed all kinds of data structures before so I do have a broad idea of what I have to expect. However, what I have no clue about is what differences there are between different types of 2.4G modules that could eventually make them not suitable for what I want to do.

I have some sympathy for that point of view.

However if you want to reverse-engineer a 2.4GHz wireless system then you will need some very sophisticated equipment that is capable of viewing data at that high frequency. IMHO that is why, in practice, it is too complicated. How long would it take you to learn another language just by listening to tape-recordings of people speaking it? Then think about how you would do so if the loudspeaker on your tape-player was broken. Without sophisticated 2.4GHz diagnostic equipment that would be your situation. Even with the diagnostic equipment it may take more time than the project is worth.

You can study the Nordic datasheet for their nRF24L01+ transceiver and get a sense of its intended usage and capabilities. But it does not document the fine detail of how it generates and deciphers its wireless messages.

...R

Robin2:
I have some sympathy for that point of view.

However if you want to reverse-engineer a 2.4GHz wireless system then you will need some very sophisticated equipment that is capable of viewing data at that high frequency. IMHO that is why, in practice, it is too complicated. How long would it take you to learn another language just by listening to tape-recordings of people speaking it? Then think about how you would do so if the loudspeaker on your tape-player was broken. Without sophisticated 2.4GHz diagnostic equipment that would be your situation. Even with the diagnostic equipment it may take more time than the project is worth.

You can study the Nordic datasheet for their nRF24L01+ transceiver and get a sense of its intended usage and capabilities. But it does not document the fine detail of how it generates and deciphers its wireless messages.

...R

Well, I do understand what you mean, but isn't there still a difference compared to your language example because there is actually a lot of information available about 2.4G communication, GFSK and so on? It's not like I would have to 100% figure out everything by myself.
Btw, I just opened up the remote control and I was quite surprised because the board/circuit in it actually seems somewhat simple and straightforward. It uses a TLSR8368EP16 from Telink Semiconductor which after some research seems to be a SoC solution that has a 2.4GHz RF transceiver in it (Datasheet: http://wiki.telink-semi.cn/doc/ds/DS_TLSR8368-E_Datasheet%20for%20Telink%202.4GHz%20RF%20System-On-Chip%20Solution%20TLSR8368.pdf).
Other than that there is not really much else in it besides of a few resistors, capacitors, a LED and a crystal oscillator that has "JDL12,000" written on it.

Being a software guy I'd probably try to read the program from the OTP on the chip and try to reverse engineer that instead of analyzing the data that was sent by the remote. However, without the proper equipment this is probably not possible and I do not have such equipment.

Any other ideas?

Chrissi1001:
Well, I do understand what you mean, but isn't there still a difference compared to your language example because there is actually a lot of information available about 2.4G communication, GFSK and so on?.

The fact that you are asking questions here rather undermines that assertion :slight_smile: :slight_smile:
And analogies are intended to be illustrative rather than precise.

Btw, I just opened up the remote control and I was quite surprised because the board/circuit in it actually seems somewhat simple and straightforward. It uses a TLSR8368EP16 from Telink Semiconductor which after some research seems to be a SoC solution that has a 2.4GHz RF transceiver in it (Datasheet: http://wiki.telink-semi.cn/doc/ds/DS_TLSR8368-E_Datasheet%20for%20Telink%202.4GHz%20RF%20System-On-Chip%20Solution%20TLSR8368.pdf).

Then you know a helluva lot more than I do. I doubt very much that that wireless can talk to an nRF24

...R