Introduction: Web Controlled 8-Channel Powerstrip

Picture of Web Controlled 8-Channel Powerstrip
Greetings, fellow Raspberry Pi enthusiasts.  We are about to create a multi-purpose gadget that is sure to impress!  My primary reason for building this to to control my Christmas lights, but that is only one of many possible uses.  Basically you can plug in up to 8 appliance and turn them on and off independantly from your smart phone!  If you want to setup port-forwarding on your wireless router, you can control your appliances from anywhere in the world.  (Although why you would want to turn on your blender from over-seas is a bit of a mystery.) Please leave me a comment letting me know how you use your Web Controlled Powerstrip!

Before we get started, I want to give credit where credit is due: TheFreeElectron wrote an excellent instructable on controlling the Raspberry Pi GPIO pins from a web-browser. In fact, in-order to complete this instructable, you will need to follow almost all of the steps from his instructable including using his awesome web application for controlling your power-strip.

Secondly a reminder that working with mains power can be extremely dangerous. Please be very careful. Those of us that have had the experience of touching a live 120 volt wire do not EVER want to repeat the experience.

Assuming you already have your raspberry pi with the adapter and SD card, you should be able to round up the rest of the ingredients with $40-$50 dollars.

Here's what you're gonna need for this project:
  • Raspberry Pi with SD Card
  • Micro USB Power supply (Make sure your power supply can supply a full 1 amp)
  • Project Box - Available at you local Target ($14.99) - Hurry these are seasonal!
  • 8-Channel 5V Relay board - EBay (About $10 shipped, I found mine here.)
  • 4 (qty) 15-Amp Power Receptacles (Lowe's or Home-Depot, get the cheap ones about 80 cents each)
  • 18AWG Solid Hookup Wire (3 colors) - Radio Shack (About $8.50)
  • Short length of 14-Gauge wire. (Only need about 15 inches of white, I found some scrap)
  • Large wire-nuts (Red or bigger)
  • Colored jumper wires - Female to Female buy them on EBay here.
  • Power cord (I used an old computer power cord)
  • Scrap wood pieces
  • Double Stik tape
  • 1/4" wood screws
  • Optional (but handy):  A female end of an extension cord or broken holiday-light set.


  • Trim or plunge-type router with 1/8" straight cutting bit.
  • Wire strippers
  • Drill & drill bits (various sizes)
  • Screwdrivers (various sizes)
  • Multi-meter (for testing circuitry)
  • Utility knife

Step 1: A Faceplate to Be Proud Of

Picture of A Faceplate to Be Proud Of

We'll start by modifying our project box to expose the face of our power receptacles. Take your time on this step, you want it to look nice since you're going to be impressing all of your friends with it.

We will use a spare wall plate as your template to draw the shapes you will be cutting out with the router.

Start by using a ruler and straight edge to draw a straight line centered across the long side.
Next locate the exact center of that line and make a center-mark.
Now lay your ruler along the line with the center-mark at the 10 cm point on your ruler. Carefully create a mark on the center line at positions 4, 8, 12, and 16 cm. We should end up with four center-points spaced 4 cm apart and centered along the line. These center-points will line up with the screw-hole of the wall plate and allow you to trace each of the large face-plate openings as shown. I also recommend drawing another reference line across the top or bottom to help make sure the wall-plate is parallel with the box edges when you trace the face holes.

Next use your router to carefully rout-out each of the 8 shapes to allow the receptacles to slide into place from the back. It may take a few tries to get them to fit nicely through the holes, but you'll get it.

Tips: Routing MDF is messy with lots of fine dust. You may want to have someone blowing compressed air on the lid while you're routing to keep the dust from obscuring the lines. Keep one of your receptacles near by so you can continue to check the fit and shave off the edges that are preventing the fit. Once all of the holes are cut and fit, clean up the whole mess with a damp cloth.

Step 2: Preparing the Receptacles

Picture of Preparing the Receptacles

Remove the long mounting screws from the ends of each of the receptacles.

Take a careful look at the receptacles. You'll notice that on one side you have two silver screws for the common (white) wire and on the other side you have two gold screws for the hot (black) wires. We will be removing ONLY the tab on the gold (hot) side. Do NOT remove the tabs on the silver side.

Using a pair of needle-nose pliers carefully remove the tabs on the gold side of each of the 4 receptacles. You'll need to grasp them securely and bend them back and forth until they break off. This step allows the top and bottom to operate independently. (you will be able to turn on one without turning on the other, thus we get 8 total channels rather than 4.)

Step 3: Wiring the Receptacles

Picture of Wiring the Receptacles
Now we will do a little wiring.

  1. Cut off 8 pieces of the black 18AWG wire about 15 to 20 cm long.
  2. Strip about 2 cm of the insulation from one end and bend into a hook as shown. Repeat for all 8 pieces.
  3. Hook one around each of the gold screws on the sides (clockwise) and firmly tighten down the screws to make the electrical connection and to secure them in place.
  4. Place each of the receptacles into place from the back of the box lid. Make sure they are all facing the same direction. (Notice in the 4th picture, all of the green grounding screws are on the same side.)
  5. Now carefully remove a section of white 14 gauge wire from the outer casing and cut three pieces about 8 cm each. Be sure to only score the outer casing with your utility or exacto knife so that you don't cut into the bare wire. Any exposed bare wire presents a very dangerous hazard so we want to prevent it at all costs.
  6. Using the strip-guide on the back of the receptacles, strip off exactly the right amount of insulation from both ends so that you can press the wires into the holes as shown leaving none of the exposed wire still visible. (I bet some of you didn't even know there was a strip guide on the back of those things. Kinda handy huh?) Remember the 14-gauge wire is quite stiff so you will want to get the lengths right. I put a little bend in the center so that I could make the the exact length I needed to go from one receptacle to the next.
  7. IMPORTANT! No white wires go into the holes marked for hot (black). (Duh right?) Basically we are chaining together the commons by putting a wire from 1-2, from 2-3, and from 3-4.
  8. Finally cut and strip one more piece of white 14-gauge wire about 10 cm and push it into the extra hole on the right hand receptacle closest to the green grounding screw. (This step is not shown in this picture but you'll see it later on.) Just leave the other end hanging out for now.

Step 4: Securing the Receptacles and Mounting the Relay Board

Picture of Securing the Receptacles and Mounting the Relay Board

For this step, we will need to measure and cut two pieces of wood which will serve to secure the receptacles in place and will also be used to mount the relay board. These will be 2.5 x 2.5 x 18 cm.

Before mounting the blocks into the lid, we will use one of them to create a wire-bending jig. (I should have taken a picture of this, sorry) I found it really helped keep the wires nice and neat which is important in this project because there are so many wires in a small space. Here's how I did it. Make 8 marks along the block of wood to coincide exactly with the slots between the relays on the relay board. Then drill holes exactly 2 cm deep using a small bit about the same diameter as the 18 gauge wire. Now push the red wire into each hole and bend it square to make the shapes required for the wiring harness shown in the picture and cut them all off at the same location with the longest one roughly 16-18 cm from the bend. Before removing the wires from the jig, tie them together using wire ties (or tape or hot glue) That way when you remove the wiring harness each wire will line up with the relays.

Now strip off just the tip of each of the red wires about 5 mm. This will allow you to push them into the terminals on the relay boards without leaving exposed wire. Now secure them into the CENTER terminals on the relay board with the terminal set-screw as shown.

Next hold or clamp the blocks of wood in place in the box lid and then mark and drill (4) 1/8" holes into the top of the lid (and into the blocks of wood) about 2 to 2.5 cm from each edge (in the corners) to receive a screw. (I used 4 of the screws I removed from the receptacle tabs. I realize these are not technically wood screws, but since I pre-drilled the holes they did the trick.) These screws and wood blocks effectively clamp the receptacles into places so they can't move around.

Finally, using two small screws, mount the relay board to the top block using the two holes on the side opposite the terminals as shown. (The terminal side of the board will hang out suspended above the backs of the receptacles. Again please refer to the picture.)

Step 5: More Wiring...

Picture of More Wiring...

Next we will wire in each of the 8 black wires to the left-hand terminal for each relay. Carefully bend, cut and strip each of the black wires to fit exactly into the corresponding terminal on the relay board. You will want to connect them to the left hand hole of each terminal. (The right hand holes will not be used in this project) Remember to only strip about 5 mm of insulation so that all of the exposed wire will neatly fit into the terminal.

Safety note here! Make sure the power cord is not plugged in while you're working on it!

Now we'll wire in the power cord.  I used an old computer cord for mine, mainly because I had a few laying around with nothing to do and because the cord was round which makes it easier to fit into a drilled hole (1/4" drill bit was a perfect fit). As an added bonus, the computer cord has color-coded wires inside so it is easy to tell which is the hot (black), the common (white) and the ground(green.) If the cord you're using does not have the nice color coding, don't worry, it's easy to tell with a multimeter.

(Refer to second picture for this step) Drill a hole in the bottom of the box and insert your power cord 20 cm or so.  Very carefully remove the outside casing to expose the three insulated wires inside.  Make sure that you knife did not remove any insulation on the individual wires.  You may also want to wrap electrical tape several times around the cable just as it enters the box to prevent it from being pulled back out through the hole.

Now we'll connect the power cord to our relays.

The only hard part here is getting all of the red wires connected together. Since the red wiring nuts are too small to fit all of the wires, we will split the red wires up into two groups with a short section of 18AWG wire connecting the two together.

The goal here is to get the black wire from the power cord connected to all of the red wires. The trick to using a wire nut is to have all of the wires stripped the same amount and have them terminate together. (Except stranded wires such as those coming from the power cord can extend a little longer than the solid ones, that way the strands wrap around the solid wires binding them together inside of the nut.) Make sure to twist the wire-nuts good and tight, you don't want them popping out on you.

The white wire is straight forward, just wire it up to the extra white wire that you left hanging out the the last receptacle. (Use a smaller wire nut for this step if you have one.)

Also notice (in the 3rd picture) that I used 3 short pieces of green wire to chain together the ground screws and connect them to the green wire from the power cord. The ground connection is important for safety.

Step 6: Adding Your Raspberry Pi

Picture of Adding Your Raspberry Pi

A quick note of explanation: Up until this point of the build, I was planning on having a second cord coming out of the box to power the raspberry pi. Then it occurred to me that I might be able to add a female plug inside the box to plug the raspberry pi's USB power cord into. That way I would only need one cord coming out of the box. I happened to have an old Christmas light set that was missing most of the lights so I just cut off the female end with enough wire to reach the wire nuts. It worked out nicely. Just wire one side into the wire-nut with the white wires and the other side into one of the wire-nut with the red and black wires.

For this step you will mount a small piece of plywood to the bottom of the box using double-stick tape for the raspberry pi to rest on (and mount to) Using 1/4" screws mount the raspberry pi to the piece of plywood. (Then realizing you forgot to put in the USB WiFi Adapter... you'll take it back off, put in the wifi adapter, and then mount it again.) Ah hem.

Actually, before mounting the raspberry pi, you will want to make sure it is configured to use the wireless USB adapter to automatically connect to your wireless router when powered up. There are plenty of tutorials on the web to show you how to do this. Try this one for example.

Almost there... let's hookup our rainbow wire.

Step 7: Adding the Magical Rainbow (wire)...

Picture of Adding the Magical Rainbow (wire)...

Obviously in this step the colors don't matter.  It only matters that you create a connection between the correct pins.  If you happen to have exactly the same rainbow-wire set that I have, start by peeling off a 10-wire harness that has the following colors (in-order) Black, White, Grey, Purple, Blue, Green, Yellow, Orange, Red, and Brown.

I recommend pushing all the wires onto the raspberry pi first using the chart from top to bottom. (i.e. pin 1, then 6, then 7 then 11). You'll notice that there are several pins that have no connection, so pay close attention to the pin numbers.  If you hold the raspberry pi such that the SD card is on top and the header pins are on your right facing you, pin 1 will be on the top left, 2 is next to it on the top of the right-hand row, 3 is below 1 on the left row and so forth.  All odd numbered pins are on the left and all even numbered pins are on the right.  Hopefully that is enough info to identify the pins correctly. 

Anyway, wire up the 10-wire ribbon as indicated in the pictures.  If you have any questions, feel free to leave a comment and I'll do my best to answer.

Finally, you will need to remove the 2-pin shunt (jumper) that is on the relay board connecting the VCC to the JD-VCC pin.  (Just pinch it with your fingers and slide it off) Then peel off one additional wire to connect pin-2 (5V) on the raspberry pi to the JD-VCC pin on the 3-pin header of the relay board. (I used brown in the picture.)  This provides 5 volts to the coils to power the relay.  (If you fail to do this, you only get 3.3 volts to the coils which isn't quite enough.)

Step 8: Safety Testing - (Before You Plug It In!)

Picture of Safety Testing - (Before You Plug It In!)

Call me paranoid, but I really like to check and double check all of my connections before plugging something like this into the wall.  You really want to be sure you didn't accidentally wire hot directly to common or ground... bad things happen.

Don't worry, it's easy, just grab your multi-meter and dial it to continuity test. (If your multi-meter doen't have a continuity test, just put it on one of the resistance settings.)

Close up the box.

Connect one of the test probes to the ground post of your power cord using an alligator clip.  

Using the other test probe, touch inside of each of the receptacles' ground holes (the round ones) making sure that you have a connection on each one.  (Multi-meter should beep or, if you're using a resistance setting, the resistance should  go to near zero.)  Then check that you do NOT have a connection on either of the other two slots on each receptacle.)

Next check the common which is the longer of the two slots on the left (assuming the ground post-hold  is oriented down) Again make sure that all of the common slots have connectivity to the appropriate blade on your power chord AND that you DO NOT have connectivity to either the ground or the hot side.)

With me so far?

Before continuing, make sure you have setup the web-interface for the GPIO pins by following TheFreeElectron's instructable.

The hot-slot (the shorter slot on the right) of the receptacles should not have connectivity (yet) to any of the three posts on your power chord.  This doesn't happen until you activate the corresponding relay. 

If you want to be really safe, you can continue the test by plugging in only the raspberry pi. (Unplug the adapter from the female socket and plug it into the wall.)  Using the web-interface on a computer, tablet, or smart-phone, turn on each channel one at a time and listen for a distinctive click of the relay making the contact.)  One thing you'll probably notice right away is that web-interface buttons are reversed.  In other words, when it indicates ON, it will actually be OFF and vice-versa. This is because the relay board is "active-low" meaning that the relay is turned on by pulling the corresponding pin to ground and not to VCC.  For now this is just a minor annoyance, there are several ways to fix that. 

To test this, connect the alligator clip to the hot blade on your power cord and insert the other test probe of your multi-meter into the hot-slot of one of the receptacles.  Use your handy web-interface to cycle the channel on and off and verify that the connectivity on your meter responds accordingly.

If all that works CONGRATULATIONS, you're ready to plug it in and give it the full test!


mohamed99 (author)2017-03-28

hi there thanks for this perfect demonstration I was wondering if i could change the 0-7 numbers with more meaningful names can someone tell how it's done as I am new to php and java

RobertB626 (author)2017-01-02

Thanks for the great writeup. I am currently about to use this in a build I am doing for a reef/aquarium controller. I also have this working with voxcommando and controlling the outputs using voice control. Just started recently and still have plenty to do on it.

MuzammilT (author)2016-12-29

What should i need to programme on raspberry pi??

anyone can help me please...

sarantarc (author)2016-12-29

nice.......plan to have similar unit too....

daniela208 (author)2016-02-03

For the electrician out there - Is this safe?

peterlc (author)daniela2082016-09-13

The issue I have beside the wooden box, is the number of receptacles running from a single power socket. If too many current heavy devices are plugged into this and turned on, it would easily exceed the rating of the wall power socket.

Mango123456 (author)daniela2082016-02-10

It is not safe. He's using an MDF/wooden electrical box to house his receptacles. Since this is flammable, an arc fault could easily start a fire. However, if the project was installed in a code-compliant metal electrical box, I expect it would be safe. I would also check to see if the relay us UL Listed, to protect myself from liability should it fail.

MilosL1 (author)Mango1234562016-02-10

MDF in not the bestest choice but it's ok. It can not be in flame, can only be smoky. BTW there are electric fuses in every house!

KeithM9 (author)daniela2082016-02-04

Safe for low powered devices such as a modem, router, lamp, fan, etc. I wouldn't try to connect a space heater or refridgerator to these outlets.

rifaioftheyear (author)2016-04-11

do we need resistor or transistor to bridging our pi with relay? because i thought raspberry only support 3.3v

KeithM9 made it! (author)2015-10-03

Made it. My preference for this project was only 4 outlets, so I used a 4 relay board and modified the web interface on my Pi. The 2 outlets on the left are always on and provide GFCI protection for the entire setup. The 2 middle and 2 right are controlled by the relay board.

joelones (author)KeithM92015-12-18

Very cool! How exactly did you wire up the GFCI with the other sockets?

KeithM9 (author)joelones2015-12-18

When you buy a GFCI socket, the tiny instruction manual tells you about it. The main power cord is connected directly to the input connections on the GFCI socket. There are 2 output connections for hot and neutral (a new GFCI socket will have them covered by a warning on a yellow strip that tells you to read the manual) that I have splitting off to:
1. An internal power outlet to power my Pi.
2. The neutral split off to the 4 other outlets.
3. The hot split to the 4 relays which then go to the outlets when switched.

daniela208 (author)KeithM92016-02-03
2. The neutral split off to the 4 other outlets.

When you say "split", is that the same way it was done in the tutorial? Does "split" mean 'in series'?


KeithM9 (author)daniela2082016-02-04

Pretty much like the tutorial above. Just have the neutral wire on the incoming power connected to the neutral connections on all the outlets.

CarlosS160 (author)2016-02-02

phenomenal project! Thank you @rleddington

Teoatawki (author)2015-10-24

Thanks for a great instructable!

I had issues with the relay board. Some channels just wouldn't work. I had 2 boards, each populated with Songle SRD-05VDC-SL-C relays. Different channels on each board, but 4 worked on board 1, and 5 on board 2. I checked and rechecked voltages and wiring and finally got all the relays to function properly when I supplied 5V to the VCC pin on the 3 pin header as well as the JD-VCC. Assuming that this was linked to the other VCC pin, I disconnected my extra wire, and moved the white jumper wire to pin 4 on the RPi header. Suddenly all works swimmingly.

What are the downsides to this hack, if any? I'd like to figure that out before close up the box and install it 100 miles away. This is supposed to save me trips, not add to my problems.

BambiB (author)Teoatawki2015-10-27

One "downside" might be that there's no provision to report back the "actual" state of a relay. If you trigger a relay, and the circuit doesn't come on - how do you know (from 100 miles away)? To "close the loop" you'd probably want some way to monitor voltage in the circuit itself and report that back via the 'net.

Teoatawki (author)BambiB2015-10-28

The devices I plan on connecting to the outlet controller:

1) DSL modem 1
2) DSL modem 2
3) Main wifi router for the camp
4) Multi-wan router linking 1&2 to 3.

