The wilulu

A radio dimmer in your hand


How to dim wireless :

  • a LED ?
  • a LED strip ?
  • a LED COB ?
  • a 12V bulb ?
  • an igniter ?
  • an electro magnet ?

But first: What is a wilulu?

A wilulu is nothing other than a dimmer.

  • A wireless dimmer
  • A miniature dimmer
  • A DC current dimmer
  • A low voltage dimmer (1 to 48V DC)
  • A dimmer that dims by the ground

wilulu en boîtier

A dimmer that holds in the hand

In this tutorial we will study:

  1. What is a wilulu made of ?
  2. dimming by the ground
  3. Maximum voltage and current
  4. How to choose between the 3 ways possible to wire the wilulu ?
  5. Calculation of the power resistor.
  6. How to control the wilulu ?
  7. Addressing a wilulu.
  8. Program a wilulu.
  9. How to change the frequency of a wilulu ?
  10. Different boxes for wilulu.
  11. How to choose batteries ?
  12. Antenna.

1.What is a wilulu made of ?

wilulu description

  • in+/in- : Through these terminals we supply the wilulu with voltage between 3 and 12V
  • out- : output ground, dimmed in PWM. To connect to the ground of your led, lamp or other ...
  • out+: direct supply
  • Mosfet: dimme up to 2,5 A or 8A with a heat sink.
  • Encoder: Assign your wilulu (fast addressing on 16 positions)
  • Led signal: signals radio reception.
  • ATtiny 84: Microcontroler.
  • ISP Port: port of programming, change the code, the frequency ...
  • Switch: Choose between ON mode and programming mode.
  • RFM12B: the radio receiver.

2.why dimming by the ground ?

The arpschuino boards are dimed in PWM by the ground. This is the basis of arpschuino, the wilulu does not depart from this rule.

Thanks to this principle, the same board can control multiples elements operating under different voltages.

3.Maximum voltage and current :

The wilulu can manage voltages up to 48v. On the other hand, the electronics of the board must be supply by a voltage between 3 and 12V.

Voltage between 3 and 12v, one power supply.

Voltage greater than 12v, 2 power supplies :
    one for the wilulu
    another one for your device, LED or other.

Maximum current (ampere) :
    2,5 amperes
    up to 8 amperes with a heat sink

4.How to choose between the 3 montages possible for the wilulu?

Mounting 1: a power supply between 3 and 12V:

Suitable for ignitor (9v) LED strips 12V, lamps 6 or 12V, motors, electromagnets ...

In this configuration, the jumper must be closed by a soldering point and a jumper is installed between in + and in-.

wilulu 9V

fireworks inflamator controlled by wilulu

wilulu 12V

LED strip controlled by wilulu

Mounting 2 : a power supply between 3 and 12V and current limiting resitor

LEDs need a current limiting resistor. You can solder it directly to the PCB of the wilulu.

See the next chapter how to choose it.

wilulu et star led

star LED controlled by wilulu

wilulu and LED COB 10w

10w COB LED controlled by wilulu

Li-ion 14500 battery holders can be soldered directly on the wilulu :

wilulu with 14500 battery holders

star LED controlled by wilulu with 14500 holders

Mounting 3 : 2 power supply, voltage greater than 12V

A COB LED, a 24v LED strip or a 24v electromagnet require a different power source than the wilulu electronics.

wilulu 24V

24v ledstrip controlled by wilulu

No more using a resistor in series with a LED 100W (32V, 3A), we will rather use current and voltage regulation devices like this one.

wilulu and 100W LED

100W LED controlled by wilulu

5.power resistor calculation :

These two formulas will allow you to calculate its resistance (in ohm) and its power (in watt):

R=(U alim-U led)/I       P=(U alim-U led)²/R

More detailed explanations are available here.

There is also severals online calculator like this one, and some smartphone applications.

 Example with a 3W LED and a li-ion battery :

