Seems to work fine with the Arduino running on 5V. Still a few read errors on 3.3V. Probably timing related.