My controller will be connected to 1 of the DSL modems.

So I will be able to tell whether the selected device comes back up after I reboot it electronically.

bmikeb (author)Teoatawki2015-10-28

Interesting... I did this in the FL apt but without the better idea of the MultiWan redundancy.

You really should wire this in reverse. Use the NC (Normally Closed) positions on the relays and use the switch not to turn them ON, but to turn them OFF (i.e., hard-reset). That way the natural position of a non-active relay is power on to the connected device.

Additionally, since you already have some redundancy, get 2 Pies and 2 sets of relays. Have each Pi able to reset the other (trust me, occasionally you may need this) and have all the other equipment go through two NC relay connections, one on each Pi. This way either Pi can reset the system.

While you are at it...

Another major flaw is that the mode of the GPIO pin is set from the web server page. Not good. This should be done at boot time.

In the file /etc/rc.local just before the last line add the following 2 lines for each relay connection coming out of the Pi GPIO Pin(of course substitue Pin, for what ever pin number you use). This will put the GPIO pins (and hence the relays) into a default position on boot-up, without having to open the web browser.

/usr/local/bin/gpio write Pin 1
/usr/local/bin/gpio mode Pin out

CarlosS160 (author)bmikeb2016-02-02

@bmikeb "Additionally, since you already have some redundancy, get 2 Pies and 2 sets of relays. Have each Pi able to reset the other (trust me, occasionally you may need this) and have all the other equipment go through two NC relay connections, one on each Pi. This way either Pi can reset the system."

