Does FFT have to be power of 2?
It isn't actually true that FFT works only with powers of two. The original paper on the FFT is “An Algorithm for the Machine Calculation of Complex Fourier Series ” by Cooley and Tukey.
What causes harmonics FFT?
Harmonics "happen" when your input to an FFT isn't a pure unmodulated sine wave. Any unexpected distortion in your input waveform generation (from being exactly identical to mix of sin(wt) + cos(wt)) can be the cause of harmonics appearing in an FFT result (above the noise floor and any windowing artifacts).
How do you read frequencies in FFT?
The first bin in the FFT is DC (0 Hz), the second bin is Fs / N , where Fs is the sample rate and N is the size of the FFT. The next bin is 2 * Fs / N . To express this in general terms, the nth bin is n * Fs / N .