Hot answers tagged

2

A device tree overlay which allows the use of an ssd1306 via i2c was merged into the Raspberry Pi OS (Raspbian) kernel in early 2019 (https://github.com/raspberrypi/firmware/issues/1098). To use this, you could add dtoverlay=ssd1306 to /boot/config.txt. If you want to use the ssd1306 as your primary console, then you can prevent the Pi GPU being used as the ...


2

To answer my own question:I unplugged my Pi, and SSH'ed in and typed i2cdetect -y 1. Then both 0x77 and 0x4b showed up!! Not sure why this works, but it seems that rebooting can often help!


2

You do not understand I²C - this is an open drain bus, so the concept of fanout does not apply. Loading is limited more by capacitance - which in turn is related to bus length and layout in addition to the number of devices. You can maximise the number of devices by utilising low value pullups or buffering. See Buffering and multiplexing in https://en....


2

The documentation states i2c_vc Set to "on" to enable the i2c interface usually reserved for the VideoCore processor (default "off") The 2nd I²C interface is reserved for HATs (and also probably used for GPIO extension - although this is undocumented)...


1

As Steve has mentioned your fundamental problem is lack of a ground connection. ANY electrical circuit NEEDS to be complete. That means that you need a loop for current to flow. This is most commonly provided by a connection between the ground of the circuits. The (not very good) tutorial you linked fails to mention this because it is "obvious". ...


1

I'm new on this forum so I can't write a comment on Stephane Bourque's answer and I must create a new answer. I'm writing I2C slave just like you and I've found a solution regarding an uncontrolled shift on xfer.txBuf register, and that solution is to read the entire "txBuf" that is BSC_FIFO_SIZE (512 bytes) long on the master side. I've just ...


Only top voted, non community-wiki answers of a minimum length are eligible