What is the redundancy? Can you elaborate on how one Pi would reset the other? An if either Pi could reset the system, how would the interface look. Wouldn't there be 2 UI's? Wouldn't that break the SOLID principle.

bmikeb (author)BambiB2015-10-27

Put a camera on the (s)Pi

MichaelC288 made it! (author)2015-12-19

I am looking to use this to control 24 outlets with one Pi. Anyone have advise for that?

domi64 (author)2015-11-25

Great post, thanks.

A question : where to find the application that runs on your phone and are the sources of this app available ?

Thanks in advance,


oceanscrashing (author)2015-05-06

I have a power conditioner set up for my recording equipment. I've been looking at power sequencers with conditioners built in, and the price point doesn't justify the functionality for me. Does anyone know if I can safely plug this project into a power conditioner? Should there be any concerns with the 'cleanliness' or stability of the power coming out of the relay-controlled outlets?

SexyWood (author)oceanscrashing2015-11-10

The relays are meerly switches. Their will be no interference with the "conditioned" voltage or frequency.

S J SrikarN (author)2015-03-03

hi rleddington,

Thank you for posting this. I am trying to do this as well using my raspi2.

I am relatively a newbie w.r.t to anything electrical, so I have a rather simple question.

Is the white wire (14 gauge) you talk about solid or stranded? I have a stranded one and it doesn't seem to fit the hole on power receptacle. Pretty sure am doing something wrong.

