I noticed a couple of things.
The pin mapping you are now using is different than before
Your current mapping is:
RS P4
RW P5
EN P6
D4 P0
D5 P1
D6 P2
D7 P3
BL P7
BL active Level HIGH
This is the pin mapping for the ElectroFun LCDxIO board with an added NPN transistor for backlight control.
No other backpack uses that pin mapping.
While it should work, I haven't tested it with a NPN transistor (active HIGH).
There may be an auto detect issue there.
The pin mapping you showed in the IB schematic in the other thread is:
RS P6
RW P5
EN P4
D4 P0
D5 P1
D6 P2
D7 P3
BL P7
BL Active Level HIGH
This pin mapping is fairly common and is used in several backpacks like those labeled
mjkdz or GY-I2CLCD.
Note that these two pin mappings are not the same.
The RS and EN pin assignments are flipped.
In looking at post #4 there may be some kind of wiring/soldering issue.
When using an AVR based Arduino, the only way I can think of to get a reported short between SDA and SCL is a wiring issue or a soldering issue.
The schematic in the original post has pullups shown.
So I don't understand your comment in post #6
My schematic is as follows, the only difference from the previous is i've added pullup resistors to the SDA and SCL lines.
Am I missing something? I don't see any difference in the two schematics.
In post #5 the diag output was cut off.
The missing portion of the diagnostic contains useful information about the detected pin mapping.
Can you post some photos of your board?
Given pre-made backpacks are so inexpensive, unless this is part of a larger PCB for a project, why not use an off the shelf backpack?
--- bill