You should only attempt this project if you are comfortable and competant working with high voltage electricity, electronics and computers. Once the project is complete it is enclosed and there are no exposed high voltages. However, you must only work on the project when it's not plugged in and never ever attempt to test, measure, open, or probe the circuitboards while they are attached to a wall socket. If something isn't working: stop, remove it from the wall power, then open it up and examine. Yes it takes a few more minutes but its a lot safer!
Your safety is your own responsibility, including proper use of equipment and safety gear, and determining whether you have adequate skill and experience. Power tools, electricity, and other resources used for this project are dangerous, unless used properly and with adequate precautions, including safety gear. Some illustrative photos do not depict safety precautions or equipment, in order to show the project steps more clearly. This projects is not intended for use by children.
Use of the instructions and suggestions is at your own risk. Adafruit Industries LLC, disclaims all responsibility for any resulting damage, injury, or expense. It is your responsibility to make sure that your activities comply with applicable laws.
OK, if you agree we can move on!
For each outlet you want to monitor, you'll need:
|Kill-a-Watt||"Off the shelf" model P4400 power monitor
Some people in the forum have gotten this to work with an EZ type but we don't suggest it. Try to go with a 'classic' Kill-a-Watt.
Lots! Also check hardware/electronics stores.
|Adafruit XBee Adapter||I'll be using my own design for the XBee breakout/carrier board but you can use nearly any kind as long as you replicate any missing parts such as the3.3V supply and LEDs.||Webpage||Adafruit||1|
|XBee module||We'll be using the XBee "series 1" point-to-multipoint 802.15.4 modules with a chip antenna part # XB24-ACI-001. They're inexpensive and work great. This project most likely won't work with any other version of the XBee, and certainly not any of the 'high power' Pro types!||Adafruit||1|
|D3||1N4001 diode. Any power diode should work fine. Heck, even a 1n4148 or 1n914 should be OK. But 1N4001 is suggested and is in the kit.||Generic 1N4001||Digikey||1|
|D2||Large diffused LED, for easy viewing. The kit comes with green.||1|
|C2||220uF, 4V or higher
(photo shows 100uF)
|C4||10,000uF capacitor (wow!) / 6.3V (photo shows a mere 2200uF)
Try to get 16mm diameter, 25mm long.
|R4 R6||10K 1/4W 1% resistor (brown black black red gold) or10K
1/4W 5% resistor (brown black orange gold)
1% is preferred but 5% is OK
|R3 R5||4.7K 1/4W 1% resistor (yellow violet black brown gold), or
4.7K 1/4W 5% resistor (yellow violet red gold)
1% is preferred but 5% is OK.
|Ribbon cable, or other flexible wire, at least 6 conductors, about 6" long.||Generic Ribbon||Digikey||6"|
|Heat shrink! A couple inches of 1/8" and 3/32" each.||Generic|
The XBee radio does all of the hard work, it listens on two analog input ports (AD0 and AD4) for voltage and current data. Then it transmits that information wirelessly to the host computer receiver XBee. There are a few we have to engineer around to make it Work:
- We want to run the XBee off the Kill-a-Watt's internal power supply. However it's current limited and won't provide 50mA in a burst when the XBee transmits. We solve this by adding a simple 'rechargable battery' in the form of a really large capacitor C4.
- The Kill-a-Watt runs at 5V but XBees can only run at 3.3V so we have a voltage regulator IC1 and two capacitors two stabilize the 3.3V supply, C1 and C2.
- The XBee will transmit every few seconds, even while the capacitor is charging. This means that it will keep draining the capacitor, resetting, and trying again, basically freaking out while the power supply is still building. We prevent this by adding another fairly big capacitor C3 on the reset line. This slows down the XBee, delaying the startup by a few seconds & keeps the XBee from starting up till we have solid power.
- The XBee analog sensors run at 3.3V but the Kill-a-Watt sensors run at 5V. We use simple voltage dividers R3/R4 and R5/R6 to reduce the analog signal down to a reasonable level.
Now the fun part! We'll filet, stuff and reassemble the Kill-a-Watt with a radio inside!
|Open up your kit and get out the parts for the transmitter. Remember that we'll be using most of but not all of an XBee adapter kit. The two small LEDs, the 74HC125N chip, a 10K and 1K resistor are not used and you should put them aside for a future project so you don't accidentally use them here.
Check to make sure you've got everything you need. The only thing not shown here is the XBee radio and Kill-a-Watt.
|Place the PCB of adapter kit and get ready to solder by heating up your soldering iron, and preparing your hand tools.|
|We'll start by soldering in the 3.3V regulator, which is identical to the standard XBee Adapter kit you made in the receiver instructions. Don't forget to check the polarity of C2 and that IC1 is in the right way. Then solder and clip the three components.|
|Now we will veer from the standard xbee adapter instructions and add a much larger LED on the ASC line so that we can easily see it blinking when it's in the Kill-a-Watt. Make sure to watch for the LED polarity, because a backwards LED will make debugging very difficult. The longer lead goes in the + marked solder hole.
Give the LED about half an inch of space beyond the end of the PCB as shown. Also solder in the matching 1K resistor R2.
|Solder in the two 2mm 10pin female headers in the adapter kit. Be careful with the solder so that you don't accidentally fill the female header. Use a sparing amount to make sure there's a connection but it's not overflowing.|
|Now it's time to prepare the wires we need for the next few stops. Use your diagonal cutters to notch off the brown, red, orange and yellow wires from the end of the rainbow ribbon cable in the kit.
Then tear off the four wires from the rest of the cable.
|Do the same for the black and white wires and the single green wire. Then cut the green wire so it's only about 1.5" long. You should now have 3 strips of wire, one 6" with 4 conductors, one 6" with 2 conductors and one 1.5" with 1 conductor.|
|Use wirestrippers to strip the ends of the green wire, 1/4" from the ends.
Then tin the green wire by heating the ends of the wire and applying a little solder to bind together the stranded wire.
|Use the green wire to create a jumper between the VREF pin, 7th from the top on the right and the VCC pin on the top left.
Double check to make sure you get this right! Then solder it in place. This will set the reference point of the analog converter to 3.3V.
|Go back to the 4-piece ribbon cable. Split the ends with the diagonal cutter, then strip and tin all 8 ends.|
|Put a 4.7K resistor in a vise or holder, then clip one end off and tin it just like the wires.|
Cut a 1/2" piece of 1/16" heat shrink and slip it onto the yellow wire, making sure there's clearence between the heatshrink and the end of the wire. Then solder the yellow wire to the 4.7k resistor.
|Do the same for the orange wire and the other 4.7K resistor. Use a heat source (a heat gun or hair drier is perfect) to shrink the heatshrink over the soldered wire/resistor joint. Then bend the resistor 90degrees and clip the other end of the 4.7k resistors|
|Now we will build the voltage divider. Take the two 10K resistors and connect them as shown. One goes from AD0 and one from AD4. Both then connect to ground. Conveniently, the chip we are not using had grounded pins so we can 'reuse' those pins.|
Now comes the tricky part. We want to connect the other end of the 4.7K resistor to the AD0 pin but the 10K reisistor is already there. Use your soldering iron to melt a blob of solder onto the top of the 10K resistor and then piggyback the 4.7K resistor by soldering to the top of the 10K resistor.
Solder the orange wire to the AD0 pin, the yellow to the AD4.
|The other two wires are for carrying power. The red wire should be soldered to the +5V pin on the bottom of the adapter PCB. The brown wire to theGND pin.|
We're nearly done with the adapter soldering. Lastly is the 220uF reset capacitor. We'll connect this to the RST pin, 5th from the top on the left. Make sure the long lead is connected to the RST pin and the shorter lead goes to the 4th pin of where the chip would go. Check the photo on the left to make sure you've got it in right.
The capacitor wont fit underneat the XBee module so give it some lead length so that the cylindrical bulk is next to the 3.3V regulator.
|For reference, here is twhat the back should look like.|
|Here is what it should look like with the XBee modem installed. Make sure the pins on the XBee line up with the header.|
|Now replace the PCB with the huge capacitor.|
Clip the long leads down. You'll need to use the "-" stripe to keep track of which pin is negative and which is positive.
Tin both leads with solder.
Solder the other end of the red ribbon wire (that goes to +5V on the XBee adapter) to the positive pin of the capacitor.
Then solder the brown wire (that goes to GND on the XBee adapter) to the negative pin.
|Clip the cathode lead down of the 1N4001 diode, that's the end with the white stripe on it. Solder the diode so that the white-stripe side is connected to the positive pin of the big capacitor.|
|Take the black and white ribbon from earlier. Split, strip and tin the four ends. Cut a 1" piece of 1/8" heatshrink and slip it onto the white wire. Slip a 1/2" piece of 1/16" heat shrink onto the black wire.|
Clip the other end of the diode (the side without a white stripe) and solder the white wire to it. Solder the black wire to the negative pin of the big capacitor.
Now shrink the heatshrink so that the capacitor leads and diode are covered.
|All right, here is what you should have, an adapter with two sensor lines (orange and yellow) hanging off and two power lines (red and brown) that are connected to the big capacitor. Then there are two black&white wires connected to the capacitor, the white one through a diode.|
Now it's time to open the Kill-a-Watt! There are only 3 screws that hold it together, and they are found on the back.
Be gentle when opening as there is a delicate ribbon cable inside. Carefully pry off the back cover.
|Use a 3/8 drill bit to make a hole near the right corner of the case back. This is what the LED will stick out of. (Ignore the white tape and #4, this is a recycled kill-a-watt :)|
Now find the LM2902N chip. This is a quad op-amp that senses the power line usage. We're going to piggy-back right on top of it, and borrow the ground, 5V power and 2 sensor outputs!
With your soldering iron, melt a bit of solder on pin 1, 4, 11 and 14 of the chip. Make sure you have the chip oriented correctly, the notch indicates where pins 1 and 14 are.
|Some newer Kill-a-Watts have a smaller version of this 2902 chip. Unfortunately it seems this is recent and there's no way to tell which one you have before you open it. The smaller version is basically the same but it's a little tougher to solder to. (Thanks to mrtz for the photos of this new version)|
|Solder the white wire (5V to the XBee) to pin 4. Solder the black wire (ground) to pin 11 directly across.|
|Now solder the yellow wire to pin 1 and the orange wire to pin 14.|
Use two small pieces of sticky foam and stick them onto the back of the case.
Then place the XBee adapter and capacitor on the tape so that the LED sticks out of the hole drilled earlier.
|Tuck the excess ribbon cable out of the way so that they are not near the 120V connections which could make them go poof.|
Close it up and plug it in.
You'll notice it's a bit finicky for a few seconds as the big capacitor charges up. The display may not come up for 15-30 seconds, and it may fade in and out at first. The numbers may also be wrong for a bit as it powers up. Within about 30 seconds, you should see the display stabilize and the indicator LED blinking every 2 seconds!
Go back to your computer, plug the receiver XBee into the USB adapter and make sure it has the latest firmware uploaded and set it to the same PAN ID as the transmitters. You will see the RSSI LED (red LED) light up. That means you have a good link!
Open up the Terminal in X-CTU (or another terminal program) and connect at 9600 baud 8N1 parity and you'll see a lot of nonsense. What's important is that a new chunk of nonsense gets printed out once every 2 seconds, indicating a packet of data has been received.
The hardware is done. Good work!