Controller for my Hall Lights!

Start with: 1 Spark Core (pretty obvious)

Add: Lampy Sketch, from https://github.com/rmd6502/Lampy

Add: RGB Hall Lights, from http://www.instructables.com/id/Add-Wireless-lights-to-your-Home/

Continued in next post, because I can’t upload pix or put more than two links in a post. Sigh.

1 Like

Add: 3D printed switchplate, from https://github.com/rmd6502/openscad (look for FixturePlates.scad/stl/gcode), and three Bourns PTA30 linear slide pots.

Result in next post

Result: (I can’t yet upload pix, sorry) https://www.dropbox.com/s/pc02rbfejsarw4t/IMG_0394.JPG, https://www.dropbox.com/s/a6opc7yg8cexfen/IMG_0396.JPG,

Todo: Replace tape with hot glue, screw into wall in place of existing plate

1 Like

Nice work! I’m doing a similar project. I’m using Lifx Bulbs and the core (of course) to make the switches.
The switches will send udp (read:fast) messages to a raspberry pi central controller running node.js (about 80% completed), which will determine what the operation on the light should be. For example, if all lights in the house have been off for at least 60 minutes, and its after midnight and the bathroom switch was pressed, it probably means I’m getting up to go to the bathroom, and hence don’t want full brightness waking me up, so it’ll turn the bulb to a dim, warm yellowish colour.
Double tap the light switch on the way out the door turns off all lights in the apartment, etc etc…

Here’s a pic of the switch panels I’ve made. Still need to wire in the core, but I’ve made a working prototype and have most of the code written already, so just need to spend a few hours with the soldering iron (i’ve about 9 switches made).

The double circle thing is a playstation portable analog controller. I’ll use the vertical axis to control brightness, and the horizontal axis to control the “warmth” of the colour, from a cool blue, through yellows oranges to a warm orange/red. The other thing is just a momentary button. Using the OneButton library to read Single press, double press and long press. The tiny little hole is for an LED for feedback.

Quite a challenge as they they will be placed on top of the existing switches (I rent, so no destructive changes). I have between 5mm and 9mm depth to play with. So little that I have to bend the core’s pins sideways to make them fit! Tried desoldering and nearly destroyed a core!. The extra edge around the switch is just a double-height fitting, so it fits over existing switches and can be quickly removed (1 screw and 2 breadboard pin connectors) if there is an inspection. :smiley:

2 Likes

Nice! Two pushbuttons and two rotary encoders, very professional and polished look. I also like the mounting for the Spark - let me know when you have a Kickstarter!

UDP would be a much better way to go - I have a Digi Connect, which is really slow, as well as expensive. I think I will transition to NRF24L01+ for wireless and either a Pi or a NRF51822 as the central gateway.

Or just get Hue or Lifx instead of trying to roll my own :smile:

@rmd6502 - I would recommend against the LifX at the moment… I have 4 of them and these things get hot - very, very hot. Like, 200 degrees F or so hot. It’s pretty out of hand and I am very concerned about how long they will last.

The Hue looks like a better option.

Ken

@Soulhuntre - Thanks for the info! (Even tho it wasn’t for me) I’ve been looking at the LifX bulbs and trying to decide which way to go. I’d prefer not to burn my house down, so Hue it is.

@shocku992 - I feel bad saying it, they ran a decent kickstarter and they seem like good folks - but there is no way I could trust these bulbs unattended. I will use them maybe for photography, but not as house lights.

I’m not too concerned about the heat from a safety point of view, they get no hotter than a standard 80W incandescent. I’m more concerned with the fact that they are full of electronics, and that the electronics are cycling between ambient room temperaure (~20ºc) and the operating temperature of the bulb (random guess of maybe 85ºc). This constant thermal cycling of the circuit boards could eventually cause solder joints/vias to become damaged.

Anyone know if this is a common issue in electronics that operate at (relatively) high temperatures? I guess CPUs and GPUs can run close to 90ºc and cycle up and down several times a day and seem to do it for years without issue, so maybe my fears are unfounded?

Efficiency might be an issue, an LED approximates 80W incandescent shouldn’t dissipate more than 10-12W or so, or are they very bright?
As far as thermal stress, unless there are cold solder joints or tiny cracks in the board, or the heat builds up past 350C or so and melts the solder, there shouldn’t be a problem.

Just remembered reading about socketed CPUs wiggling themselves out of the socket over time from thermal expansion and contraction.

Spark Core http://docs.spark.io/#/hardware
Operating temperature: – 20° C to 70° C

I would stay within that range, or your components can do bad things… for example:

3.3V regulator can overheat, fail or thermal shutdown.

STM32 can have memory errors which lead to random behavior.

CC3000 might freak out similarly.

Could you try shielding/venting the light area from the spark core area?

The cores are positioned just over the light switches and talk wirelessly to the Lifx bulb, which is in the ceiling. My concern was with the life of the actual bulb product itself. They’re a new company. Sure they’ve sold tens of thousands of them, but who’s to say they won’t start getting huge failure rates in 6 months? I asked them on their facebook page have they tested for thermal cycling, waiting for a reply…

They are VERY bright. almost twice as bright as the phillips Hue. Max power usage is 17W (which would include all the waste heat and powering the electronics, as well as the LEDs themselves)

Ahh, I was looking at your pictures wondering why there is a light in the control panel… makes sense now! lol.

There are thermal issues - the struggled with it all through the design and manufacturing phase, changing the design a lot to try and limit it - but it is clear to me they never really solved it.

Ken