Robotic kit/foundation plate ports

I am adding an Adafruit 240x135 TFT display to the Pi-Top 4 (with foundation plate and robotics kit). Before I update the Linux Kernel (for display console/frame buffer support), can someone identify Raspberry Pi 4 ports used by the foundation kit/robotics expansion)? The PitFT display uses SPI and GPIO22-25. Thanks!

Hi @dmessier,
Unfortunately, the pi-top [4] uses SPI to control the Mini OLED Screen on the top of the device. It is possible to change the SPI Port that the OLED uses and you can find the instructions here.

The pi-top doesn’t use GPIOs 22-25 so you should be okay there.

The Foundation Plate and the Expansion Plate (and the pi-top [4] hub) only use GPIO 2 & 3 for I2C so there shouldn’t be issues there. Our plates use I2C Address 0x04 and the hub uses 0x11

I hope that all makes sense, let me know if you need anything else.
Kind regards

Thanks for the response. By enabling the Pi SPI interface I can successfully use SPI 0 and connect to the Adafruit TFT display. However, once I connect the expansion plate the display no longer works. I am not getting a SPI device error so expect it is some other type of conflict.

Is there a reference page that lists the GIPO pin for each foundation/expansion plug in port? Instead of reviewing source code to find this information (/usr/lib/python3/dist-packages/pitop-robotics/alex-robot.py).

Thanks

Correction, I referenced the utils.py for GIPO reference.

Strange how PCI 1 along with GIPO 22/24 work fine when the expansion plate is disconnected. Once plugged in (with no devices connected), the display does not work. Almost appears the selection control pin is being used by the expansion plate. I did connect a logic probe to the GIPO pins but did not find anything.
Is there any active circuitry in the expansion plate that could affect GIPO pins (not just SPI)? Next step may be to connect an oscilloscope to the suspect GIPO pins.

RezIN, with the latest OS and updates, I was able to at get the TFT display partially working on SPI0. Works great with no expansion plate. With expansion plate, I get random noise on the display. Reducing the device baud rate helps. I would like to try disabling the SPI1 OLED display. However the ‘pi-top oled spi off’ option you referenced does not work. ‘off’ is not a valid parameter with either the latest or older OS. Any other suggestions? Thanks

Hi @dmessier sorry for not getting back to you sooner. Could you send me a link the the TFT Display’s tech specs? Something that shows what pins it’s using. The Expansion Plate isn’t using any of the SPI pins so that is very strange. In addition, the 3V3 and the 5V that supply the pins on the 40 pin connector and the modular connector are on different supplies with separate pins. It could be that both devices combined are drawing too much current, though connectors pins are rated to provide 1A for 5V and 0.5 A for 3V3.

COuld you tell me if you’re using pi-topOS or Raspberry Pi OS with the pi-top packages installed or another configuration entirely.
Thanks Dmessier. You’ll get a quicker response from me next time!

Solution: Reduced SPI baud rate to 7.8MHz. This allowed SPI TFT display to work correctly with expansion plate

I have a nagging feeling that the unterminated ends of the SPI lines that go through the expansion plate ruin the impedance of the SPI lines causing the screen to stop working, though I remember testing this part myself when we were designing the pi-top [4].

If you have a 40 pin ribbon cable, could you try connecting the SPI TFT Display to the 40pin connector on the Expansion plate and increase the baud rate again? Do let me know if that works or if you need to decrease the baud rate again.

Thanks Dmessier