UM6 and the Arduino

I can't see anything obviously wrong with your code. Can you take a photo? In your shoes I would be using the logic analyzer to see what is going on, if anything. Something seems to be because the data changes.