Picoborg reverse not found

I had a perfectly working diddyborg with the latest version of PicoBorgRev.py working for python3(see attachments)

After installing PiLight for the RPICAM, I removed the servoblaster and connect the i2c cables again. I'm getting following errors.

Loading PicoBorg Reverse on bus 1, address 44
Missing PicoBorg Reverse at 44
PicoBorg Reverse was not found
Are you sure your PicoBorg Reverse is properly attached, the correct address is used, and the I2C drivers are running?
Scanning I²C bus #1
No PicoBorg Reverse boards found, is bus #1 correct (should be 0 for Rev 1, 1 for Rev 2)
No PicoBorg Reverse found, check you are attached :)

I checked cabling and replaced each cable to see if there was no problem with the cables. The pi is starting with the batteries so, the battborg is working. When i start with micro usb i'm getting the same errors.

sudo i2cdetect -y 1 is giving following output
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Someone any ideas?

Attachments: 
piborg's picture

This is all rather strange, I am not sure why your hardware changes would affect the PicoBorg Reverse so much.

One thought is that it may help to slow the I2C down slightly and see if it then works. Look for the RawRead function in PicoBorgRev3.py and add in the highlighted line below:

    def RawRead(self, command, length, retryCount = 3):
        """
RawRead(command, length, [retryCount])

Reads data back from the PicoBorg Reverse after sending a GET command
Command codes can be found at the top of PicoBorgRev.py, length is the number of bytes to read back

The function checks that the first byte read back matches the requested command
If it does not it will retry the request until retryCount is exhausted (default is 3 times)

Under most circumstances you should use the appropriate function instead of RawRead
        """
        while retryCount > 0:
            self.RawWrite(command, [])
            time.sleep(0.01)
            rawReply = self.i2cRead.read(length)
            reply = []
            for singleByte in rawReply:
                reply.append(singleByte)
            if command == reply[0]:
                break
            else:
                retryCount -= 1
        if retryCount > 0:
            return reply
        else:
            raise IOError('I2C read for command %d failed' % (command))

With any luck all you need is a slight delay between the sending and receiving, in which case this should fix things :)

If that does not help my only remaining idea at this point is that some other bit of software is altering the behaviour of the I2C pins in a way that it should not be...

The solution with the rawread didn't work out. I wonder if the installation of the pi-pan pilight might corrupt the I2c working for other applications. I uninstalled pi-pan and pilight. Now I'm getting following error:

Loading PicoBorg Reverse on bus 1, address 44
Traceback (most recent call last):
File "forwards.py", line 16, in
PBR.Init()
File "/home/pi/diddyborg/PicoBorgRev3.py", line 301, in Init
self.i2cRead = io.open("/dev/i2c-" + str(self.busNumber), "rb", buffering = 0)
IOError: [Errno 2] No such file or directory: '/dev/i2c-1'

Enabling I2C via raspi-config is giving me the first error again.

To be sure the picoborg reverse is not defect. Where exactly can I find the blinking led on the picoborg reverse at starting up, because i don't see anything.

piborg's picture

The LED should come on for about half a second when the power is connected. See image below for location.

It might be worth re-running the install script for PicoBorg Reverse as well to make sure all of the I2C bits are installed:

cd ~/picoborgrev
./install.sh

After that restart the Pi and see if it now works.

Images: 

No led at all, so i think i have to order a new picoborg reverse.

piborg's picture

That was not what I was expecting at all, I cannot see any particular reason why the PicoBorg Reverse would be broken from what you have described...

Unfortunately we have stopped making PicoBorg Reverse, so you will not be able to get a new board. The good news is that it you can replace it with our ThunderBorg which has the same functionality plus a few extras.

As the ThunderBorg already generates the 5V supply for the Raspberry Pi you will not require the BattBorg when running from batteries any more.

I would suggest carefully double-checking any wiring before connecting any power to your DiddyBorg in future just in case the problems were caused by accidentally mixing up power and signal wires.

Subscribe to Comments for "Picoborg reverse not found"