Installation Issues

Post here for queries regarding setup problems.

We recommend you try using the troubleshooting instructions here first if you have not already.

Please try to list as much about the problem as you can (OS distribution, versions, motor setup et cetera), the more we know the easier it is to help :)

I'm wanting to verify that the output voltage for a regular DC motor is always the same as the input voltage? Only current is modified?

Or is it the other way around?

piborg's picture

The output voltage is changed by using a method known as Pulse Width Modulation (PWM).
The lower the drive power the lower the output voltage is, the actual output can be worked out with:
drive power X input voltage = output voltage

For example with a 12v supply and a 30 % drive power we have:
0.3 X 12 = 3.6v output voltage

The current depends on both what the input supply can provide (can be large in the case of batteries) and how much the motor requires.
The board does not directly control the current.

See this video for an easy to understand explanation of PWM: https://www.youtube.com/watch?v=Lf7JJAAZxEU

See the Wikipedia page https://en.wikipedia.org/wiki/Pulse-width_modulation for a more detailed explanation of PWM.

Hi
I received my PicoBorg Reverse today, very fast delivery.
I followed the getting started instructions and i am able to use the desktop shortcut to control the motors manually with the slider. works great.

Now I am trying to use webiopi to trigger python macros from a webpage. ( had running successfully using the pirocon controller, all be it with out enough power to turn)
https://code.google.com/p/webiopi/wiki/INSTALL

When i try to use the picoborgreverse from inside another python script, (the "macros" file that webiopi uses to control the gpios) the terminal tells me that there is no module named PicoBorgRev.

i have a copy of PicoBorgRev.py in the same folder as my macros python script, is this right?
do i need to make it so the PicoBorgRev.py file has some sort of root permission?
also i think that webiopi needs to set relevant gpios to out when it starts up, if i were tell the gpios that the picoborgrev uses, to be out for this. would that be ok with I2c? what would those gpio numbers be?

Thank you, i hope i have explained the problem clear enough, if not please ask, i have also attached a copy of the python i am trying to call the picoborgrev commands from.

Thank You
Jay

Attachments: 

i should mention the attached file still contains the gpio setup i mentioned from the webiopi pirocon setup, its the last sections at the bottom.
i have left it so you can see what i meant by webiopi needing to setup gpios.

when i run python and then help from the command line and go to see the list of modules, i dont appear to have anything to do with the picoborgrev listed there.

piborg's picture

The problem comes from Python not knowing where to look for the PicoBorgRev.py file.

The easiest way to fix the problem is to add the folder where PicoBorgRev.py lives to Python's search path.

We can do this directly from the code, so for your example we can add a few lines before the main imports to do this:

#!/usr/bin/env python

#SETUP PYTHON PATH
import sys
sys.path.append('/home/pi/picoborgrev')

#IMPORTS
import webiopi
import time
import urllib
import os
import PicoBorgRev
PBR = PicoBorgRev.PicoBorgRev()
PBR.Init()

The PicoBorg Reverse uses I2C to handle communications, which are on GPIO 0 and GPIO 1.
I believe you do not have to call GPIO.setFunction for these pins, since the PicoBorgRev.py script uses the smbus library to control the I2C.

Thanks.
Adding those lines worked great and i no longer have the module not found error.
but now i have a line in the webiopi debug which says there is an invalid syntax error on the PicoBorgRev.py, line 87. i have not altered the original picoborgrev.py, could this be to do with webiopi reading it wrong somehow?
sorry for all the questions, i am still just learning how to use python

Thanks for getting back to me.
Jay

Images: 
piborg's picture

It seems like WebIOPi is using Python 3, this is causing two problems:

  • The old Python 2 style print statement is no longer correct
  • It will not be able to import smbus as it is only available for Python 2.X by default

The first problem is easy to fix, it simply requires a version using the correct print statements

cd ~/picoborgrev
wget -O PicoBorgRev3.py http://piborg.org/downloads/picoborgrev/PicoBorgRev3.py.txt

To use this version you will need to change the import statement to

import PicoBorgRev3 as PicoBorgRev

Then you can use it normally.

