The brief here was for a simple controller of washroom lights and fans. It had to be small, low-cost, and fit in an off-the-shelf housing.

The module is controlled via a 2-wire power&data bus, carrying command, status and config data. Rather than use a standardized bus such as CAN or 1-wire, we designed a bespoke bus to suit this application whilst keeping component and wiring costs to an absolute minimum.

We used an Atmel ATMega8 micro to bit-bash the serial data interface, handle the bus protocol, provide error detection and fail-safe operation, and control the relays. And we used good old-fashioned relays, with low power latching actuators, for switching the loads. I know that solid-state switching is popular, however mechanical relays are low-cost, reliable, and remarkably tolerant of abuse.

We finished it off with a beautiful little PCB design, with the low-voltage surface mount parts clustered under the relays to keep size down, and some nicely sculpted power planes for the high-current mains connections.

If it all sounds pretty simple, it is. In fact I would go as far as describing it as elegant.

Ben Mack, January 2013