Make Your Own Remote Control LED Light

Want to control the colors in your home? Sure, you could just buy a Philips Hue bulb, but where’s the hacking fun in that? [Dario] agrees: he has written a tutorial on building an Arduino-controlled RGB light system that plugs into a standard light socket.

[Dario] is using a bulb from Automethion in Italy, an Arduino, and an ESP8266 shield that sends signals to the bulb. The Arduino and shield are running the Souliss framework that provides smart home features and runs on a number of platforms, so it is a good open platform for creating your own smart home apps, and would be easy to expand. We have also seen a few other projects that use the ESP8266 to control an RGB strip, but this is the first one that uses a bulb that plugs into a standard light socket.

At the moment, Automethion is the only company selling this light, but I hope that others will sell similar products soon.

31 thoughts on “Make Your Own Remote Control LED Light

  1. Came here hoping to see how the guy had built a complete remote controlled led bulb that fits a standard light fitting only to find he didn’t. Maybe article should just be called ‘Guy buys a kit and gets it working!’

    1. That isn’t a kit either, is a bulb that is controlled via an Arduino shield. Over this is running a framework (Souliss) that is comparable to ZigBee, doesn’t sound good? Isn’t just a bulb controlled from a smartphone, is into a networked system of Arduino boards.

      If you love solder than typing, with other guys in the Souliss community we are modding a Lexman bulb to include an ESP8266 inside, that will also run Souliss but will not require a shield. Have a read (https://groups.google.com/forum/#!topic/souliss-it/Ioqm7-hqV4g) there are nice pictures of what’s inside and some measurement to get what to remove and where include the ESP8266 (is quite simple). You will need Google Translator.

    2. I’m that guy :D

      Isn’t a kit either, because you are not required to solder nothing, only screw the bulb in your lamp. But this lamps runs a framework that is basically a ZigBee-like on Arduino (AVR and ESP8266), so isn’t just a smartphone controlled lamp, because is included into a network of other boards.

      In any case, if you love soldering instead of typing code lines, maybe you may have interest in this (https://groups.google.com/forum/#!topic/souliss-it/Ioqm7-hqV4g) discussion with other people in the Souliss community. Basically this is a teardown of a Lexman with the goal of include inside an ESP8266, without a shield in between. You will need Google Translator, but it contains a lot of high-res pictures.

  2. Heh, did that already, without kit, even worked out I was sending my pulses wrong – first time I’d actually really used my oscilliscope – properly :D

    Now if only I could find something to actually do with them… With electricity prices so high I generally don’t just leave lights on .

  3. Wonder if that lamp is the same as the limitless led/ Mi Light ones, sure looks the same.

    Ive found their gateway is hopeless on its wifi side so if this is compatible then it is of some interest.

    1. I don’t know if the Authometion LYT shares the same hardware with Mi Light and other similar lamps, sure they use a different electronic onboard, because is an ATmega88 and has an its own protocol.

      As example, you can query the LYT bulbs to get their state. You cannot do this with Mi Light.

    2. This is Pietro from Authometion. The shape of the bulb is very similar to Mi Light / Limitless (it is the same product only labeled in different way) because we use the same chinese supplier. As Veseo already wrote you we use an ATMega88 with our protocol so you cannot use to control other bulbs. But I have a good new for you because we almost finish the hacking of the Mi Light / Limitless protocol and within september we will release a new library for our LYT/WiFi shield that will allow you to control also these bulbs!

      1. That will be good since the limits of the gateway with how few lamps it can control are quite annoying. would be keen to get some details from you if you do that. There is some code on the limiteless site about controlling them but my workshop is packed up waiting on some builders to re-clad it so I havent even bothered to look at their code yet since I will probably forget it all by the time I get stuff unpacked and am ready to get soldering.

        Good news tho is the the replacement gateway from limitless seems to have sorted out the wifi dropping issues I had with the older ones. Ive had one running for about a week now with the DHCP lease set to an hour and its not disappeared from the client table, and has worked every time I have started the app up and pressed something.

    1. Not exactly – I keep my bulbs at a pleasant slightly yellow/orange ting most of the time. Until my parents come and complain things arnt bright enough, then they goto full white.

    2. Generally you get a color, that in my case also isn’t white but tends to warm yellow/white, and you use it for most of that time.

      What I fell nice here, is that you can interact easily with the lamp, because you just need an Arduino with it. Want to have an old-fashion hand clamp control? Want to “follow” a movie with lights? Want you link your light to your mood? You can do it your self and you generally can’t with other products.

  4. In marginally related news LIFX finally published the protocol to their bulbs;
    http://lan.developer.lifx.com/

    They previously only published source code for their APIs- but didn’t keep it upto date with their protocol updates and thus lost compatibility for a almost a year. (on Android at least). Not really the best support there for developers.
    Still, the hardware is very nice, and their “just put a wifi router on each bulb” is overkill but results in arguably the easiest to manage solution for the end user as theres no hardware needed other then the bulb.

    1. Their bulb are quite big and generally doesn’t fit into a regular lamp. Nowadays size of devices is quite small, we are building an our own “lifx” just modding an RF LED bulb and inserting an ESP8266 inside.
      https://groups.google.com/forum/#!topic/souliss-it/Ioqm7-hqV4g

      Is quite easy, on board there is 3v3 (even if the linear regulator gets an high voltage value as input, this give a big heat loss) and transistors to control the leds, desoldering the actual IC and inserting an ESP8266 should be fine.

      Just waiting for the ESP8266 to came.

    1. Hi Guy,

      it is incredible that there is always something to complain. We spent more than one year to make our own bulb with ATMega88 inside and an Arduino compatible shield to control it. This is the only Arduino compatible bulb all over the world. If you read my previous answer you can see also that we are working to release within september a new Arduino library that will allow you to control Mi Light/Limitless bulbs directly using our shield. Moreover the Souliss framework give you the possibility to create a network like Zigbee completely Open source. Is not enough?

  5. Hi Pietro, oh yeah you are right that does sound good! it is opensource and you will release a new library for Arduino that will allow milight/limitlessled control? I will have to get an arduino, your shield and some of your bulbs to try it out. also, did you read the hackaday article that did this a few months ago?

  6. @Pietro there are some PL1176 commands on their site scroll down near the bottom of the page http://www.limitlessled.com/dev/

    Send 40 times: Register07: Channel 9 2411MHz (0x01 0x09)
    Send 40 times: Repeat again using Channel 40 2442MHz (Set Register 7: 0x01 0x28)
    Send 40 times: Repeat again using Channel 71 2473MHz (Set Register 7: 0x01 0x47)

    perhaps their RGBW bulbs only needs one of those channels, the others are probably legacy products channels?
    and I would have thought 40 command packets per channel is a bit excessive too?

    1. Hi Speedywizard,

      thank you for your answer.
      I think that Limitlessled (that is only a reseller of Mi Light with different brand) has only partially developed the control of the bulbs over PL1167 transceiver. With our library you can send all the commands to the bulbs exactly as you can do from their remote control. Regarding your question about the number of command repetitions I can say that we use to send also 100 commands! It took less than 2 ms. Because Mi Light bulbs can only receive (half duplex communication) you must be sure that the command is received by the bulb. Moreover this is the only way to increase the range of the radio transmission. We use a similar approach also with our LYT to increase the transmission range. Do you already have Mi Light / Limitlessled products? By the way just to be clear about your previous post you will need only our shield (that include also an ESP8266 WiFi module) to control the Mi Light bulbs (over an Arduino board).

      Pietro

    2. I forgot to answer you about the three different radio channels.
      I confirm you that the original Mi Light protocol send the command on three different channels. Probably this technic is used to find the best channel (with less noise) and be sure to reach the bulb. The point is that I don’t think the bulb can listen simultaneously on this three channels because the PL1167 inside the bulb must be programmed on a specific channel to receive the command. I have another explanation: because there are several chinese manufacturers of similar Mi Light bulbs probably they want to be sure that the remote (always the same) can control all these kind of devices sold over the china.

      Pietro

  7. Currently trying to do the same, but with Souliss running directly on the ESP8266 so without arduino board. Still have issue with some unexpected reset but already manage to control the led strip and connect the ESP8266 as a Souliss Node.

  8. Hi Pietro,

    if you look a bit further down the limitlessled dev page, you will see the full list of commands for PL1176 transceiver for the RGBW bulbs… it is not a partial list. seems 100% complete. this is for RGBW bulbs. do you know what the commands are for their Dual White bulbs?

    Also they mention a RemoteID, which is 2 bytes.. is the entire 16bits available to identify the calling remote? so that you can have 65,536 different remote id’s synced to the bulbs to control that many individual bulbs if you want?

    Available Commands
    0x01, // All ON
    0x02, // All OFF
    0x03, // Group 1 ON
    0x04, // Group 1 OFF
    0x05, // Group 2 ON
    0x06, // Group 2 OFF
    0x07, // Group 3 ON
    0x08, // Group 3 OFF
    0x09, // Group 4 ON
    0x0A, // Group 4 OFF
    0x0B, // Disco Speed Increase
    0x0C, // Disco Speed Decrease
    0x0D, // Disco Mode
    0x11, // Set Color White – All Groups
    0x13, // Set Color White – Group 1
    0x15, // Set Color White – Group 2
    0x17, // Set Color White – Group 3
    0x19, // Set Color White – Group 4
    0x12, // Night Mode – All Groups
    0x14, // Night Mode – Group 1
    0x16, // Night Mode – Group 2
    0x18, // Night Mode – Group 3
    0x1A // Night Mode – Group 4

  9. Hi Speedy,

    yes you are right.
    I’m actually in holiday and my connection is very bad.
    The commands are almost complete.
    The only commands I can’t see is the one to set the dimmer and to delete an address. Unfortunately these are not direct command and it took some time for us before to understand how to do. For example if you want to delete an address (on group 1) you must send for 5 times (with a delay of 200 ms between each repetition): three commands 0x03 followed by two commands 0x13.
    Regarding the address I confirm you that you can have up to 65536 id’s. Each remote has it’s own fixed 2 bytes address but using an Arduino (or any other solutions) you can set this address on the bulb (up to 4) as you want. Using a remote you can control only 4 different zones, instead with library you can control 65536 different bulbs. This is also the reason because we write only commands to work on group 1. It is useless to have command for all the groups. With our library you can manage also the Dual White bulbs but protocol is a little bit different. Also the radio channels are different. If you have patience you will find the new library on our store within some weeks. If you want you can send me you email so that I can advise or anticipate something.

    Pietro

      1. Hello Martin,

        the new library will be released within this week and it will include also the support for the MiLight dual white bulbs! You and your bulbs will be very happy!
        I already replied also to your post on our forum attaching two pictures of the new PL1167 pcb module.

        Pietro

  10. Hello,

    finally after some weeks of protocol decoding we release our first library version for MiLight and Limitless led bulbs control .
    If you already have some MiLight/Limitlessled RGBW or double white radio led bulbs you can immediately control them using our LYT/WiFi shield.
    With our library you can set up to 65.536 different addresses so you are not anymore limited to 4 zones.
    For the first time you will easily write sketches to control your lights interfacing any kind of sensors on your Arduino controller.
    You can find the version 1.0 of the library on our GITHUB page: https://github.com/pmoscetta/authometion-milight
    Please feel free to contact us for any questions.

    Pietro

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.