Starlight Controller – Introduction
A few years ago I made a simple stair lights controller for my parent’s house. Powered by a single PIC16F877 running at 20MHz it had 20 pwm channels and an RS485 interface that I never fully implemented (it simply wasn’t needed). Outputs were driven by BSP170 mosfets that turned out to be highly sensitive to ESD during soldering but pretty reliable when soldered to a PCB. As I was still learning how to program microcontrollers at that time I was fascinated by the things you could accomplish with a microcontroller so instead of having a simple one-by-one animation I decided that a wave-like effect would be better. Everything was placed on a single PCB with through-hole components and I was extremely proud of my work. This simple circuit ran flawlessly for the past 4 years until it met its archenemy – the water! As you already know, water doesn’t mix well with electronics and although nothing blew up (except the fuse in the power supply) there was severe oxidation all over the PCB and…well…now it’s time to make a new version. Bigger and better than before!
And so the Starlight project was born. Basic idea is something like this: provide a decent amount of PWM outputs for LED strips and avoid previous design flaws. And overcomplicate things, bwahahahaha!! Here are my initial specifications:
- 24 PWM channels (because 24 is multiple of 8)
- up to 1A of output current per channel
- up to 4 digital inputs (for proximity sensors)
- up to 2 analog inputs (for…something…a light sensor?)
- CAN interface for future expansion
- USB interface for configuration
- a few status LEDs (because everybody loves blinking lights!)
- optional configuration PCB for stand-alone configuration
I have already received one PCB for the PWM drivers and the controller PCB is on the way. Unfortunately, due to the holidays I didn’t have enough time to actually order parts so now I have to wait until everything arrives (a week or so). It’s very sad to look at the finished PCBs and not have the parts to solder…