I wanted to give my family a simple, meaningful, beautiful way to stay connected. We are spread out across two countries, and sometimes misunderstandings between us make communication even more difficult.

As holiday presents this last year I built 6 RGB Wi-FI enabled networked decorative touch lights. Each member of my family has one connected to their Wi-Fi. When one of us is thinking of the family, that person can touch their light. Everybody’s light will light the same color simultaneously. All of us will know one of us is out there thinking of us. If the same person touches the light again, the color for all the lights will vary slightly. That person can find a color that speaks to them to share with all of us.

If another member of the family then touches their light, everybody’s color will change more dramatically. All of us will know one of us has responded. All the lights fade to black within 2 hours of being touched.

There is no limitation to how many lights can be synchronized; it's just a function of how many people are in your family and how many lights you want to make. You could make just a pair of lights or 500 of them all networked together if you wanted.

These lights have been received so positively that we have decided to manufacture and sell them. If you can order some today, you can have them at your home before the holiday season this year for less money than it costs to make them yourself. But for you DIYers out there, let's get started!

Step 1: Gather Materials, Supplies and Tools Needed




  • Spark Core ($39 each. You need one for each light)
  • One Raspberry Pi (any model) with SD card ethernet cable and power. (You can substitute any Linux server)
  • Adafruit 16 Neopixel Ring ($10 each. You need one for each light)
  • Conductive paint. (One light can use as much as 10ml of paint. I know it's expensive but I tried various DIY conductive paint recipes but could find nothing that works like the real thing.)
  • Wire. A 4-wire-strip ripped off ribbon cable from an old computer works great.
  • 10 MOhm resistor.
  • High quality cell phone charger power supply. Cheaper off-brand power supplies do not work because the power is not clean enough for the touch sensing. Simple filtering with a capacitor does not fix this. You can buy name brand units (Samsung, Apple, LG, etc.) Alternatively, I picked up used brand-name chargers from the thrift store for $0.99 each and they work great.


Meant to mention that I soldered solid copper instead of using conductive ink.
<p>You mentioned Particle working with you on the issue of needing a Raspberry Pi to act as a server instead of each lamp using particle.publish() events/web hooks for the sync functionality - is this something that ended up getting fixed globally or just in relation to your product?</p><p>This is an awesome idea and I'm currently using 3 Photons and doing holiday presents this year using this as inspiration. Being as new as I am to electronics and programming, I figured I would ask if this got sorted out or if using the Raspberry Pi was still a necessity before struggling to make it happen myself.</p><p>I have a few ideas for added functionality/features, but that can come later since I can roll out updates over their cloud IDE - I just need to make sure I've got it 90% working and I'll be fine!</p><p>Thanks for this great instructable and hopefully for any advice/answers you may provide!</p>
<p>Sorry not to notice this comment until now. I am not sure if Particle ever solved this robustly as I moved to the ESP8266 for this sort of work. I use MQTT with the 8266 and that seems to work pretty well and not require the Pi. However you will need some sort of MQTT broker and you could use the Pi for that, or a cloud service (which is what I do). You can program an 8266 using the Arduino IDE and installing the correct board manager. Dev boards such as the NodeMCU are pretty cheap.</p>
<p>Huh, that's interesting: I did the opposite switch you made since I was getting super flaky reliability from my NodeMCU board. I guess the devs there must of flushed out the issues.</p>
<p>Adafruit's neopixel library on the 8266 was very unstable at least a few months ago, and it did software UART was plaqued with problems on the 8266. That might have been part of what you ran into with reliability. You need to use a hardware UART solution with the 8266. Something like this: https://github.com/Makuna/NeoPixelBus/tree/UartDriven</p>
Love it. Here is one of my finished lamps. The other two were gifted tonight. Now to figure out how to avoid the Pi.
I made some changes to this build, mostly due to the lack of tools on hand. I'm 90% finished, which my pictures reflect. I still need to wire the lamp panels, and add the finishing touches like the bias tape. <br><br>I stained the base rather than spray paint. I used a dremel to substitute a router. I used a chop saw rather than a table saw. I changed the cut lengths of the acrylic so I didn't have to miter, keeping it to straight cuts. <br><br>One change I would recommend is to remove the pins from the board. This made it far easier to soldier the wiring.<br><br>Very rewarding build :)<br><br><br>
<p>That's awesome! Looks great! I also removed the pins from the board. If I forgot to put that in the directions, I'll add that.</p>
<p>I'm having no luck with the touch sensing through the acrylic. I can touch the side with the paint applied and it works great. Touching the side that's facing out produces nothing. Any ideas?</p>
<p>In step 10 I outline 2 variables you can read through the cloud. I'd open up 2 terminal windows and look at those values. You should see tDelay changing as you touch the side facing out. If you see it changing, you can adjust the sensitivity in lines 23 and 24. For example try the sensitivity at 16 and baseline_sensitivity at 32.</p>
<p>I figured it out how to observe in spark dev.</p>
<p>Cool. Keep us posted with what you figure out.</p>
<p>Here's what I'm finding: </p><p>I can't produce consistent 100+ values. I've checked for shorts and I can't find any. I've swapped power supplies and that didn't make much of a difference. Once I achieve a solid 100+ baseline, the simple process of flipping the base over will change the values and I'll lose the progress I made. I'm usually hovering in the high 80's to mid 90's</p>
<p>Your design is different so maybe high 80s and mid 90s is OK. What does tDelay look like as you touch and move your hand away from the outside of the shade?</p>
<p>That's problem for me. I couldn't install the spark CLI because of some serial port issue inside node.js on my pc. Could you do the same in the Spark Dev tool?</p>
I was wondering if your lights work with Angels? My soldier son died last November and I miss him. My daughter said I could be alone in his house anymore and was always getting signs from him in Washington. Now I'm in Texas and haven't seen or heard from him. I'm worried he could be lost and I want to know were to get three so me and my daughters can talk to my son in heaven. How and where can I get three, please. <br>Teri Cunningham<br>milimama2005@gmail.com. You can see my son on my Facebook if you want<br>7903 chestnut Barr dr<br>Converse, tx 78109<br>Thank you<br>
<p>I am so sorry for your devastating loss. Unfortunately, I do not think these lights can help you talk to your son. I wish you the best of luck, Teri.</p>
Ok thank you. I hope I can find something but if you come up with something please let me know. I love your ideas
Would it be possible to add a wps button?
<p>I don't think so. I'm sure the Spark Core I used doesn't support WPS. And I can't find anything suggesting that the newer Spark Photon supports WPS.</p>
<p>Once the lamps are distributed, do you have to supply your Spark login credentials to your circle so they can configure their wifi's through the app? Or can they create their own accounts and rename their cores?</p>
<p>Yes you have to supply your Spark login credentials for these lights. For the Kickstarter campaign we have worked with Spark to avoid this step.</p>
<p>This is a really sweet project and your lights look great. Thanks for providing a well detailed set of instructions.</p>
<p>What a great idea, wish I was more electrically &amp; electronically inclined I'd make a few for family &amp; friends that seem like family. Would these work in England and Holland if I get the proper power supply?</p>
<p>They will work fine in England and Holland. I encourage you to make them, but if you aren't up for the challenge, there's always our Kickstarter where you can preorder them. ;-)</p>
<p>waw .. amazing idea and most importantly the concept behind it .... love it so much </p>
<p>Awesome! Such a nice way to keep in touch, will definitely have to try this. </p>
<p>I love this idea but I'm electronically challenged. Is this something I could do with very little electronic knowledge? I have great basic carpentry skills and multiple electric tool use so I'm not worried about the construction aspects. Any suggestions? How much are 4 lamps is I bought them instead?</p>
<p>The electronics are not bad at all. You need a resistor and the conductive paint. That's it. No circuit board. One component really. If you can use a multimeter and measure conductivity and 5V you should be good.</p><p>The programming is a bit complicated. If something were to go wrong, it might be tricky to reverse engineer what is going on.</p><p>Overall I'd say if you are up for the challenge, go for it. You'll learn a ton and you have us to come back to and ask questions if you get stuck.</p><p>In terms of how much 4 lights would cost, I am taking preorders in quantities of 3 and 5 and you can check that all out on the Kickstarter: http://bit.ly/why647</p>
<p>I'm interested in making some of these, but I'm wondering how you get the Sparks to connect with the wifi. Don't they need the wifi's key? Each for its own home.</p>
<p>Yes there is a free app for iOS and Android you download that Spark Labs provides. The app finds your wifi name. You put your key in the phone and hold down the &quot;mode&quot; button of the Spark Core. 10 seconds later the core knows your name and password. It's pretty slick. You can also give the Spark your key connecting the USB of the spark to your computer and using a terminal program. The Spark remembers several keys too. You can read more about this at spark.io</p>
A touching tribute to family. See what I did there?
<p>That is seriously cool and creative! What a great idea to keep a family (or firends) connected. Thank you for sharing.</p>
<p>This. Is. Amazing.</p>
Awesome! I see you're using a spark core. Do you know if the new spark photon will be capable enough to remove the need for the raspi?
<p>I haven't played with a Photon yet but as I understand it, the Photon is not more capable in the way you are describing. However the expansion of the actual Spark API and cloud will indeed eliminate the for the RPi in the very near future. And consequently for our Kickstarter product we do not intend to have any server. We can handle all the synchronization in the cloud.</p><p>I intend to release all code, instructions etc for our product just as I have for the prototypes assuming a successful Kickstarter launch allows us to take this next step.</p>
<p>Is there a reason that you couldn't use the cheaper Photon model instead of the Core? </p>
<p>The reason I didn't use a Photon is that it wasn't available last Dec. They are currently taking orders for June shipment.</p><p>For our Kickstarter we will be using the P1, which is basically an OEM version of the Photon.</p><p>I haven't played with a Photon yet so I can't speak directly to its capabilities but I expect the code in this project will work with only minor modification.</p>
it's a superb idea.... thanks for sharing :-)
<p>I love these, and the idea behind them is brilliant! (Ha!)</p><p>Thank you for sharing this great tutorial. I have to say, I really appreciate the thorough and excellent documentation. Nice work, all around!</p>
<p>Thanks. It's sort of a retro look at technology in some ways...trying to offer a new idea of social networking that communicates in a simpler and more beautiful way than our phones and laptops can sometimes provide. I'm glad you like it.</p>
Can you network more than 6, or is that the limit?
<p>You can network as many or as few as you want. 2, 6, 500, whatever.</p>
<p>This is so wonderful! I'm sure these have brought a lot of happiness to your family. And a great Instructable to boot! Thanks for sharing.</p>
<p>Pretty cool</p>
That is a very good, very social idea. When I studyed interior design, I had an idea with a similar concept. Connecting swimming-halls with cameras all over the world. The screen would look like a window, but insted of looking outside, you would look into another swimming-hall at the other side of the world, learning about other cultures.<br><br>Hopefully someone uses these concepts one day.
<p>That's a very sweet way to communicate!</p>
<p>Great job! I love this concept; lovely idea. ;) </p>

About This Instructable




Bio: I am a musician and electrical/computer engineer. I also make new media art when I can create that opportunity. I currently serve as Concertmaster ... More »
More by whyameye:Networked RGB Wi-Fi Decorative Touch Lights PetSafe Pet Barrier Transmitter 
Add instructable to: