Over the last few weeks I’ve spent some time trying to learn about Arduino. I began by working to get text to output to a 16×2 LCD screen. Thanks to a wealth of resources out there for Arduino based projects, this wasn’t too hard.
Next I wanted to see if I could use a microphone to get an audio signal into the Arduino. One thing to note is that the Arduino analog ports only handle signals between 0 and 5V and a microphone will input both positive and negative values. To fix this you need to build an amplifier circuit with a DC offset and place it between the microphone and Arduino. Here is a video of the sample signal showing on the Arduino serial plotter.
We’re now working to implement code that will identify the fundamental frequency of our signal and output it to the LCD screen. I’ve been looking into a method called the Fast Hartley Transform, a variant on the Fast Fourier Transform, which works only with real data as opposed to real and complex data. More information on the Hartley Transform can be found here: