Ok, short update. I fixed the new way of sending the serial data. I was missing a value and the SD software didn't know what to do. With that working and the new "delay" setup, I can get data every 15msec. If I go any faster, the SD software falls behind in some weird way. I am currently printing a bigger peg wheel for the RPM measurement. I am hoping this will yield better results due to the symmetry issue. If my 3d printer is off by some number of mm, then that same number of mm on a bigger wheel should still be better. On the other hand, having the holes on a larger radius means they are passing the sensor with a higher angular velocity. This may cancel out the whole advantage but I am too lazy to do the math.