Android And Arduino RF Outlet Selector


Cyber Monday may be behind us, but there are always some hackable, inexpensive electronics to be had. [Stephen’s] wireless Android/Arduino outlet hack may be the perfect holiday project on the cheap, especially considering you can once again snag the right remote controlled outlets from Home Depot. This project is similar to other remote control outlet builds we’ve seen here, but for around $6 per outlet: a tough price to beat.

[Stephen] Frankenstein’d an inexpensive RF device from Amazon into his build, hooking the Arduino up to the 4 pins on the transmitter. The first step was to reverse engineer the communication for the outlet, which was accomplished through some down and dirty Arduino logic analyzing. The final circuit included a standard Arduino Ethernet shield, which [Stephen] hooked up to his router and configured to run as a web server. Most of the code was borrowed from the RC-Switch outlet project, but the protocols from that build are based on US standards and did not quite fit [Stephen’s] needs, so he turned to a similar Instructables project to work out the finer details.

Stick around after the break for a quick video demonstration, then check out another wireless outlet hack for inspiration.

[Via Reddit]

14 thoughts on “Android And Arduino RF Outlet Selector

  1. I bought a similar kit a while ago and sniffed the communication using LIRC (linux Infrared Remote Control) by wiring directly into the encoder chip. I was then able to control the power switches from a command line or even from an arbitrary IR remote. I finally abandoned the project because the receivers needed powered 24/7 or they forgot their settings which paired them to the wireless (834 MHz if I recall correctly) remote control and they had to have the button on the front panel pressed to restart the pairing process. As I wanted them hidden behind or in things this was something of a showstopper. But hey, they were cheap, I think about UKP14 for the set of three. I gave them away.

  2. Cool, i made the same thing few months ago (a bit different)
    i made a video in German language:
    my code turns on every wall plug and after 5 secs it turns off again
    like this:
    0000 A ON
    0000 B ON

    0000 D ON
    0001 A ON
    0001 B ON
    1010 C ON
    1010 D ON

    1111 A ON
    1111 B ON

    1111 D ON
    (very quick)

    after 5 seconds, it repeat all steps with VALUE = OFF

    example code
    010100100010 = 0101 secure code, 0010 = C, because ABCD(E) 10 = on, 01 = off

    1. Totally agree actually. If I were to do this again, I may consider starting with the Pi as the brain. I have 2 Android/Arduino projects running on the same Arduino webserver, I just can’t really put any huge amount of processing power behind anything. But I haven’t hit that limitation yet, and if I do, I have a Pi on my shelf waiting for a project. For this need, either would work. And as someone else pointed out, even a router would have enough processing power to send data out on 1 pin. That’s somewhat more complicated though.

  3. You can make it even simpler:
    1 A router running openwrt which has some IOs for LEDs.
    2. use such I/O to inject the signal in the radio from the remote.

    No need for adruino, ethernet shield, extra radio. A cheap router capable of doing that will be under 20, cheaper than the arduino and it will not need an ethernet connection.

      1. This does in fact run a web server as you described. The Arduino app just provides current status and toggle buttons and acts as a front-end over those URLs. So an IPhone, web browser, etc. could also access the same URLs concurrently, and the Arduino web server will still manage the current state correctly.

  4. This is a nice project; I like it. One thing I wonder is why not use the original remote? Control the ON/OFF push-buttons from the Arduino using either a transistor per button or a cheap analog switch? Seems it would be cheaper and easier than adding a new RF module, getting the codes etc.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

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