I'm trying to understand why only the odd numbered ASCII characters are NAKed (even numbered are ACKed).10K pull ups on clock and data. Custom board, I2C communications.Characters are all displayed correctly if I remove the ACK/NAK check completely from the comm layer.

I'm bit banging (a port of the given example). From the capture it is running about 150K. I did try adding another CLK_LO at every CLK_LO and a CLK_HI at every CLK_HI to run at 50% of my nominal speed. No difference.

Thanks for the information. Do you have any other displays to try? Are the any other devices present on the I2C bus? If so, can you isolate the display? With your current I2C setup, can you communicate with any other devices and receive all ACKs correctly? As I've said I haven't heard of this previously, so it is a new, and fairly odd issue.Please confirm the above, and if all else fails please either contact quality@newhavendisplay.com to setup an RMA to return the display back to us for analysis. If you prefer a quicker alternative, you may purchase another display from our website or our distributors such as DigiKey or Mouser and run your test again.

I have 3 boards they all exhibit the same problem. The display is the only device on the I2C bus. It is interesting to note that the display seems perfectly happy if I ignore the NAK and if I try to keep reading (waiting for an ACK) it will never supply one. It appears that it thinks things are ok even tho I got a NAK. And all the characters NAKed display fine.

It seems there is some issue with your software or board. I have just tested this display with an Arduino with the following code, and coded it to not allow for the program to continue if there is no ACK. All characters are displayed properly. See code below: