Very little natural light falls on our stairway between upstairs and the main floor. There is a light there, but the switch for it at the top of the stairs is in an inconvenient location. The lighting is especially poor in the winter when the days are short. We needed a solution before someone took a tumble down the stairs.
Our stairwell on a good day
There are some obvious solutions to the problem. Get an electrician to wire in an additional switch in a more convenient location. We could go a little more high tech and have a wireless way to turn the lights on and off in addition to the existing switches. John Park (at Adafruit) has a solution too:
I had a couple of PIR (passive infrared) sensors from a couple of Adaboxes. These could be used to trigger lights whenever someone entered the top or bottom of the stairs. A NeoPixel strip running the length of the stairs would be a fun, if not overkill, way to light the stairs.
Since these lights could easily be programmed to do whatever I wanted, I decided to throw in a photoresistor to detect how dark it was in the stairway. And, since the Trinket M0 I was planning to use had plenty of program space, and I had a left over GPIO pin, I added a mode switch to change the light display.
That all sounded pretty straightforward. But like all projects, once you actually try to make it and install it, things often get a little bit more complicated.
The remainder of this guide will describe, along with some missteps, what I ended up building and installing.