Because the CoCo-ri-Co Cool Controller Concept is a hexagonal board with a powerfull ARM Cortex M0 processor and a ring of LEDs, we thought that a 6-string guitar tuner would be a nice application for it. By adding an analog front-end and some clever software the LEDs can indicate how well the guitar is tuned.
After many experiments I finally decided on the principle to use. Attempts to measure the frequency after sampling the signal worked good enough for the lower strings, but a rather high sample rate is needed to get enough precision for the higher strings. The E4 string vibrate at about 330 Hz and for good precision some 50 samples per period are needed. This means a 15 kHz sample rate and the memory that goes with it. It is of course doable, but I decided to use a high-resolution timer to measure periods instead. The analog frontend for this can be simple: a clipping amplifier. I settled for a two-stage approach with an amplifier and a comparator.
A problem with guitar string pitch detection is the second harmonic that can be very strong for the low strings, even stronger than the first. This causes a naive pitch detection algorithm to measure the wrong frequency. I added an RC filter in front of the comparator to try to weaken the second harmonic, but it is a bit futile. Software will have to sort it out.