Dual Digital HOA for Lighting Controller

This is a dual HOA switch for motion sensing outdoor lights. I used common (inexpensive) motion sensing lights with some modifications and designed a PCB to fit in a dual gangbox, so the digital HOA, complete with nice LED indicators, can be mounted easily on the house with a customized dual gangbox faceplate. Each light can be controlled by a combination of the two motion sensors, and each light has its own ON time that can be set from the switches on the dual HOA interface.

MDF Library in ANSI C

I wrote a library in ANSI C that implements the MDF format. The library provided public functions to add new data definitions, write the header, and add data to an unsorted MDF file. It also provisioned for space limitations on the storage device and unexpected power loss.

The code was written using structs and as much function and data hiding as ANSI C allows, so it was fairly object oriented. It also allocated memory dynamically using malloc, calloc, and realloc, and while a memory leak was not a concern because the logger would only be shut down on total loss of power, care was still taken to free any dynamically allocated memory appropriately.