(This log details work from June and July 2014)
After school got out, I was finally able to work more on fixing the firmware properly. I researched possible fixes, and eventually I got it to work by externalizing the array and adding a bit of logic in DmxSimple to allow for digital blackouts.
With the memory issue fixed, I was able to reimplement the functionality I had to remove for the demo. This time, though, I had much more experience thanks to my co-op/internship over the summer doing embedded C development. I overhauled much of the existing firmware and added features like an LED status indicator and sending debug commands over USB from a PC.
There is still work to be done, but the firmware is in a much more maintainable state and implements features in better ways than it did before.