The 'middle shield' can either be home-made, or purchased, or assembled from a kit. It's used because the TFT shield covers Arduino Uno's I/O headers and we need access to the A0 and ground pins to connect the buzzer. The picture above shows a home-made shield that gives side access to these pins, and the buzzer connections.

The second picture shows a different homemade shield. Both of these shields were made using circuit boards and pin headers. If you make your own shield, some shield stacking headers will be helpful:

Attachments

Step 3: Adapt the Sketch - Tuning for Different Instruments

The sketch has been commented, so it should not be difficult for you to modify it for different ukulele tuning if you prefer, or for guitar, banjo, etc. if you don't have a ukulele. See the reference to Wikipedia's article on ukulele tuning (also cited earlier):

Leave the middle element (the x screen coordinate) for each note as it is, and change the note frequency (first element) and the note name (third element). You will then have your own custom-made ukulele tuner that works for your preferred tuning.

Make a tuner for different instruments - such as guitar:

The Wikipedia entry for guitar tuning gives the note frequencies that you will need to make this change.

Since the guitar has two extra notes, you will need to narrow the note width to 40 pixels in this line of the sketch:

#define note_W 40;

Change the key count from 4 to 6 in this line:

const int keyCount = 6;

Now change the elements in the Key keys[] array (see above). For each key you need to specify the frequency, the x-coordinate (where it will be drawn on the TFT screen), and the note name. Use 10 for the first note's x-coordinate, and increment the value by 50 for each subsequent note. (There is a 10-pixel space between each note.)

Acknowledgement

Thanks to Andrew Wendt, who helped tune the code in this Instructable.