SMBUS not found after upgrade


I recently upgraded my raspberry pi 3 to Linux rpitwo 4.9.33-v7+ #1012 SMP. Since then I have problems with the SMBUS.

With an earlier upgrade I had the same problems but managed to fix it with foruminfo hereunder
cd ~
sudo apt-get -y install python3-dev
tar xf i2c-tools_3.1.0.orig.tar.bz2
cd i2c-tools-3.1.0/py-smbus
mv smbusmodule.c smbusmodule.c.orig
wget -O smbusmodule.c
python3 build
sudo python3 install

sudo i2cdetect -y - 1
gives me 44 and 36. In fact I was trying to install PI-Light on the RPI Camera at a diddyborg so I hoped to see here also address 18.
Can you please point me in the right direction.

piborg's picture

The I2C behaviour was updated at some point, the change actually stopped our UltraBorg library from working normally. We have since updated the library to fix the issue, the result is that the new library does not use the SMBus module any more.

Check out this forum post for instructions to update the library to the new improved version: UltraBorg library fix.

There is also a new version of the PicoBorg Reverse library as well: PicoBorg Reverse library fix.

The only issue is that the code for both is not fully compatible with Python 3.

There is a Python 3 version of the UltraBorg script here:

There is a Python 3 version of the PicoBorg Reverse script here:

Thank you. I managed to install the right files now. My ultraborg en picoborgreverse on the diddyborg are working again. However I'm trying to use the PI-Light from the RPI camera with the PIPAN servos. Normally servoblaster is used to connect them. As I had no more space on the rpi I wanted to connect both servo's and Pi-Light with the ultraborg. The servos are working but the Pi-Light isn't. Is there a way to connect the picoborgreverse, ultraborg and servoblaster side by side?

piborg's picture

The Pi-Light looks like it could be connected directly to the daisy-chain connection on either the PicoBorg Reverse or the UltraBorg. As far as I can see the I2C Access Point Board should work, as would directly connecting cables to the correct pins on the header.

The trouble is having the BattBorg connected at the same time as it uses all of the pins.

There are several possible solutions to this:

  1. Use a GPIO splitting board - Using something like out TriBorg+ you can get a complete copy of the GPIO pins. In this case simply connect the PicoBorg Reverse and UltraBorg as they already are to one of the headers and the Pi-Light to a second header.
  2. Split the I2C cabling - You could use a breadboard or similar to split the first six pins into a pair, one of which goes to the Pi-Light
  3. Solder onto the BattBorg - You could very carefully solder some wires onto the back of the BattBorg connector, allow them to be connected to the Pi-Light. A mistake could damage the boards so only try this if you are confident in your soldering skills!
Subscribe to Comments for "SMBUS not found after upgrade"