The June 4, 2018 Instructables article Raspberry Pi Multiple I2C Devices by Jacco Slabbert says
The latest raspbian kernel support the creation of multiple I2C busses using GPIO pins.
See also in GitHub.
This allows you to define additional SMBus objects:
import smbus
bus3 = smbus.SMBus(3) #Aditional 12c bus, configured in config.txt
bus4 = smbus.SMBus(4) #Aditional 12c bus, configured in config.txt
by adding "the following lines to your config.txt file"
dtoverlay=i2c-gpio,bus=3,i2c_gpio_delay_us=2,i2c_gpio_sda=23,i2c_gpio_scl=24
dtoverlay=i2c-gpio,bus=4,i2c_gpio_delay_us=2,i2c_gpio_sda=17,i2c_gpio_scl=27
Here two new pairs of GPIO pins are given sda and scl functions, so even if you have several I2C devices that use the same address, you can connect them all to your GPIO without an additional hardware multiplexer, or without using i2c bitbanging with pigpio, thought pigpio bitbanging the various kinds of communication is really useful once you start to use it.
Question: How can one check one's Pi 3's "Raspbian kernel" to see if it will support this? Is there a particular version number where this support started? Has this support been announced and documented somewhere where I can read further?