The second problem is a bit more tricky, what we can do is rebuild smbus for Python 3 by making some small changes to the source:

cd ~
sudo apt-get -y install python3-dev
wget http://ftp.de.debian.org/debian/pool/main/i/i2c-tools/i2c-tools_3.1.0.orig.tar.bz2
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 http://piborg.org/downloads/picoborgrev/smbusmodule.c.txt
wget http://lm-sensors.org/svn/lm-sensors/tags/V2-10-8/kernel/include/i2c-dev.h
python3 setup.py build
sudo python3 setup.py install

This should make the smbus module available to Python 3, and hopefully make everything work happily.

Out of interest do you have anything fun planned for your Internet of Things controlled robot?

those instructions worked great! now its time to play with the code and get the tank moving
thank you for your help and for making it easy to understand and follow.

i will make a copy of the webiopi html and python files available for others to use if you like, once i have it going.

piborg's picture

Glad to hear it is all working now.

It sounds like a great little project, we would love to see some photos when you have it ready!

Making the files available to others would be wonderful, we love it when people share with others (the true spirit of open-source software).

Thank you. i will try as you said.
I should be able to follow those instructions with out too much hassle, the first code is to be entered in the LXterminal, the second is a change to the my python file, and the third is to be entered line for line? into LXterminal, is that right?
Thank you, for helping you have made things a lot easier for me and i look forward to using the simple commands way of controlling the motors with your picoborgrev, instead of gpios on/off/on etc

I am building a web browser controlled mobile IP camera, using a heng long tiger1 for the chassis, its just a camera on tank tracks really, but its my starting point, one day my own droid. i'm just starting to get a hang of python

i currently have the pi, the picoborgrev, and a router nicely fitted inside the tank with just the turret missing.
in its place will be a HD pan/tilt ip camera,
with webiopi i have a page with just, for now, the direction buttons, a image place holder, and a text to speech (currently festival but i am looking at using google voice eventually). i want to use an old adapted mobile to trigger a bistable latching relay to turn the whole thing on and off, and i found a tutorial about having your pi tweet you when it boots up, this way i could start the robot and access it and drive it around the house from anywhere, the whole thing is totally unnecessary but cool. future ideas for it include, metal track upgrades so it can go outside, ultrasonic range finder, and if i ever work it out i would love to use opencv and or ROS with a kinect. oh and a cool paint job.

Thanks again
Jay

