[SOLVED] No SPI response or No I2C At Same Time

I am trying to use my GoPiGo3 with my raspberry pi but they don’t seem to connect well to each other.

When I try to to update the Firmware of my GoPiGo3, I get this error:

pi@raspberrypi:~Dexter/GoPiGo3/Firmware $ bash gopigo3_flash_firmware.sh

No SPI response. GoPiGo3 with address 8 not connected.
Firmware upgrade is needed
Attempting to upgrade firmware.
Using interface file 'rpi2.cpg' for RPi version 'RPI3'.
/home/pi/Dexter/GoPiGo3/Firmware
/home/pi/Dexter/GoPiGo3/Firmware/GoPiGo3_Firmware_1.0.0.bin
Updating the GoPiGo3 Firmware with '/home/pi/Dexter/GoPiGo3/Firmware/GoPiGo3_Firmware_1.0.0.bin'
openocd: error while loading shared libraries: libusb-1.0.so.0: cannot open shared object file: No such file or directory
Traceback (most recent call last):
   File "<string>", line 1, in <module>
   File "build/bdist.linux-aarch64/egg/gopigo3.py", line 244, in __init__
IOError: No SPI response. GoPiGo3 with address 8 not connected.

But I do have a green light on my GoPiGo3 led indicating the connection is working (I suppose).
My distance sensor is working but that’s it.

And when I try:

sudo apt-get install libusb-1.0-0

I get:

libusb-1.0-0 is already latest version (2:1.0.22-2).

Does anyone have a solution for me?
The post [SOLVED] No SPI response. GoPiGo3 with address 8 not connected did not work for me since it seemed to be a hardware issue (led not working).

2 Likes

STOP TRYING TO UPDATE THE FIRMWARE!

The “distance sensor is working” suggests your GoPiGo3 and RaspberryPi may be communicating properly

When you say “but that’s it”, you are saying something is not working but not telling exactly what.

In your post I see “aarch64” which makes me question if you are trying to use the wrong operating system version, (a 64-bit version)

It would help to know:

  • What Processor are you using?
cat /proc/cpuinfo | grep "Model"
  • What OS are you running:
  cat /etc/os-release
  • What kernel:
uname -a
  • What version of Python is default:
python --version
  • What is the result of running:
python /home/pi/Dexter/GoPiGo3/Software/Python/Examples/Read_Info.py
  • What battery or batteries are you using?
3 Likes

Thank you for the response, I will clarify:

Processor:
Model : Raspberry Pi Model B Rev 1.2

OS:
PRETTY_NAME=“Debian GNU/Linux 10 (buster)”
NAME=“Debian GNU/Linux”
VERSION_ID=“10”
VERSION_CODENAME=buster
ID=debian
HOME_URL=“https://www.debian.org/
SUPPORT_URL=“Debian -- Support
BUG_REPORT_URL=“https://bugs.debian.org/

Kernel:
Linux raspberrypi 5.15.34-v8+ #1544 SMP PREEMPT Tue Apr 19 13:20:34 BST 2022 aarch64 GNU/Linux

Python default:
Python 2.7.16

python /home/pi/Dexter/GoPiGo3/Software/Python/Examples/Read_Info.py :
No SPI response. GoPiGo3 with address 8 not connected.

I use AA batteries.

The ReadInfo.py is not working basically, do you have an idea of what is wrong ?

2 Likes

Thank you for responding with those specific answers. Yes, I can definitively say TWO THINGS THAT ARE WRONG

  1. You are trying to use a 64-bit OS version which will cause you no end of troubles

BUT MOST DEFINITELY A PROBLEM IF YOUR ROBOT IS A GoPiGo3

  1. You are trying to use a 10 year old Raspberry Pi Model B - That model only has 26 GPIO pins, a single core running at 700MHz, only 256MB or 512BM of RAM.

QUESTION: Is the color of the robot’s control board red, green, or blue?

(GoPiGo3 will probably be red, and an original GoPiGo will probably be green. I think there are some blue boards running around but I don’t know what they are.)

3 Likes

Thank you,

So you think a 32-bit OS version would be better ?

The control board is red indeed.

3 Likes

I don’t know about compatibility of an original Pi with the GoPiGo3, but if it will actually work my guess is that it will run the best by using the Raspberry Pi OS Lite (Legacy) which does not burden with a desktop.

The quickest way to know may be to fire up the official GoPiGo OS v 3.0.2 operating system

3 Likes

If you wouldn’t mind, can you explain how you came to have a Buster OS using the Bullseye kernel?

2 Likes

It would appear that the GoPiGo3 is only compatible with Raspberry Pi 2 and newer:

GoPiGo3 OS: "It is indeed running a version of Raspberry Pi OS Buster (from Dec 2020) and all Pis can be used from the Pi2 and up!"

3 Likes

I flashed an archive of a Buster OS in order to have Python 3.7 and not Python 3.9 installed default. Because it caused troubles of Firmware version afterward if I remember well.

3 Likes

My guess is because the Raspberry Pi that you are using only has 26 GPIO pins. You need a newer Raspberry Pi board for your GoPiGo3.

2 Likes

Hello Grabiel,

I am really confused here.
The software is detecting you are using a Pi3B as shown here:

Using interface file 'rpi2.cpg' for RPi version 'RPI3'.

But then you say you have an older Pi here;

Processor:
Model : Raspberry Pi Model B Rev 1.2

Was that a typo and you have in fact a 3B? Lots of people tend to drop the 3, but it is an important differentiator.

The GoPiGo3 will not run on a 64 bit OS. You do need the old 32 bit Buster OS , also known as ‘legacy OS’.

A photo would be appreciated at this point.

Cleo

4 Likes

@cyclicalobsessive,
That’s not a “Bullseye kernel”. A 64 bit kernel image has shipped with Buster since day one, but you have to select it in the config.txt using something like arm64=1.  I actually have Charlie set to selectively run either a 32 bit kernel or a 64 bit kernel based on the position of dip-switch 5.

Since he’s using (I am assuming), a plain-vanilla Buster, (or Buster Legacy), all the software is in the 32bit userland and only the kernel is 64 bit.

However, I strongly endorse the idea that:

  1. That people STOP EFFING WITH THE FIRMWARE!
    If you’re getting “firmware error” messages, the problem is NOT the firmware - rather there is a significant configuration issue with the operating system and installed libraries that is causing it to LOOK like you have a firmware issue.  Trust me on this one.  I have borked up so many installs and have seen things go all pear-shaped in ways “that would cross a rabbi’s eyes!”, (Fiddler on the Roof), and the solution has ALWAYS been to get the configuration correct.

  2. Get, and flash, the latest GoPiGo O/S which is 3.0.2 and use that.  The GoPiGo O/S is “pre built” and thoroughly tested by both the folks at DI/MR, AND folks like us at the sharp end of the spear who actually use the darn stuff.  It is pre-configured and is virtually guaranteed to work out-of-the-box first-time.  Seriously!  Nicole and her crew work damned hard to make this thing as bullet-proof as possible so that people with no clue about robotics who are given 20 GoPiGo-3’s and a classroom full of students don’t look like a donkey’s [back-side].

Try that and get back to us.

Thanks!

3 Likes

AFAIK, (@cleoqc, correct me if I am wrong), the GoPiGo-3, regardless of board revision or the size of the header, only uses the first 26 pins.  The rest of the pins are just “carried through from top to bottom”, so that if you want to use a 40-pin daughter board that needs signals on those extra pins, you can use it.

Because it only uses the first 26 pins - and earlier GoPiGo-3 boards only have a 26-pin header - theoretically[1] you can run a GoPiGo-3 on a Pi-1B.  Note that I have not tried it  and I suspect a Pi-1, even if it worked, would be woefully under-powered.

I would strongly suggest that whomever uses a GoPiGo-3 use a Pi-3 as a minimum usable Raspberry Pi.

  1. . . .and theoretically  bees and wasps cannot fly.
    • Real-world vs theory - Real-world ALWAYS wins!
2 Likes

It seems likely my guess was not correct, and is more likely that @gabriel.cahu-penhiri actually has a “Raspberry Pi 3 Model B v 1.2” mated to his GoPiGo3 as indicated by the firmware update “seeing” an “RPI3”.

I do see in my notes that pins 27 to 40 are “unused” by the GoPiGo3 - so perhaps an original 26 pin Raspberry Pi Model B could run Pi OS Legacy Lite with the GoPiGo3 software installed via curl from github, with the addition of a USB WiFi dongle and function reasonably well for basic programs in a pinch. It is so hard to get a Raspberry Pi right now, someone just might show up with a 10 year old Pi.

2 Likes
  1. Bulk “bot purchases” for the purpose of tying up the market should be an anti-trust action because it artificially drives up prices.

  2. If I remember rightly, Nicole has mentioned that a Pi-3 is the minimum supported Pi, though it could work on a Pi-2.  A Pi-1 may well choke due to memory constraints, though it would be an interesting project to try, just for the “grins and giggles”.

P.S.
Actually, they’re pretty easy to get - IF you are willing to pay a full order-of-magnitude more for the beastie.

1 Like

I do have a 3B but there is no rpi3.cpg in the openocd folder.

2 Likes

I will try all that today and get back at you, thanks again.

2 Likes

Ok so my problem is partially resolved but there is still a problem.

My sensors and the rest cannot work at the same time now.
It is eather:

  • my distance sensor works but my Read_Info.py does not (No SPI response. GoPiGo3 with address 8 not connected)
  • my Read_Info.py works but not my distance sensor (No such file or directory: ’ /dev/i2c-1’)

depending on my /boot/config.txt configuration.

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
dtparam=spi=on

When i leave it like that my sensors don’t work, and when I uncomment the first 2 my Read_Info.py doesn’t work.
I am using a 32bit OS now.
Am I missing something ?

1 Like

Ok so it works well when I uncomment the first and third lines and leave the second commented.
Thank you all.

1 Like

Please try: (note that it is i2c1 not i2s)

dtparam=i2c_arm=on
dtparam=i2c1=on
dtparam=spi=on

Is it showing Firmware version: 1.0.0 now?

2 Likes