And as I explained there in #8, the faulty blocks on the right hand side indicates a fault in, or connections to "U2", the HD44100 "slave" chip to the HD44780.
It is suggested that a lot of Aliexpress/ eBay stuff is rejects. And it is all Chinese low-level "consumer" grade material in the first place. Frankly, somewhat limited lifetime in general.
I did several positive transactions with this Seller on Aliexpress. If you check the price for the combined LCD+Expander offer, it doesn't make sense so much to desolder yours.
What is "Yours" ?
Was this response to me about I2CexpDiag?
If so, not sure what platform and board you are using but I2Cexpdiag should work on all platforms.
It appears you are using platformio to do the build.
I don't know anything about platformio but it doesn't seem to process the sketches the same way the IDE does.
It appears to not be automatically creating prototypes for forward referenced functions.
This is a serious limitation that will cause failures on quite a bit of existing Arduino code.
Was the display working properly when the diag test was run or did it still have half the screen with all pixesl on?
The diagnostic didn't see any issues. This means that data path to the LCD and all its internal memory and memory addressability is ok.
If there are stuck pixels as before,
there is some kind of h/w issue in the area that drives the pixels.
Maybe if you are lucky it is just a loose or improperly aligned zebra strip.
You might try pressing on or wiggling the LCD glass a bit on the display to see if anything changes
You could try re-seating zebra strip but it will be tough since the backpack is in the way of the clips so to mess with it you will likely have to de-solder the backpack.
Yeah desoldring a header can be quite difficult without special desoldering tools.
I found that if I didn't have the tools, using dremel to cut all the pins to seperate the boards then desoldered the pins one a time on each board worked pretty well.