I have my cables wired correctly, I've checked them three times. Used ScanForPicoBorgReverse() command and it can't find it. Suggestions? Could it be something in my Pi? (FYI call me dumb but I literally blew up my last PBR unit. Hooked a car battery up to the battery pins and had 'em backwards. Pop went the I2C units, literally split one in half, oops. Could that have messed up my Pi as well?) -Nathan-

piborg's picture

Sorry to hear you had problems, reverse polarity power connection is the only wiring mistake with the screw terminals which the PBR cannot deal with...

It is quite possible that some of the GPIO pins are no longer working on the Raspberry Pi, they are not protected from back-powering in any way.

Do you have another Raspberry Pi you could borrow to check if the PBR itself works?
You do not need to attach motors or a battery to do this, just the six wires to the GPIO and check if the ScanForPicoBorgReverse() can see anything.

I have ordered another Pi and I will check it once it comes in

Edit: I'll never know what caused this, but my copy of debian was a couple months old, just got a fresh one and worked like a charm :)

Having a problem thats stumped me, code excerpt below:

pi@raspberrypi ~/picoborgrev $ sudo python pbrSequence.py
Loading PicoBorg Reverse on bus 1, address 44
Traceback (most recent call last):
File "pbrSequence.py", line 12, in
PBR.Init() # Set the board up (checks the board is connected)
File "/home/pi/picoborgrev/PicoBorgRev.py", line 234, in Init
self.bus = smbus.SMBus(self.busNumber)
IOError: [Errno 2] No such file or directory

^ It seems to be able to find PicoBorgRev.py fine if its reading line numbers, the board LED flashes red once when connected and i'm using the default code files supplies which installed no problem. Even when I try manually assigning the busNumber to 1, manually setting path to include the python library. This problem stops me from launching any script requiring PicoBorgRev - But I cant even tell if its a hardware or software problem.

Thoughts??

piborg's picture

Glad to hear you have gotten past the problem in the end.

I cannot really be certain what the problem was, but my best guess would be that the i2c-dev driver was not being loaded for some reason.

During the install we attempt to do the following things to enable I2C access:

  1. Add the lines i2c-dev and i2c-bcm2708 to a file named /etc/modules
  2. Comment out the line blacklist i2c-bcm2708 if it exists in the blacklist file /etc/modprobe.d/raspi-blacklist.conf
  3. Add the pi user to the i2c user group using sudo adduser pi i2c

It is possible that in some versions of debian that one or more of these files have different names, or that either of the two i2c related drivers were not installed.

I have the same problem as @mattwarrentowns...

Traceback (most recent call last):
  File "./initDrives.py", line 14, in 
    PBR.Init()
  File "/home/pi/piCarBT/PicoBorgRev.py", line 234, in Init
    self.bus = smbus.SMBus(self.busNumber)
IOError: [Errno 2] No such file or directory
Loading PicoBorg Reverse on bus 1, address 44
Traceback (most recent call last):
  File "./joyBorg.py", line 17, in 
    PBR.Init()
  File "/home/pi/piCarBT/PicoBorgRev.py", line 234, in Init
    self.bus = smbus.SMBus(self.busNumber)
IOError: [Errno 2] No such file or directory

I've noticed that couple days ago Debian (and Raspbian) has updated dBus, so I suppose this could be the reason? I've tried to do what you recommend in last post but it didn't help :(

piborg's picture

So the basic problem will be that the I2C driver is not loaded for some reason.

Could you try running the following command to load the driver manually:
modprobe i2c-dev
then try the script.

If that does not work run lsmod which should give a list of loaded modules like this:

Module                  Size  Used by
arc4                    1695  0
ecb                     1875  0
md4                     3374  0
md5                     1816  0
hmac                    2630  0
nls_utf8                1235  0
cifs                  284054  0
i2c_dev                 5277  0
snd_bcm2835            18169  0
snd_soc_wm8804          7833  0
snd_soc_pcm512x         8909  0
snd_soc_bcm2708_i2s     5486  0
regmap_mmio             2818  1 snd_soc_bcm2708_i2s
snd_soc_core          128166  3 snd_soc_pcm512x,snd_soc_wm8804,snd_soc_bcm2708_i2s
regmap_spi              1913  3 snd_soc_pcm512x,snd_soc_wm8804,snd_soc_core
snd_pcm_dmaengine       5481  1 snd_soc_core
snd_pcm                81518  3 snd_bcm2835,snd_soc_core,snd_pcm_dmaengine
snd_page_alloc          5168  1 snd_pcm
regmap_i2c              1657  3 snd_soc_pcm512x,snd_soc_wm8804,snd_soc_core
snd_compress            8136  1 snd_soc_core
snd_seq                54581  0
snd_timer              20353  2 snd_pcm,snd_seq
snd_seq_device          6485  1 snd_seq
leds_gpio               2055  0
led_class               4119  1 leds_gpio
snd                    61518  7 snd_bcm2835,snd_soc_core,snd_timer,snd_pcm,sn
d_seq,snd_seq_device,snd_compress
i2c_bcm2708             4719  0

We care about i2c_bcm2708 and i2c_dev.

You can also run ls /dev to list the devices exposed to scripts:

autofs           loop5               ram14    tty11  tty32  tty53      vcs1
block            loop6               ram15    tty12  tty33  tty54      vcs2
btrfs-control    loop7               ram2     tty13  tty34  tty55      vcs3
bus              loop-control        ram3     tty14  tty35  tty56      vcs4
cachefiles       MAKEDEV             ram4     tty15  tty36  tty57      vcs5
char             mapper              ram5     tty16  tty37  tty58      vcs6
console          mem                 ram6     tty17  tty38  tty59      vcs7
cpu_dma_latency  mmcblk0             ram7     tty18  tty39  tty6       vcsa
disk             mmcblk0p1           ram8     tty19  tty4   tty60      vcsa1
fb0              mmcblk0p2           ram9     tty2   tty40  tty61      vcsa2
fd               net                 random   tty20  tty41  tty62      vcsa3
full             network_latency     raw      tty21  tty42  tty63      vcsa4
fuse             network_throughput  root     tty22  tty43  tty7       vcsa5
i2c-0            null                shm      tty23  tty44  tty8       vcsa6
i2c-1            ppp                 snd      tty24  tty45  tty9       vcsa7
input            ptmx                sndstat  tty25  tty46  ttyAMA0    xconsole
kmsg             pts                 stderr   tty26  tty47  ttyprintk  zero
log              ram0                stdin    tty27  tty48  uinput
loop0            ram1                stdout   tty28  tty49  urandom
loop1            ram10               tty      tty29  tty5   vc-cma
loop2            ram11               tty0     tty3   tty50  vchiq
loop3            ram12               tty1     tty30  tty51  vc-mem
loop4            ram13               tty10    tty31  tty52  vcs

We care about i2c-0 and i2c-1.

They may help to debug the problem.

Unfortunately after modprobe it still doesn't work :(

lsmod:

Module                  Size  Used by
evdev                  10661  1
joydev                  9257  0
hid_sony                6146  0
hidp                   13949  3
uinput                  6820  0
bnep                   11062  0
rfcomm                 34305  0
i2c_bcm2708             4943  0
i2c_dev                 5769  0
snd_bcm2835            19584  0
btusb                  16158  0
snd_soc_bcm2708_i2s     6202  0
regmap_mmio             2818  1 snd_soc_bcm2708_i2s
snd_soc_core          127841  1 snd_soc_bcm2708_i2s
snd_compress            8259  1 snd_soc_core
regmap_i2c              1661  1 snd_soc_core
snd_pcm_dmaengine       5505  1 snd_soc_core
regmap_spi              1913  1 snd_soc_core
snd_pcm                83845  3 snd_bcm2835,snd_soc_core,snd_pcm_dmaengine
snd_page_alloc          5132  1 snd_pcm
snd_seq                55484  0
snd_seq_device          6469  1 snd_seq
8192cu                550797  0
snd_timer              20998  2 snd_pcm,snd_seq
bluetooth             230452  15 bnep,hidp,btusb,rfcomm
rfkill                 19784  1 bluetooth
leds_gpio               2079  0
led_class               4118  2 leds_gpio,hid_sony
snd                    62252  7 snd_bcm2835,snd_soc_core,snd_timer,snd_pcm,snd_seq,snd_seq_device,snd_compress

ls /dev:

autofs           fb0      loop0         MAKEDEV             null   ram13  ram8     stderr  tty13  tty21  tty3   tty38  tty46  tty54  tty62      vc-cma  vcs6      zero
block            fd       loop1         mapper              ppp    ram14  ram9     stdin   tty14  tty22  tty30  tty39  tty47  tty55  tty63      vchiq   vcsa
btrfs-control    full     loop2         mem                 ptmx   ram15  random   stdout  tty15  tty23  tty31  tty4   tty48  tty56  tty7       vc-mem  vcsa1
bus              fuse     loop3         mmcblk0             pts    ram2   raw      tty     tty16  tty24  tty32  tty40  tty49  tty57  tty8       vcs     vcsa2
cachefiles       hidraw0  loop4         mmcblk0p1           ram0   ram3   rfkill   tty0    tty17  tty25  tty33  tty41  tty5   tty58  tty9       vcs1    vcsa3
char             i2c-0    loop5         mmcblk0p2           ram1   ram4   root     tty1    tty18  tty26  tty34  tty42  tty50  tty59  ttyAMA0    vcs2    vcsa4
console          input    loop6         net                 ram10  ram5   shm      tty10   tty19  tty27  tty35  tty43  tty51  tty6   ttyprintk  vcs3    vcsa5
cpu_dma_latency  kmsg     loop7         network_latency     ram11  ram6   snd      tty11   tty2   tty28  tty36  tty44  tty52  tty60  uinput     vcs4    vcsa6
disk             log      loop-control  network_throughput  ram12  ram7   sndstat  tty12   tty20  tty29  tty37  tty45  tty53  tty61  urandom    vcs5    xconsole

piborg's picture

It looks like only one I2C bus is available, i2c-0.
By default the scripts try looking for the PicoBorg Reverse on i2c-1, then if they cannot find it they try i2c-0.

Try changing line 194 in PicoBorgRev.py to be:

    busNumber               = 0

This should make the script try i2c-0 before i2c-1.

Yeah, it helped! Thank you very very much :) :)

