I recently purchased a PiJuice to use with my security camera server, and had a 0.96" oled displaying the IP address etc which ran fine.
Since adding the PiJuice, the address of the display no longer works. If i manually adjust the bus with dtoverlay i can access 1 or the other but not both on the same bus (with the display on pins not used by the PiJuice).
I have also changed the overlay to create a second bus (i2c2), and this way i can find the display address on the separate bus without problems.
The issue now is adjusting the coding to address the display on i2c2, which is where i am stuck! If anyone has any suggestions, that’d be awesome!
Sounds like you’ve isolated the issues to an I2C address conflict. Can you please link the exact display you were using and the source code you were trying to edit? I would think both devices should be able to operate on the same I2C bus with some changes so that you don’t need a second I2C bus for a single device.
The display address correctly shows as 0x3c when on bus2 as well as when overriding pijuice on bus1, it just won’t read both on bus1 at the same time. I’m using GPIO pins 22 and 23 (15/16) for the display as the juice uses 2 and 3 i believe.
I’ve changed the pins over both wiring and code, but when i run i2cdetect, it only shows one or the other on the default bus despite no address conflict. If i set the display pins on a second bus they are detected, but not by the coding for the display.
Am i correct in reading that if i “import machine.Softi2c” for the display code and adjust the address in the code, it might work?