Use SPI interface with Hat

Hi All,

Is it possible to use the SPI0 or SPI1 interface while the hat is on? I have an SPI-based e-paper display for my project that I want to use.

From the required SPI pins, I see the SPI0 CLK pin used for Power Key, SPI0 MOSI for OPTO#1, SPI1 MOSI used for BG96 Status. I tried hooking up a device to SPI0-CE0, but it did not work and must have conflicted with the hat.

If I can reroute the BG96 Status signal to another pin (or disable it), that would be perfect.

I am planning now to use the SPI1 interface and not have the hat directly sitting on the RPi and only wire over the needed pins for the hat to work. Though having the hat on would be must easier.


I’m in the process of rewiring the pins and changing the class variables:

node.USER_BUTTON = 22  # default was 24
node.BG96_POWERKEY = 5  # default was 11

This should free up the pins for an SPI0 device.

Hi @vavourakis ,

If we compare the SPI pins(SPI0 pins are GPIO 7, 8, 9, 10, 11
SPI1 pins are GPIO 16, 17, 18, 19, 20, 21) and the pinout of the Cellular IoT Application shield, we can see that there are conflicts in the pins.

Unfortunately, the Shield doesn’t have any solder jumper to disable any of these pins.

ref: RPI pinout & Cellular IoT Application Shield pinout

Thanks for confirming. I an now interfacing with the shield using jumper cables and rerouted the two conflicting GPIO as mentioned avoid. It appears to work well so far.

i’ve two setups:
a) LTE HAT+ EG25-G (quectel LTE module) with Raspberry Pi4
b) LTE HAT + EG25-G (quectel LTE module) with raspberry pi zero 2W

In our application we use SPI0 and SPI1 for driving other peripherals.

In case a) everything is fine,
In case b) there is conflict. SPI 0 does not work but SPI1 is fine

Appreciate any insights. Has anyone run into this problem before ? BG96 and EG25 might be similar in behavior

Thanks, VK