Hi there,

I am having issues when i lanuch diddySequence.py or any other examples. I keep getting following error:

pi@raspberrypi ~/diddyborg $ ./diddySequence.py
Loading PicoBorg Reverse on bus 1, address 44
Missing PicoBorg Reverse at 44
PicoBorg Reverse was not found
Trying bus 0 instead
Loading PicoBorg Reverse on bus 0, address 44
Traceback (most recent call last):
File "./diddySequence.py", line 15, in
PBR.Init()
File "/home/pi/diddyborg/PicoBorgRev.py", line 264, in Init
self.Init(False)
File "/home/pi/diddyborg/PicoBorgRev.py", line 234, in Init
self.bus = smbus.SMBus(self.busNumber)
IOError: [Errno 2] No such file or directory

I also try changing the bus number to 0 as suggested and running following but no luck.
>>> PicoBorgRev.ScanForPicoBorgReverse()
Scanning I�C bus #1
No PicoBorg Reverse boards found, is bus #1 correct (should be 0 for Rev 1, 1 for Rev 2)[]

I am using raspberry pi rev 2. (Linux raspberrypi 3.12.28+ #709 PREEMPT armv6l GNU/Linux).
Lights on picoborgrev is blinking fast(Red Color) and i have already checked wiring plenty of times.
I ran following diag. tools. Please see below.

pi@raspberrypi ~ $ lsmod
Module Size Used by
i2c_bcm2708 4943 0
i2c_dev 5769 0
snd_bcm2835 19584 0
snd_soc_bcm2708_i2s 6202 0
regmap_mmio 2818 1 snd_soc_bcm2708_i2s
snd_soc_core 127841 1 snd_soc_bcm2708_i2s
snd_compress 8259 1 snd_soc_core
regmap_i2c 1661 1 snd_soc_core
snd_pcm_dmaengine 5505 1 snd_soc_core
regmap_spi 1913 1 snd_soc_core
snd_pcm 83845 3 snd_bcm2835,snd_soc_core,snd_pcm_dmaengine
snd_page_alloc 5132 1 snd_pcm
snd_seq 55484 0
snd_seq_device 6469 1 snd_seq
snd_timer 20998 2 snd_pcm,snd_seq
leds_gpio 2079 0
led_class 4118 1 leds_gpio
snd 62252 7 snd_bcm2835,snd_soc_core,snd_timer,snd_pcm,snd_seq,snd_seq_device,snd_compress

I tried following with PicoborgRev plugged into pi
pi@raspberrypi ~/diddyborg $ sudo i2cdetect -y 1
00: 0 1 2 are without -- else all are with --

then shutdown and using triborg, i added both XloBorg and PicoborgRev and rebooted. I ran sudo i2cdetect -y 1. This time i had row 00 & col e = 0e, row 10 & col c = 1c
I even got a raw sample from xloborg. So this just proves my i2c in funtional.

Using ls /dev...I only see i2c-1. I don't see i2c-0...am i suppose to in raspberry pi v2?

I have also commented out blacklist i2c-bcm2708 in /etc/modprobe.d/raspi-blacklist.conf

Please help me...I think i tried everything. I want to make my Diddyborg mobile. Thanks!

Never mind I fixed the issue. It was one of the two Comm cables which was shipped with kit. It wasn't crimped right so 3.3V wasn't connected to picoborgrev from Pi. It was very hard to spot as it was inside the connector. After ohming the harness out, it was clear one of the wire in the harness wasn't fully crimped. Trickey one!

piborg's picture

Glad to hear that you managed to fix the problem.

Apologies about the cable, wiring issues are always a pain to figure out.

piborg's picture

By the way, let us know if you want a replacement cable, and we'll send one to you :)

Thanks! Yes, Please. Also, there was white jumper that was missing from PicoborgRev. If you can send that also, it would be great. Where can I email with my personal address? Thanks!

piborg's picture

I've sent you an email :)

Can someone link me to a place where I can buy this robot, I would like it to be already constructed and the software and thing to be installed. Please email me back at ...

Thanks Oliver

Used the ScanForPicoBorgReverse and none was found.
I downloaded the most recent raspbian to the pi and now the gui wont open.
Checked with another pi and it still isn't detecting the PBR.
-Patrick

piborg's picture

Hi Patrick,

Could you run the following two commands and post the output from them:
sudo i2cdetect -y 0
sudo i2cdetect -y 1

They should tell us if Raspbian can see the board, and which I2C bus it is attached to.

Did some test and found that one of the cables connecting the pi to the PBR wasn't working which might be why the PBR wasn't being detected.

piborg's picture

That would cause the kind of problem you are having.

Do you want us to send you out replacement cables?

No thank you. I have managed to get it working.
Thank you for the help and the quick response.
-Patrick

The PicoBorg Reverse comes with two 3 way cables which fit very neatly onto pins 1-6 of the GPIO. My problem is that I currently have a Slice of Pi board taking up those and more pins on the Model B+ I am using.

The Slice of Pi board offers up the required SDA, SLC, 3v, 5v and GND connection but only 1 of each. The supplied cables have connection to both the Pi 5v GPIO pins 2 and 4.

My question is, do I have to provide 5v to both the pins on the PicoBorg Reverse or will providing to either be okay?

Thanks in advance

piborg's picture

The PicoBorg Reverse does not actually use either of the 5v pins, they are provided so another board which does need them can still use the daisy-chain pins to get at the 5v.

In other words you can leave both 5v pins disconnected and the PicoBorg Reverse will work normally.

Even better than I hoped. Thanks for the quick response.

I noticed some others stating that they had problems with the cable harness. I too had an issue where the PBR was not being recognized. I tested the harness after reading through this thread, and that was the issue.

piborg's picture

Unfortunately it seems like we might have had a bad batch of cables...

Do you want us to send you out replacements?

It would be great if you could send 1 harness. Only one is not working.

Thanks!

piborg's picture

No problem, should we send it to the same address as your order, #4016 ?

Yes, please use that address.

piborg's picture

We will put one in the post for you tomorrow :)

