The perfect Remote, Programmable, Controller for interactive LED strips. Part 2 - Controller Configuration, Connections and Operation

Boris Landoni

Part 1 - Specification and Schematic


The receiver provides for the control of the two channels by a 433 MHz remote control with MM53200/Holtek HT12 encoding or a compatible one. Each channel is controlled by two buttons (also of distinct transmitters), hence  to manage both channels four buttons are needed, i.e. a four-channel radio control transmitter or two  two-channel transmitters, one used to control the brightness of the warm light and one for the control of cold one.

For example, for channel 1 must be recorded a button for the UP function and one for the DOWN function; the same is true for the second channel. The two UP and DOWN functions allow respectively to increase and decrease the brightness.

In the case of four-channel transmitter TX3750-4CS, we recommend to assign the left buttons to the OUT1 channel and the right ones to OUT2. Furthermore, in order to make the control more intuitive, it is better that the buttons at the top left and right correspond to the UP functions and those at the bottom to DOWN functions of the respective channels. It is understood that, as the system learns separately  the codes for each function of each channel, you can also chose a different order for the buttons.

four-channel transmitter TX3750-4CS
Figure 5. 4 channel RF transmitters with SAW
filter oscillator.

With regards to the normal operation mode i.e.  what you get when the first 4 DIP  are set to Off, the unit controls the brightness according to the radio commands given by the TX handheld.  In this case, a short press (less than one second) of the button of the remote control, either UP or DOWN, allows to turn off or turn on the respective output based on the current brightness: so if the LED strip is turned on, by pressing one of two buttons of the channel,  the strip itself turns off and pressing it again, it turns on again. If you want to adjust the brightness, press and hold the button for longer than a second, the original brightness will be automatically changed  step by step, until it reaches the maximum or minimum brightness.

When an RF signal belonging to the accepted coding is received, the LED LD1 will light emitting short flashes to indicate the reception.

Each output has a LED (LD2 and LD3) that follows the status of the dimmer, so it can be useful to verify operation without any LED strips connected. The red LED is connected exactly to the output, so if the lights doesn’t light the mosfet might be burnt or the LED might have a reverse polarity.

The unit provides some settings of the operating mode, accessible  via a 6-way  dip-switch through which you can enter in the memorization procedure or enable/disable the resume function in case of blackout for the desired channel. The correspondence between the dips and functions is explicated in table.

Table 1. Correspondence between the dips and functions
DIP  State  Function
1 ON Recording  key“Up”, output OUT1
2 ON Recording  key“Down”, output OUT1
3 ON Recording  key“Up”, output OUT2
4 ON Recording  key“Down” output OUT2
5 ON Restore active on, output OUT1
6 ON Restore active on, output OUT2

To be able to store, for example, the TX button on a remote control and link it to the increase of brightness (UP) of the output OUT1 (brightness control of warm white), you must bring DIP 1 on ON (leave the DIP2, DIP3, DIP4  on Off): at this point the green LED LD1 will light up continuously. With the LED continuously lit, press the button you want to link and release it when the green LED will begin to flash, indicating that the recording has been correctly done. Recording a code will overwrite any previously recorded code. The same procedure must be carried out for the DIP2, DIP3 and DIP4 which allows to learn the codes assigned to the keys 2, 3, 4 of the radio remote control, i.e. those you who want to associate with the remaining UP and DOWN functions.

If you want to remove a button from the memory you can do both deleting all the buttons from the memory, or just the one you want. To delete, turn off the power, then bring to ON the one of the 4 DIP switches associated with the button whose code you want to remove (or even more than a DIP together, if you want to cancel many codes at once) then give power to the board. Once the circuit is powered, the LD1 LED will remain lit for about 2 seconds to indicate the cancellation of the button from the memory; after that the device will boot normally. When the circuit will enter in the normal operation mode, you must open the dip that you closed – disconnect the power supply  then reopen the dip and, after at least ten seconds, give power again to the circuit.

Note that normally, when the controller/receiver is powered in “normal power” (i.e. with the first four DIP on Off, i.e. open), the LED LD1 will emit a series of flashes to indicate that the system starting correctly.

We conclude with DIP5 and DIP6, which allow to set the resume function respectively on the first and second output; resume means that in the event of power failure, when the circuits restarts, outputs are brought back to what it was before the power failure. This function is obtained by simply saving in a special area of the EEPROM of the PIC16F876A the status of each output whenever it is changed remotely, via the transmitter of the radio control. When it turns on again, after the initialization of the I/O, the main program of the microcontroller goes to check if the EEPROM has the restoration function flag on and, if so, looks for the data regarding the settings of the duty-cycle of the PWM and then resets the duty cycle as written in the memory. If it’s not the case (no resume function) it starts with the default value of 50%.

Remember that the resume function is activated if the corresponding DIP is set to On.


Remember that to “+” and “-“ PWR you must apply power drawn by a power supply (a switching is fine, also because it has a much higher return than a linear one, whose cleanliness and qualities of the voltage supply, in this particular application, are pretty useless…) capable of delivering 12 to 24 Vcc (depending on what is the rated voltage of the LED strips you used) and a current of 4 A (or less, depending on the absorption of the LED strip used) .

The strip must be connected to the outputs OUT1 and OUT2 making sure that the common positive (it is usually the red wire) goes to the “+ “ side of the terminal between OUT1 or OUT2 and that the other two wires are connected to the “-“  of the terminal of the OUT1 and OUT 2, recalling that the one corresponding to the warm light LEDs goes on “-“ of OUT1, while that of cold light LEDs must end on OUT2. If you reverse these two wires, the buttons of the OUT1 channel will control OUT2 and vice versa.

The connection described applies to the strip used in our tests, which has three wires; but if you find one with  four, i.e. with the “+” and “-“ different for the warm light and cold light LED strips of LED, connect the “+” and “-“ to the corresponding terminals, separately.

We conclude by recalling that the circuit can also control groups of LEDs put together at will in a DIY fashion. Remember, however, the available voltage (so that the power supply) and bear in mind that the voltage fall on a white LED at full brightness exceeds 4 volts.  With 12 V you can lit two LEDs in series (the rest should fall on the MOSFET and on the series resistor that will be connected). Otherwise with 13 V you can turn on 3 LEDS in series (always interposing a resistance calculated on the current in the LEDs) and with 24 V you will light up 5 (with the usual series resistance).

In addition, you can also connect more than two LED strips: it depends on their absorption; the important thing is that they don’t need more than a total of 4 amps (2 A for warm white and the same for cool white).


Source Code (PICBasic Pro) - download

You may have to register before you can post comments and get full access to forum.
User Name