I have recently bougth this E-Paper display module: https://www.waveshare.com/wiki/4.3inch_e-Paper_UART_Module. I have interfaced it with ATMega1284p and got it working correctly except for the contrast part. When I received the display, it was having that image being displayed on advertisement, as it is. It was having perfectly balanced contrast but the moment I refreshed the E-Paper for the first time, that contrast has vanished.
I am getting really low contrast and I am not able to find any solution to this so far. I suspected some flaw in my code so I have tried the demo code provided by manufacturer with Arduino UNO, but the result stays the same. I am driving the microcontroller and display with 5V. I am speculating that the display itself is faulty and trying to get a replacement.
However, at times while refreshing, screen turns quite dark, which I am unable to reproduce for any image, or font, or shape drawn using raw commands only. This makes me think that the screen itself is having capability of displaying everything in high contrast but the processor communicating with it having some kind of fault.
Also, one more strange thing I have noticed is that the color code is inversed for this display. For example, if I draw an image with Part A being Black and Part B being White, then it will be displayed as Part A being White and Part B being Black. If I request the foreground and background color information from module, it turns out to be correct, but displaying is inverse. The same behavior follows for internally drawn shapes too.
Moreoever, as this display is having 4 shades (White, Light Gray, Dark Gray, Black) I thought that it might be the case that the internal codes of those shades got mixed up somehow, so I tried drawing shapes by setting the colors Light Gray and Dark Gray, instead of White and Black but, that worked as it should! The result was having even lighter contrast!! I am monitoring responses from module and they're always perfect - sending ASCII of OK and values that I request.
I have searched a lot on google also regarding this issue (contrast one, as that's making the display unusable) but it seems to me that no one has ever encountered such a problem before. I have watched the videos of users interfacing the same display module with Arduino and getting perfect results with great contrast. And while I am using the 'Same hardware and Same software' I am not getting it! I have posted the images of display below. If anyone has any idea about how to solve this, please help me out. Thank you.