Upon moving into our 'new' home in Texas (5/2016), we noticed an under-cabinet lighting system was in place in our kitchen.  We thought cool, this will help brighten up our kitchen.  I found the remote, tried all the buttons, but nothing happened.  I then noticed that the light pucks were all battery powered.  This might make for an easy install, but wow, that is a lot of batteries (3 AAA batteries per unit x 8 units).  So after settling in a bit I decided to convert the system to use a wall wart for power and modify the system to slave itself to the under-cabinet microwave's surface lighting system (nice two level control button on the microwave front panel, i.e. not added switches). The idea was to install a small circuit into the microwave, connected in series with the lighting system, which would be powered by the controller board, and would return the current flowing to the lights.  The controller would read the A/C waveform for the current and determine the light setting level (off, low or high) and then transfer a light level to the modified light pucks via a four wire cable (+5, ground and an I2C bus). 

 

This all worked well for a while, but the current sensor was also picking up crazy readings when the microwave was in use, or when the microwave door was opened or closed.  I tried various modifications to the reading of the currents, but nothing was rock solid.  Either the lights would come on randomly or not come on at all.  I had adapted the algorithms to use filtering, modified the baseline and thresholds programmatically, moved the limits around, but nothing seemed to work quite the way I wanted.

 

Here are some pictures of the various components (original and modified):

This is the original unit back, front (light on) and controller (as best as I can tell, this was a home depot distributed product).

 

 

After cutting out the old battery compartment, I mounted the universal PCB (at left, configured as a end-point light fixture, center, configured as the controller and at right, the original electronics).  I used a Atmel, ATtiny85 as the processor for the light pucks and the controller boards (the opposite of this boards as the three LEDs mounted). In all, a very simple replacement PCB, designed around the mounting holes of the original unit.

 

So fast forward to the present.  After having recently completed a PIR based system for a client, I began to think that maybe I should convert my kitchen lighting to a PIR motion turn on/off system.  My wife agreed and I started planning on a very simple implementation.  Using a simple SparkFun PIR sensor, that I connected in place of my current sensor board (+5V, ground and input), I could and a 'motion detect' signal to my controller. My idea was simple, on motion detect, turn on the lights and set a timer.  Any time motion is detected, the timer is reset.  When the timer times out, the lights are turned off.  The modification to the controller was very simple, rip out all of the current sensing, replace it with a simple motion detect (high going logic level) and add a simple timer (1 to 120 minutes). Even with my dominant (right) arm in a sling, I was able to code and test the changes in a little less than a day.  Hopefully I can finish the installation tomorrow.

 

We will see how long this system work!