FFT implemented in a micro

Disclaimer:

FFT - Fast Fourier Algorithm

I do use the Arduino library https://github.com/kosme/arduinoFFT

You can install it from the offical Arduino system:

 

Test and metrics

It is tested on an Arduino MEGA with 8 Mbyte RAM.

  • 200 Hz sampling- 200 Hz sampling

  • 512 pins fft

  • 50Hz signal from a single wire in A0 on an Arduino Mega

  • See in folder 200Hz_sampling_50Hz_noise in …

  • 512 pins fft

  • 50Hz signal from a single wire in A0 on an Arduino Mega

  • See in folder 200Hz_sampling_50Hz_noise in …

Th Arduino program for testing a FFT with 512 samples uses 4337 bytes so if you only have an Arduino UNO I assume you can at most do a 128 pins FFT.

Code should be able to run on an ESP32 and similar - but no guarantees as I have not tested it yet.

The code - adapted from on of the examples in the library

The test code adapted from FFT library examples.

(open/close)

the fft plot

(open/close)

the fft plot as numbers

(open/close)

Code

Its all here included a copy of the fft library

Src folder list: here

Jens

As ususal no guarantee given for whatsoever