Sampling rate issue in microcontroller
I understand the sampling process is completely handled by the sensor itself, i.e. it delivers digital data. Then you just collect the desired number of samples from the sensor and calculate its FFT. The frequency range depends only on the sampling rate ($f_{\text{max}}=f_s/2)$, the frequency resolution depends only on the number of samples $N$, in your case $N\in[64,2048]$.

There is no sampling done on the uC, as it already receives sampled data. However, what you will want to do is employ a lowpass filter before calculating the FFT, with a cutoff frequency slightly lower than $f_{\text{max}}$, to get rid of high frequency content, that would otherwise cause aliasing in your spectrum.