LCD display shows unwanted characters

I'm working on a project using nRF52840 DK. I need to interface ublox neo6m GPS module, 2x16 ALCD, and an accelerometer module(ADXL345). LCD and accelerometer modules are interfaced using I2C and Neo 6m GPS module via UART. I use a power bank to supply all the modules including nRF52840 DK and all the other modules. After powering on the LCD will show Latitude and longitude values and  XYZ  axis values on the LCD And also notify these data to the mobile application via BLE. But the issue is that I'm getting unwanted characters displayed on the LCD after some time. I can't specifically say when the issue happens. It occurs sometimes very early and sometimes works better more time but eventually ends up in a glitch.  I tried some workaround to fix this like,

1. Powering up the GPS module separately.

2. Tried changing the jumpers connected to LCD.

 But it didn't work out. Could you please guide me on this what could be wrong here?

  • Yes in the first part of the video it was the expected one, and second part is with the. LCD glitch. I tried the swap test also but getting the same issue.Also tried to probe the pins after swapping the LCD. I think I2C com is fine. Properly writing data to LCD. Attaching the images before and after LCD glitches

  • Hello,

    Thank you for sharing this additional information as well.

    The flanks/characteristics for the communication looks correct in the shared screenshots, yes.
    The last thing we should check in this regard is that the written symbols actually
    You could do this by either going through the code to see that there are no chance these symbols could be the result of a memory shift, or similar, or to check this by exporting the trace from the logic analyzer/oscilloscope and verifying what is written this way.

    Have you reached out to the manufacturers of the LCD to see if they have any comment?
    If the communication from the nrf is verified to be correct then I am not sure exactly what our next step should be.
    Are you using an official driver for this LCD, or have you made it yourself?
    Perhaps there is an incorrect setting or configuration in the I2C communication, or similar.

    Best regards,
    Karl

Related