For this LED 3W we have :

  • Power : 3W (not useful for calculation)
  • forward voltage : 3,15V DC
  • Current : 1 A
  • For this li-ion batterie :

  • Nominal discharge capacity: 3000MAh (not useful for calculation)
  • Power 20A (not useful for calculation, see bellow for details)
  • Nominal voltage 3,6v
  • Maximum voltage 4,2v
  • When the values can change the calculation "cautious" (for the LED),is to use the largest supply voltage.

    Calculation of resistance :

    R= ( V alim-V led ) / I

      = ( 4,2-3,15 ) / 1

      = 1,05 ohm

    In practice we take a resistance to the standard value of 1.2 ohmn.

    Calculation of the power of the resistance :

    P= ( V alim-V led )² / R

      = ( 4,2-3,15 )² / 1,2

      = 0,92 watt

    So a resistor of 1.2 ohm, 2W will guarantee that the assembly does not heat up.

    With a calculation "a little less careful", we would put a 1ohm resistance. Concretely it works, the LED shines a little harder but it heats up more and will certainly have a shorter life. Up to you...

    Here is a table to give you an idea of the resistances used according to the LEDs used. It is provided as an indication and should not prevent you from calculating the appropriate values for your assembly.




    LED type


    max forward voltage




    nominal voltage

    max voltage



    Star LED


    3.3 V

    300 mA





    3.3 ohm

    1/4 ou 1/2W

    Star LED


    3 .15 V

    1 A





    1.2 ohm

    1 ou 2W

    Star LED


    2.85 V

    1.5 A





    1 ohm

    2 ou 3W

    Star LED


    2.82 V

    3.15 A (heatsink recommended)





    0.47 ohm


    Star LED





    pack li-ion



    0.68 ohm







    pack li-ion



    1 ohm





    1.05 A


    3 X pack 12V



    3.9 ohm





    1.5 A


    3 X pack 12V



    2,7 ohm

    7W (not recommended*)




    3 A

    Use of a current regulation system*

    *For the most powerful LEDs, the use of a series resistor finds its limits. In this case it will be preferred to use current and voltage regulation devices like this.

    6.How to control the wilulu :

    Up to 66 wilulus can be controlled simultaneously.

    With a DMX lighting console :

    The wilulu is compatible with all light consoles thanks to our artepfact::transceiver. Indeed, the artifact :: transceiver works in DMX. It receives the DMX signal from the console and sends it to the wilulu via a radio signal (RF12).

    wilulu controlled in DMX with arptefact::transceiver

    With a computer :

    2 possibility :

  • DMX interface + Arptefact::transciever :
  • wilulu controlled by computer and arptefact::transceiver

  • Jeelink
  • Jeelink is not part of the aprschuino family. It is a programmable Arduino base via the Arduino Ide. Its "usb key" format makes it very convenient to send RF12 with a computer. It will be recognized by any open DMX compatible software.

    wilulu piloté par ordinateur et un jee link

    With potentiometers and arpsensorsRF :

    With 1 arpsensorsRF + 5 potentiometers. It is possible to control 5 Wilulus. No need for a lighting console ! No need for a computer !

    wilulu controlled by arpRF

    7.Addressing a wilulu.

    As seen in the chapter1. What is a wilulu made of ?, the wilulu has a 16-position rotary encoder that allows the wilulu to be manually assigned to 16 different addresses.

    rotary encoder

    But It is possible to control up to 66 Wilulus simultaneously ! But how to get 66 different addresses?

    Addressing a wilulu is done in 2 steps, 3 steps if you use more than 16 wilulus:

    1. Addressing the transmitter :
    2. The address your transmitter corresponds to the 1st wilulu. If your transmitter is addressed in 401, the addresses of your Wilulu will go from 401 to 466.

      Addressing the artefact :: transceiver can be done with rotary encoders. All the details are in the setting guide of the arptefact::transceiver.

      In the case of a jee link, it is done in the source code: in line 11 of the code emetteur_JLink_bridge_freq, (int address (1);) simply replace 1 by the address of your choice.

    3. Identifier on the rotary encoder of each wilulu :
    4. With the rotary encoder you can address the first 16 wilulus, their address will be equal to the address of the transmitter + the identifier of the wilulu.

      Let's stay in the case where the transmitter is assigned in 401:

      Transmitter address = 401 (example)

      Identifier on the rotary encoder Wilulu address
      0 401
      1 402
      2 403
      3 404
      4 405
      5 406
      6 407
      7 408
      8 409
      9 410
      A (10) 411
      B (11) 412
      C (12) 413
      D (13) 414
      E (14) 415
      F (15) 416

      please restart the wilulu to apply the change.

    5. Addressing in the wilulu source code ( +16, +32, +48, etc.)
    6. To use more than 16 different addresses will have to go in the code. See at line 58 (Wilulu_officiel code):

      // identifiant+=16;

      // means that it is a comment that has no influence on the code.

      wilulu address = transmitter address + value on the encoder.

      If we delete //: the line becomes active.


      wilulu address = transmitter address + value on the encoder + 16.


      wilulu address = transmitter address + value on the encoder + 32.


      wilulu address = transmitter address + value on the encoder + 48.


      wilulu address = transmitter address + value on the encoder + 64.

      Address of the transmitter = 401 (example)

      Rotary encoder wilulu address
      //identifiant+=16 identifiant+=16 identifiant+=32 identifiant+=48 identifiant+=64
      0 401 417 433 449 465
      1 402 418 434 450 466
      2 403 419 435 451
      3 404 420 436 452
      4 405 421 437 453
      5 406 422 438 454
      6 407 423 439 455
      7 408 424 440 456
      8 409 425 441 457
      9 410 426 442 458
      A (10) 411 427 443 459
      B (11) 412 428 444 460
      C (12) 413 429 445 461
      D (13) 414 430 446 462
      E (14) 415 431 447 463
      F (15) 416 432 448 464

      If necessary, several wilulus can of course have the same address.

    8.Program a wilulu.

    The programming of a wilulu was the subject of a previous tutorial, see here.

    9.How to change the frequency of a wilulu ?

    By the expression change the frequency , we can understand two things : change frequency band or change the fine frequency of the wilulu.

    Of course, the band and the frequency of the transmitter and the receiver must be the same.

    1. change frequency band :
    2. You will need to choose the frequency allowed in the country where you use your wilulu. Selon les législations ce sera la bande des 868mhz ou celle des 915mhz.

      The illustration below should help you, but in any case always check the legislation of the country.

      frequency band by country

      This change is done in the source code, simply replace uint8_t band = RF12_868MHZ; with uint8_t band = RF12_915MHZ; or vice versa.

    3. change the fine frequency :
    4. This is to slightly shift the transmission/reception frequency. Thus several systems can coexist, in a festival for example, you will be careful not to be on the same frequency as the neighboring show if it also uses wilulu or other radio equipment. This is also valid for HF microphones.

      In the band of 868 mhz, the usable frequencies go from 866 mhz to 870 mhz.

      In the band of 915 mhz, the usable frequencies go from 902 mhz to 918 mhz.

      If you use the artefact :: transceiver as a transmitter, choose a frequency that matches the presets.

      fréquences de l'arptefact::tranceiver

      For setting the frequency of the artefact::transceiver, see the setting guide.

      For the wilulu, but also for the arpsensorsRF or the jee link and all other cards equipped with rf12, it happens in the code. At the beginning of this code, locate the following line :

      float frequency_setting = 868.00;

      This is where you can replace 868.00 with another value between 740.00 and 870.00, with two digits after the decimal point.

      If you are in the 915mhz band, choose a value between 902.00 and 918.00.

    10.Different boxes for wilulu.

    We have designed differents 3D printed boxes, the STL files are available on the download page. We can possibly provide them on request and according to our volume of activity.

    boîtier pour wilulu

    3D printed box for wilulu

    boîtier pour wilulu et accu li-ion 14500

    3D printed box for wilulu and li-ion 14500 batterie


    3D printed box for wilulu and li-ion 18650 batterie

    11.How to choose batteries ?

    The wilulu can be used with different kinds of batteries and accumulators. In this chapter we will focus on li-ion accumulators that have many advantages in terms of capacity, performance, size and maintenance.

    Disclaimer :

    Lithium-ion technology can be dangerous. Mishandling, poor battery protection, improper charging procedure can generate combustion and/or battery explosion. The risks of fire and injury to people are not insignificant, so it is extremely important to secure all test procedures as well as the end user. It is necessary to be extremely careful especially in the presence of public. The internal combustion of a battery does not require oxygen, the use of water as extinguishing agent is prohibited because it reacts with the internal chemistry of the batteries releasing hydrogen and aggravating the reaction. Some cells can deliver up to 40 amps, the short circuit current is huge and can instantly lead to the destruction of the cell and its surrounding environment.

    Also be careful when you take the plane : the transport of such batteries in checked luggage is prohibited, you must take them with you, in a apropriate box. The transported power is then limited to 100W / h which represents 7 or 8 batteries 18650.

    being aware of this ...

    • The batteries :
    • The Li-ion primary cell with 3.6 or 3.7V nominal value can in most cases reach 4.2V under maximum load, the charging voltage must never exceed this value.

    • Brands, quality :
    • It is important to avoid no name batteries and unknown brands,with fake specification , a reduced number of cycles and whose capacity values ​​are false.

      The recommended brands are: LG, Sony, Samsung, Sanyo ...

      Maximum capacity of the technology for a typical battery :

          18650 : 3500 mAh

          14500 : 850 à 950 mAh

      The values ​​given for 1 cell and may vary, these are possible maximum values. Any superior capacity claimed by a seller or manufacturer will certainly be untrue. For an assembly of several cells, the capacity will be the addition of the capacity of each cells.

    • Protection :
    • Protective measures are necessary to use Li ion batteries:

      For transport, place the battery packs in a plastic box to prevent accidental short circuits. Especially do not put them in the pocket with keys or something like that ... Avoid shocks.

      In discharge: Protection against short circuits.

      Limiting the output current, see chapter Calculation of the power resistor.

      Protection against deep discharge (a battery discharged under its minimum value may be unusable, most smart chargers will not detect them correctly). Therefore, from version 1.0.6 of the arpschuino core, wilulu goes to sleep mode if the supply voltage drops below 2.9v.

    • charging :
    • Li-ion batteries are characterized by the absence of memory effect. You do not have to wait for it to be fully unloaded to recharge.

      Always use a specialized charger. We use this one for example.

      Warning: no charge in strong heat!

      Make a full charge of the batteries every 3 months.

      Make a full charge after long storage.

    • The battery pack :
    • The 3.7v cells are perfect for single LEDs that have a voltage around 3V, for higher voltages we recommend using protected battery packs. Packs of 3 elements like this one will be perfect for 12V LED ribbons for example. Choose models sold with the matching charger.


    The wilulu antenna is a simple copper wire whose length is that of a quarter wave. That is 82mm for 868mhz and 78mm for 915mhz. In practice, a wire of about 8cm will be suitable to ensure a range of about 100m for the two frequency bands.

    Without antenna, the wululu will work at a short distance but the radio receiver will heat up which can damage it in the long run. To avoid !

    The reception is not very good when the wilulu is placed on the ground, especially for long distances.. Raising it a little improves things !

    The radio will not pass through a metal case ! No problem with plastic box.

    From the wiluluR2, the board can be provided with the option U.FL connector for an external antenna. An u.fl>SMA cable and an SMA 868 / 915mhz antenna are also available.


    This tutorial is a bit long because we tried to be as complete as possible. This tutorial is a bit long because we are able to complete it. But in fact using wilulu is very easy !

    In case of difficulties, do not hesitate to ask questions on the arpschuino forum .