For further information in recreating our efforts, please see the following resources:

OpenEEG Project
Beginner's guide to Atmega128

Tips and Tricks:

A large capacitor on the input for the HRM (we used 10 uF) will act as a low-pass filter, removing external noise and transient signals.

Buy the modEEG board premade if you can afford it. It's many hours of soldering, part-finding, and troubleshooting you won't have to do.

We used passive electrodes with EEG paste (Ten20) successfully. When using passive electrodes, you will receive much EMI, especially around 60hz. You should be able to filter out most of this in software, however.