Thank you


SexyWood (author)S J SrikarN2015-11-10

The holes in the back of the receptacles are for solid wire only. If using stranded strip in the same manner as solid with the exception of completely removing the cut insulation. Slide most of the insulation off of the end of the wire leaving just a little bit of the stranded wire in the end of the end of the insulation. Then bend your exposed stranded wire around the side screw for whichever side you are connecting to and tighten. The insulation keeps the individual strands from separating and from "popping" out from under the screw head.

bmikeb (author)2015-10-28

Another flaw, easily corrected...

In the system as described, in the main web page index.php, the process of loading the web page uses the "system(gpio mode $pin out)" function to establish the mode of the control pins and sets them to OUTput.

Yes, the mode of these pins does need to be set to OUT. However, this is being done in the wrong place. In the current set-up you must access the web page to initialize the pins. Not good. This should be done much earlier, when the Pi first boots up.

To do that, in the file /etc/rc.local just before the last line add the following pair of lines for each relay connection coming out of the Pi GPIO Pin (of course substitue Pin, for what ever pin number you use). This will put the GPIO pins (and hence the relays) into a default position (1 being non-active) on boot-up, without having to open the web browser.
/usr/local/bin/gpio write Pin 1
/usr/local/bin/gpio mode Pin out

For 8 relays, this will add 16 lines (or use a bash the "for" loop).

