I'm tracking the files for ED on github at http://github.com/flickerfly/Electronic-Discovery. You'll find the Eagle schematics, Fritzing files, An Arduino sketch and even a picture of what ED would look like on a breadboard.
You can also download the latest collection of files in these formats:
The Arduino Sketch consists of a number of files that are tabs in the Arduino IDE. You'll notice that it is very modular, dividing out ways to gather data and ways to respond to data in separate tabs. The actual tests can become a simple, "if this then that" type of code easily read and written. The intention is to make it easy to rapidly develop new ways to interact with ED.
EDsketch.pde file has the basic setup, loop and variable settings in it.Tests.pde is a collection of what I call tests (the actual code that analyzes input) as well as some logic to help choose which test to run.
indicators.pde provides the triggers (called by the tests) to light LEDs or make noise.Polls.pde also assists the tests. These are a set of functions to analyze the various inputs as units. For example, the avgMouth() function is written is Polls.pde. It averages the value of all three mouth sliders and returns a value. Another function compares the value of two pots to see if they are sufficiently similar to warrant triggering an indicator.The simplicity of writing new tests is also dramatically improved through the use of AlphaBeta's Hardware Abstraction Layers (HALs) for Arduino. Specifically:
