Relationship of FFT Size, Sampling Rate and Buffer Size
There is a direct, and actually quite simple, relationship between all the figures.
Let's start with the sample size.  The numbers of bins (or &quot;buckets&quot;) is equal with half of the samples in your set. For instance, if you have 1024 samples, then you get 512 bins.  As simple as that.
Now for the sample rate.  The maximum frequency is half the sample rate (see Nyquist-Shannon sampling theorem).  So if you have a sample rate of 2.67ksps then your frequency range is 0-1.335kHz.
Again pretty straight forward - just another divide by two.
Now the bins are spread evenly over the frequency range - so your 512 bins, over 1355Hz is 2.607421875 Hz per bin.
For 0.5Hz per bin up to 300Hz you want 600 bins.  Your target sample rate would be 600Hz.  How you down-sample to that would be up to you.
Most FFT code I have seen works on 2n sample sizes, so 600 bins isn't a nice number.  That would be 1200 samples - not a 2n. So you'd probably want to round it up to 211, or 2048 samples.  That would give you 1024 bins, and you'd want a target sample rate of 1024sps for 0-512Hz range.