bmikeb (author)2015-10-27

Not reliable! In step #7, The White wire (if you choose white) should go between the relay board pin #10 (VCC) and the Raspberry Pi pin #2 (or #4), not pin #1.

Those relay boards opperate at 5 Volts, and need the voltage from the Raspberry Pi 5 volt rail (pins #2, #4).

As wired it might work if you got really good relays. But if you turned them all on it would cause a nasty strain on the 3.3 Volt rail. The 3.3V should only be for logic signals and reference it should not be used as a power supply for the relays. This could burn out the 3.3 Volt rail.

Nice wiring; clean, neat, crisp!

Teoatawki (author)bmikeb2015-10-28

Thanks for confirming my change makes sense.

studleylee (author)2015-10-27

Great job!

JosephG24 (author)2015-10-27

quite honestly, something like this:

or this:

would be vastly superior due to not blocking all those GPIO ports with 1:1 driving. Plus since its SPI, you could drive multiple boards with using the now freed up GPIO as board selector pins.

studleylee (author)JosephG242015-10-27

It's apples and oranges. If the Raspi is dedicated to this box only, using all the IO is fine. If you want lots of extra I/O , using SPI, I2C or 1-Wire bus if great. Do an instructable demonstrating your way.

GrandAdmiralThrawn (author)2014-12-03

I made this, but cannot figure out how to switch the relays from active-low to normal. How do I do that?

Search the code... somewhere in there is will say "gpio write".

The full line will be something like "gpio write xyz 0", or 1.

In such locations, change all 0's to 9's, then change the 1's to 0's, and then go back and change the 9's to 1's. You will then have chaged the code from active high, to active low.

Martin AP (author)2014-12-15


To fix the problem, you need to use transistors. Take a look on this link:

I followed the instructions and it works fine for me.

Best regards

bmikeb (author)Martin AP2015-10-27

And you do this to change the relays from active low to active high? why?!

Why pay money and sapce for transistors?

Assuming you use pin 8 to control the relay...

Instead of turning the relay on with the active high logic of "gpio write 8 1"...

Switch to active low logic of "gpio write 8 0" to activate the relay, and to deactivate the relay use "gpio write 8 1".

prakis (author)2015-10-27

I know instructables is not just about solutions but also about fun making it yourself. Just in case if someone want a quick easy device we are using this 100$ 8 port device which is working in our office flawless from years.

istone76 (author)2015-10-27

For IFTTT and advanced timer controls these products are great too:

The web servers are available on the internet anywhere without port forwarding on your router. So now I can close my garage door from work when I forget..

Anthony. (author)2015-10-27

Hey, you should get on "Shark Tank"...with this...LOL

SandeepS2 (author)2014-08-11

How I know that my device is ON / OFF when I am at long distance ... Any acknowledgement ?

BambiB (author)SandeepS22015-10-27

You could run a voltage divider from the controlled circuit to ground and sense the voltage with an I/O line. Probably want an in-line diode and a small cap - since you're sensing A/C (and you don't want negative voltages fed to the Pi - and the cap would let you select a reasonable RC time constant). Note: This involves running a circuit from hot to ground that relies on resistors NOT shorting out.