I have problems whit diddyborg example diddyJoy.
it will only print this on screen:

pi@carPI ~/diddyborg $ ./ps3DiddyJoy.sh
sixad is already running.
run '/usr/bin/sixad --stop' to stop it
Loading PicoBorg Reverse on bus 1, address 44
Traceback (most recent call last):
  File "/home/pi/diddyborg/diddyJoy.py", line 17, in 
    PBR.Init()
  File "/home/pi/diddyborg/PicoBorgRev.py", line 234, in Init
    self.bus = smbus.SMBus(self.busNumber)
IOError: [Errno 2] No such file or directory

I'Dont know what's wrong.

piborg's picture

I think this is because the scripts are trying to use the wrong I2C bus for your Raspberry Pi.

By default the scripts try looking for the PicoBorg Reverse on i2c-1, then if they cannot find it they try i2c-0.

Try changing line 194 in PicoBorgRev.py to be:

    busNumber               = 0

This should make the script try i2c-0 before i2c-1.
Since all of the examples use PicoBorgRev.py it should fix all of them.

it's working now. thanks

Hi All,
I bought my DiddyBorg from ModMyPi this week, arrived last night and had fun so far putting it together with my 7yr old son. As a side, unfortunately the kit was delivered without any allen keys so we can't attach the wheels - modmypi don't appear to be that fussed or helpful so far with regards to sending me one.

