The electric potential of the heart is measured across the body with electrodes placed on the right arm and left arm. A third point, in our case at the right leg, is added to provide a common reference and improve signal quality by providing feedback into the body.
The signal from the heart is tiny, with an expected peak-to-peak voltage of 1 - 5 mV. For a 3.3V digital system this needs to be amplified by analogue circuits. 500 times is sufficient (about 900 worked out with my own heart). From the electrodes on the skin, the signal will be passed into the differential amplifier which will attenuate the common mode signal, amplify the differential signal by 10 and add a new reference (Vcc / 2). Then the op amps will amplify the differential signal further by 50 - 100 times, and from here it's straight into the ADC of the microcontroller!
By utilizing Direct Memory Access the microcontroller does the ADC measurements while in a sleep mode, and wakes up at regular intervals to write the ADC data buffer to the memory card. Energy saved!
The rest isn't hocus pocus. There's a battery in there that provides power to the system and that can be charged by connecting the logger to an USB port or phone charger. To close the file before the power runs out, there's a transistor controlled voltage divider for measuring the battery. A button will soft switch the device and save time stamps, while two LEDs will tell you the status.