A "better" way might be to wind a small coil around the power line and read induced voltage. This has the advantage of keeping control and power lines isolated. However, it will be dependent on current flow.

There are better solutions. This might help:

or at least get you started.

Some more discussion here:

rleddington (author)SandeepS22014-08-11

Yes, when you visit the web-page served by your raspberry pi, you get to see if the devices are on or off just. (Red for OFF, green for ON)

BambiB (author)rleddington2015-10-27

Doesn't that only provide information on the COMMANDED output? That is, the Pi may be sending a signal to the relay, but there's no guarantee the relay has operated and power is actually flowing through the controlled circuit - right? To do that, you'd want some sort of sensor on the line itself which would report to the Pi which would display the status.

SandeepS2 (author)rleddington2014-08-11

And if any one device is not starting then how we get the feedback that it is not starting ?

tstapert (author)2014-11-22

Thanks for the great instructable. I had a lot of fun making this to work our Christmas lights. The only problem I'm having is that everything turns on when I start it even though the power buttons show off (red). I have to turn each one to green (which should be on) to turn the switch off. It's just backwards. It all worked fine when I just used LEDs as in the instructable you based this off. Any ideas why it's working the opposite with the relay board?

The-Dude (author)tstapert2014-12-23

The issue is that in the examples / pictures in the article the "wrong" relay board receptacles are used. Each relay has 3 receptacles, left one middle one and right one.

