The tuner only tunes to the A2 note (110Hz) which is the fifth string on the standard EADGBE tuning, so it's a very basic tuner. But for the number of components used I think it's pretty good.
The tuner works by outputting the beats between a reference 110Hz signal and the signal from the guitar. Basically, when two signals of different frequencies are added together, they interfere such that the resulting signal oscillates between high and low amplitudes. The frequency of this oscillation is the same as the difference between the two source frequencies. For example, if a 110Hz signal and a 112Hz signal are mixed together, the output will have a beat at 2Hz.
So in this circuit, the first 555 runs in the standard astable mode, and generates the reference signal at 110Hz. It's very important to trim the frequency accurately because the accuracy of the reference signal determines the accuracy of tuning. (Protip: not doing this also makes you look silly on video.)
The second 555 is where the magic happens: the reference signal is combined with the guitar signal.
The first problem is conditioning the guitar signal for the 555. Because the guitar output is floating, in this circuit I've attached the guitar ground to the control voltage pin of the 555. The output line goes directly to the threshold pin. This effectively level-shifts the signal so that the threshold pin now simply responds to the polarity of the guitar signal. A guitar has a relatively large output impedance of up to 10kOhms. This is no problem for the threshold pin which has an input impedance in the mega-ohms range. The large output impedance can also be used as part of a low-pass input filter by simply adding a capacitor. This helps filtering out harmonics present in the signal
The second problem is combining the two signals. In this circuit, the reference signal is connected to the trigger pin and keeps trying to make the output high with every cycle. However, the guitar signal is connected to the threshold pin and keeps trying to make the output low. The result is that whenever the two signals have different frequencies, the output will have a changing pulse width, resulting in a visible beat when shown on the output LED.
The second 555 drives the output LED directly, and there is a capacitor across it to filter out any potential high-frequency beats that cannot be perceived by the eye.To tune a guiar, you play the fifth string, and look for the beats on the LED. Adjust the tuning knob so that the beat happens at a slower and slower frequency, until you can no longer notice it - the LED will be at a constant brightness. The fifth string is now tuned. The other strings can be tuned based on the A note.
And that's how this circuit works! Here's a recap in motion pictures form:
Of course, there are still a lot of things that can be improved. First, the reference signal has to be trimmed and is unstable. It can vary a lot with supply voltage and temperature differences, directly affecting the accuracy of tuning. The output is also a little hard to read. But still, using only two 555's and a handful of passive components, it's probably as simple as it gets!
Thanks for reading!