Skip to content

Instructions – Tuning Fork

Part One: Identifying a Note

It is not straight forward to decode wave/signal data into a musical note. Rather than a simple measure of frequency, a more complex algorithm is required that takes into account the changing nature of sound data across a sample (e.g. harmonics), a process called autocorrection.


Controller Board: Arduino MKR 1010 –


Implement and expand example found on Arduino & Instructables site. Original code and project by Adapting this base code to run on Arduino MKR1010.

Arduino forum (, Instructables (, Reference GitHub Code (


  • Download the code from GitHub.
  • Insert into sketch files (remember headers which contains example data).
  • Add additional code to give a lettered output – e.g. ‘C4’.


Serial Baud-rate was not compatible with different hardware. Set to 19200 instead.


Input test file correctly identified.

Part 2: Getting audio from a sensor (microphone)

Sampling audio data requires a microphone component. In this case I used the MAX9814, a common basic microphone component.



The microphone component needs to be wired to 0v and 5 v for power, and uses a single anologue pin for output:


Wire and code as in above exmaple and audio it output into the serial monitor.

Part 3: Analysing input audio data (live) – combining part 1 & 2

Part 4: Changing Vision – Harmony

Part 5: Modelling and building tuning fork housing.

Part 6: Harmony Board