Each light has a surface mount electrolet microphone that goes through an amplifier for some preamplification, and then through a capacitor into the mono input of a LP3950. The capacitor acts as a high pass filter so that only sounds above 25-30Hz are seen, and also allows the LP3950 to re-reference the sound signal to be centered around the circuitry inside.
Internally, the LP3950 uses a variable gain amplifier with the gain set by the peak amplitude seen recently so that the light is more responsive in quiet environments than loud ones, followed by digitization of the signal. The signal is then split into high, medium, and low frequencies, and the LP3950 outputs PWM signals (inverted, they are open drain) intended to drive low power LEDs with a few tens of milliamps. In our system, we are driving higher power LEDs than that (700mA), so instead we use an inverter to get a positive active version of the PWM signal, and then use that to control a transistor system that activates each LED.
A schematic of the prototype shown in the video is available here:
There were some minor issues in that version, namely that every time the LEDs turned on the noise from the high current switching would appear on the reference voltage to the initial input opamp between the microphone and the LP3950. Amusingly, this would cause the LP3950 to enter a feedback loop where the PWM signal would appear to be an audio signal which would then cause more PWM signal. In the prototype we fixed this by adding a feedback capacitor to filter out high frequency noise on the audio input as well as increasing the overall gain -- this has the effect unfortunately of reducing the sensitivity to high frequency actual signals.
In the final version, we are addressing this by putting in a high CMRR regulator to provide a stable reference voltage for the preamp. We felt a little silly for not realizing this would be a problem sooner, but the next version should perform substantially better because of this.
Additionally, the newer iteration will use an actual current source for each LED set to 700mA instead of the simplistic transistor and resistor current limiting setup shown in this schematic. The transistor and resistor work fine, but mean that each LED is actually seeing something between 500mA and 900mA due to variations in forward voltage. To do this, we will be using a pretty cool chip, the STCS1. It's still a linear regulator because switchers are just too difficult to fit into the small footprint, and are a bit too expensive to add, but it should be a significant (although mostly not noticeable) improvement to the high power LED subsystem of the design.
The last thing we are adding is a line in with a jumper that allows you to reconfigure the moonlight to accept audio signals from a higher quality single microphone source at line levels and send them directly into the LP3950. This will be done with a header on the back of the board accessible behind the case.
Power wires plug into the board from a header on the back of the board that similarly sticks through the case.
Cases will most likely be pretty similar to what is seen in the videos. If the quantities get high enough it might make sense to use an extruded aluminum case, but my guess is that we will continue using bent sheet metal parts due to the small quantities. Each case has mounting holes on the side for angle mounting as well as in the back for directly placing onto a wall or scaffold. In the case of a scaffold, the combination of mounting holes and power plugs on the back mean that it can be entirely assembled into an array with no visible wires (wire runs inside of the scaffolding).