In the pictures the left and middle receptacles are used, if one uses de right one and the middle receptacles the board / Raspberry will behave exactly like the website (green for on red for off)

I personaly find this safer and more practical as by default now all outlets are in the off position by default.
But there is no right or wrong here.

You can check this yourself by REMOVING THE POWER to the relays / outlets (really important) only power your raspberry and use a multimeter and check the receptacles with the continuity test. (If your multi-meter doen't have a continuity test, just put it on one of the resistance settings.)

Did I mention to remove the main power first :D ?

By the way Thanks rleddington for writing this article I found it verry usefull !

nickjdunn (author)The-Dude2015-10-22

I am looking at purchasing one of these relays and don't understand the schematics but im sure from what you are saying you can answer my question. I am wanting to wire up 2 outlets to one relay where when the gpio is set to high one outlet is on and when it is set to low an opposing outlet is on. Is this possible by powering the "middle" pin and having outlet 1 connected to the "left" and outlet 2 connected to the "right"? Im looking to hook up 2 lights to this and want them to never both be on at the same time but instead alternate with each other.

rleddington (author)nickjdunn2015-10-22

Yep, in that case you would hook up one outlet to the left side of the relay and the other to the right side of the relay. Should do exactly what you want, when one is on, the other would be off. Controlled from a single output pin.

About This Instructable




More by rleddington:Web Controlled 8-Channel PowerstripMagic POV Wand (yet another POV toy)
Add instructable to: