[google-aiy]: Two vision bonnets on RPi

830 Views Asked by At

This is related to project that I'd like build using Google AIY VIsion Kit + Raspberry Pi.

I'd like to attach two vision bonnets to RPi zero W. I realized that Pi interacts with Vision Bonnet using SPI interface. From the schematics of RPi GPIO header, there seems to be two SPI interfaces as well. So, I'm wondering if I can connect two vision bonnets to the Pi. Would that be possible?

Furthermore, I've got two ideas in this regard:

(1) I think all the 40 pins won't be used by a single Vision Bonnet. So, if I know what pins are actually used, I can use that information to consider adding another Vision Bonnet. However, I'm not sure how to get this information though. Can you help me with this information?

(2) If I can't get the detail in (1), I'm thinking to extend the GPIO header on Pi by adding one more header on the VisionBonnet. Then, I'll attach the second bonnet to the newly added header. Does this make sense?

Thanks, Venky

4

There are 4 best solutions below

0
On

I posted the question in Google AIY Vision kit issue and the Google developers said that it's not possible.

https://github.com/google/aiyprojects-raspbian/issues/348

1
On

The 40-pin pinout as described on google/aiyprojects-raspbian and Vision Bonnet :

               3.3V --> 1    2 <-- 5V
            I2C_SDA --> 3    4 <-- 5V
            I2C_SCL --> 5    6 <-- GND
                        7    8
                GND --> 9   10
                        11  12
                        13  14 <-- GND
(GPIO_22) BUZZER_GPIO-->15  16 <-- BUTTON_GPIO (GPIO_23)
               3.3V --> 17  18
           SPI_MOSI --> 19  20 <-- GND
           SPI_MISO --> 21  22
           SPI_SCLK --> 23  24 <-- SPI_CE_MRD
                GND --> 25  26
             ID_SDA --> 27  28 <-- ID_SCL
                        29  30 <-- GND
      PI_TO_MRD_IRQ --> 31  32
      MRD_TO_PI_IRQ --> 33  34 <-- GND
                        35  36
         MRD_UNUSED --> 37  38
                GND --> 39  40
0
On

Based on the modules loaded (run lsmod), and the python code. I believe it uses more than one SPI. Given this, the answer is that very likely it won't work.

1/ I was not able to find a schema of the bonnet.

2/ Adding headers and connecting the second bonnet won't work as SPI supports communication of two peers only. SPI of the second bonnet will have to be connected to SPI2.

More information, that I found later:

The vision bonnet uses the following GPIO:

SPI interface: GPIO10, GPIO09, GPIO11, GPIO08 Handshaking: GPIO06, GPIO13

An SAMD09 MCU is hung off the I2C bus and uses address 0x51, 0x61 (bootloader only) LED driver uses address 0x30

0
On

Not quite what you are after but I managed to get the Movidius NCS to run on the Pi. It has the same accelerator as the VPU bonnet (Intel® Movidius™ Myriad™ 2 vision processing unit (VPU)). They cost more but you can put as more than one NCS on a Pi via the USB interface. I assume you want to run two models simultaneously rather than scale one model.