Screen not working on Grow pi hat


I installed my new grow hat, but the screen doesn’t appear to be working.

I installed the software successfully, and I can see the screen backlight when the Pi powers on. I can start the scripts interactively and they print the settings, and I can hear the audible alarm when the saturation drops below the configured level. They also log to syslog.

However, the screen doesn’t display anything, so I also don’t know if the buttons are working. I’m not sure of the best way to troubleshoot this.

How should I start to see what the problem is, confirming if the screen is broken, or if it’s a software problem?


The only thing off the top of my head is to check that SPI is enabled (which is what’s used to drive the screen) - the installer should have done that, but maybe it failed somehow.

Other than that, possibly check the soldering on the Pi header (assuming a machine didn’t do it for you!) as another common point of failure.

Thanks for the advice.

I checked the SPI is enabled and I can see the re-assignment of CS0 from BCM 8 in the config.

I got a software SPI tester and I’m getting all zeroes back, so that suggests the SPI bus is not working, specifically the MOSI & MISO pins. I’ve got a pre-soldered header, but I did a continuity check on the pins anyway and it seems OK.

I tested with another device that uses SPI and it worked. I also tested the grow hat with another pi v1 that has been using a wifi hat that uses SPI (known working SPI) and I got the same result.

It’s starting to look like the hat is at fault. Any other tests I should run before I start an RMA/refund/replace?

These examples could be used for testing, using CS0.
pimoroni/st7735-python: Python library to control an ST7735 TFT LCD display. Allows simple drawing on the display without installing a kernel module. (
It does sound like a defective screen though.
Have a look see on the back side of the hat where the display ribbon cable plugs in. I’d give it a good press with you finger.

Usually, if SPI or i2c isn’t enabled, but being called in your python file. You get a not so helpful, “file not found” error message.

Checked the ribbon cable and it is secure.

Looks like I’m working with a faulty hat.

Thanks to the both of you for your help.