Anyway, i've moved onto the programming side whilst I get the allen key/wheels thing sorted out, but i've hit a block.

(i'm using a new Raspberry PI 2)

I am powering the rPi via the usb port with the reverse attached as directed (a red light flashes once when power is turned on). However running diddySequence results in the following:

pi@raspberrypi ~/diddyborg $ ./diddySequence.py
Loading PicoBorg Reverse on bus 1, address 44
Traceback (most recent call last):
  File "./diddySequence.py", line 15, in 
    PBR.Init()
  File "/home/pi/diddyborg/PicoBorgRev.py", line 234, in Init
    self.bus = smbus.SMBus(self.busNumber)
IOError: [Errno 2] No such file or directory

I've read through this thread and tried the recommendations put forward but I don't seem to be getting any further.

`lsmod` returns

pi@raspberrypi ~/diddyborg $ lsmod
Module                  Size  Used by
bnep                   10206  2
rfcomm                 34707  10
i2c_bcm2708             4758  0
i2c_dev                 6027  0
snd_bcm2835            18850  0
snd_pcm                75388  1 snd_bcm2835
snd_seq                53078  0
snd_seq_device          5628  1 snd_seq
snd_timer              17784  2 snd_pcm,snd_seq
snd                    51667  5 snd_bcm2835,snd_timer,snd_pcm,snd_seq,snd_seq_device
ecb                     2027  1
evdev                   9950  2
btusb                  20357  0
hid_apple               4844  0
bluetooth             287443  24 bnep,btusb,rfcomm
arc4                    1745  2
rt2800usb              17898  0
rt2800lib              71839  1 rt2800usb
rt2x00usb               8764  1 rt2800usb
rt2x00lib              37292  3 rt2x00usb,rt2800lib,rt2800usb
mac80211              483884  3 rt2x00lib,rt2x00usb,rt2800lib
cfg80211              395310  2 mac80211,rt2x00lib
crc_ccitt               1153  1 rt2800lib
rfkill                 16651  4 cfg80211,bluetooth
uio_pdrv_genirq         2958  0
uio                     8119  1 uio_pdrv_genirq

so are they the i2c drivers I should expect to see?

Here is the output of `ls /dev`

pi@raspberrypi ~/diddyborg $ ls /dev
autofs           fuse     loop7               ppp    ram4     stderr  tty17  tty29  tty40  tty52  tty7       vcs3   xconsole
block            hidraw0  loop-control        ptmx   ram5     stdin   tty18  tty3   tty41  tty53  tty8       vcs4   zero
btrfs-control    hidraw1  MAKEDEV             pts    ram6     stdout  tty19  tty30  tty42  tty54  tty9       vcs5
bus              input    mapper              ram0   ram7     tty     tty2   tty31  tty43  tty55  ttyAMA0    vcs6
cachefiles       kmsg     mem                 ram1   ram8     tty0    tty20  tty32  tty44  tty56  ttyprintk  vcsa
char             log      memory_bandwidth    ram10  ram9     tty1    tty21  tty33  tty45  tty57  uinput     vcsa1
console          loop0    mmcblk0             ram11  random   tty10   tty22  tty34  tty46  tty58  urandom    vcsa2
cpu_dma_latency  loop1    mmcblk0p1           ram12  raw      tty11   tty23  tty35  tty47  tty59  vc-cma     vcsa3
cuse             loop2    mmcblk0p2           ram13  rfkill   tty12   tty24  tty36  tty48  tty6   vchiq      vcsa4
disk             loop3    net                 ram14  root     tty13   tty25  tty37  tty49  tty60  vc-mem     vcsa5
fb0              loop4    network_latency     ram15  shm      tty14   tty26  tty38  tty5   tty61  vcs        vcsa6
fd               loop5    network_throughput  ram2   snd      tty15   tty27  tty39  tty50  tty62  vcs1       vcsm
full             loop6    null                ram3   sndstat  tty16   tty28  tty4   tty51  tty63  vcs2       vhci

Running `sudo i2cdetect -y 0` returns

Error: Could not open file `/dev/i2c-0' or `/dev/i2c/0': No such file or directory

Heyalp piborg - you're my only hope

DC

piborg's picture

It looks like the I2C is not enabled, either i2c-0 or i2c-1 should have been in the ls /dev list.

If you have not installed the PicoBorg Reverse software that may solve the problem:
bash <(curl https://www.piborg.org/install-picoborgrev.txt)

Alternatively try using raspi-config to turn the I2C on like follows:

  1. Enter the following command in a terminal: sudo raspi-config
  2. Move down to option 9 Advanced Options and press ENTER
  3. Move down to option A6 I2C and press ENTER
  4. Make sure Enable is highlighted and press ENTER
  5. Wait until the dialog says I2C is enabled, then press ENTER
  6. Move right until Finish is highlighted, then press ENTER

You should be prompted to restart the Raspberry Pi, select yes.
If you are not restart the Raspberry Pi at this point to be sure it has worked.

Once you have enabled the I2C try running ls /dev again and see if i2c-0 or i2c-1 is now in the list.

Sorry to hear about the allen key problem, if you send us a message from the contact us form with your address we will be happy to send you one.

I knew it would be something straight forward. I now have i2c-1 listed in dev

pi@raspberrypi ~/picoborgrev $ ls /dev
autofs           fuse     loop6               null   ram3    sndstat  tty16  tty28  tty4   tty51  tty63      vcs2   vhci
block            hidraw0  loop7               ppp    ram4    stderr   tty17  tty29  tty40  tty52  tty7       vcs3   xconsole
btrfs-control    hidraw1  loop-control        ptmx   ram5    stdin    tty18  tty3   tty41  tty53  tty8       vcs4   zero
bus              i2c-1    MAKEDEV             pts    ram6    stdout   tty19  tty30  tty42  tty54  tty9       vcs5
cachefiles       input    mapper              ram0   ram7    tty      tty2   tty31  tty43  tty55  ttyAMA0    vcs6
char             kmsg     mem                 ram1   ram8    tty0     tty20  tty32  tty44  tty56  ttyprintk  vcsa
console          log      memory_bandwidth    ram10  ram9    tty1     tty21  tty33  tty45  tty57  uinput     vcsa1
cpu_dma_latency  loop0    mmcblk0             ram11  random  tty10    tty22  tty34  tty46  tty58  urandom    vcsa2
cuse             loop1    mmcblk0p1           ram12  raw     tty11    tty23  tty35  tty47  tty59  vc-cma     vcsa3
disk             loop2    mmcblk0p2           ram13  rfkill  tty12    tty24  tty36  tty48  tty6   vchiq      vcsa4
fb0              loop3    net                 ram14  root    tty13    tty25  tty37  tty49  tty60  vc-mem     vcsa5
fd               loop4    network_latency     ram15  shm     tty14    tty26  tty38  tty5   tty61  vcs        vcsa6
full             loop5    network_throughput  ram2   snd     tty15    tty27  tty39  tty50  tty62  vcs1       vcsm

Here is the output of i2cdetect -y 1

pi@raspberrypi ~/picoborgrev $ sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

Running diddySeqence.py returns

pi@raspberrypi ~/diddyborg $ ./diddySequence.py                   
Loading PicoBorg Reverse on bus 1, address 44                     
Missing PicoBorg Reverse at 44                                    
PicoBorg Reverse was not found                                    
Trying bus 0 instead                                              
Loading PicoBorg Reverse on bus 0, address 44                     
Traceback (most recent call last):                                
  File "./diddySequence.py", line 15, in                  
    PBR.Init()                                                    
  File "/home/pi/diddyborg/PicoBorgRev.py", line 264, in Init     
    self.Init(False)                                              
  File "/home/pi/diddyborg/PicoBorgRev.py", line 234, in Init     
    self.bus = smbus.SMBus(self.busNumber)                        
IOError: [Errno 2] No such file or directory                      

Could it be that I have dodgy connectors aswell?

I will contact you via the contact form as mentioned, would you be able to fire me over some connectors in addition to the allen key?

Thanks
DC

piborg's picture

That does sound like a cable problem.

We are happy to send replacement cables as well.

Sorry to hear you are having all these problems :(

Hello
I have the same problem now. I tried all things in this Thread, also different cables but i have evrything the same Problem...
What can i do?

piborg's picture

Please see the response to your other post: https://www.piborg.org/node/2240

Pages

Subscribe to Comments for &quot;Installation Issues&quot;