Zeroborg with Beagle Bone

I've been attempting to connect a beagle bone with a Zeroborg for a while now.

I am using the following settings to try to connect the boards:
ZB = ZeroBorg()
ZB.i2cAddress = 0x48
ZB.busNumber = 0x02
ZB.Init()

I get the following error with that :
Loading ZeroBorg on bus 2, address 48
Missing ZeroBorg at 48
ZeroBorg was not found
Trying bus 1 instead
Loading ZeroBorg on bus 1, address 48
Traceback (most recent call last):
File "test_connection.py", line 9, in
ZB.Init()
File "/home/ubuntu/Project/zeroborgRobot/src/zeroborg_support/src/zeroborg_suprt/zeroborg.py", line 269, in Init
self.Init(False)
File "/home/ubuntu/Project/zeroborgRobot/src/zeroborg_support/src/zeroborg_suprt/zeroborg.py", line 238, in Init
self.bus = smbus.SMBus(self.busNumber)
File "/usr/local/lib/python2.7/dist-packages/smbus/smbus.py", line 56, in __in__
self.open(bus)
File "/usr/local/lib/python2.7/dist-packages/smbus/smbus.py", line 83, in open
raise IOError(e.errno)
IOError: 2

I also tried just scanning for zeroborgs using:
ScanForZeroBorg()

That gives the following error:
Scanning I▒C bus #2
No ZeroBorg boards found, is bus #2 correct (should be 0 for Rev 1, 1 for Rev 2)

I also probed the I2C lines and the beagle bone seems to be sending read and write query messages.

Let me know if someone has seen a similar problem.

piborg's picture

You can prevent the code trying an alternative I2C bus by calling Init with the value False, i.e:

ZB.Init(False)

As for why it is not working, this could be explained by different voltage levels. What voltage level does your board use for the I2C lines?

Subscribe to Comments for "Zeroborg with Beagle Bone"