Mini Breakout Garden with SPI not working

I just restarted over with a fresh install and used the following for the LCD
curl https://get.pimoroni.com/st7735 | bash
No errors and my display is working. Just a FYI post.

Do you just run it again and overwrite or delete the folders?

I had reimaged my card with a fresh PiOS install. Then I reinstalled what I needed for my Breakouts.
That curl command is what was listed on the product page for the 0.96’ LCD Breakout.
0.96" SPI Colour LCD (160x80) Breakout – Pimoroni

That’s what kind of bugs me sometimes, it says one thing one place and something else somewhere else. On the github page it says to do the sudo pip install st7735

Thank you very much. It is working!! That was quite exciting!

The image and gif examples don’t work though. How does the example know which image or gif to display? Do I need to amend it to show the filename?

That I don’t know? Where are you running the example from, the gif likely has to be in the same folder as the example file your running.
I have yet to try to display a gif etc, I only ever run the scrolling text example as my test file.
Do you get an error message when it fails?

Yes, usually you need to run gif.py gifToShow.gif in the terminal. It should (?) tell you this if you don’t include the name of a gif to play.

Thank you both.

The example folder has an example gif and image to use - cat.jpg and deployrainbows.gif.

I have tried this, without success:

import sys

from PIL import Image
import ST7735 as ST7735

print(“”"
image.py - Display an image on the LCD.

If you’re using Breakout Garden, plug the 0.96" LCD (SPI)
breakout into the rear slot.
“”")

if len(sys.argv) < 2:
print(“Usage: {} <cat.jpg>”.format(sys.argv[0]))
sys.exit(1)

image_file = sys.argv[1]

Create ST7735 LCD display class.

disp = ST7735.ST7735(
port=0,
cs=ST7735.BG_SPI_CS_FRONT, # BG_SPI_CSB_BACK or BG_SPI_CS_FRONT
dc=9,
backlight=19, # 18 for back BG slot, 19 for front BG slot.
rotation=90,
spi_speed_hz=10000000
)

WIDTH = disp.width
HEIGHT = disp.height

Initialize display.

disp.begin()

Load an image.

print(‘Loading image: {}…’.format(image_file))
image = Image.open(image_file)

Resize the image

image = image.resize((WIDTH, HEIGHT))

Draw the image on the display hardware.

print(‘Drawing image’)

disp.display(image)

from what Shoe posted I do believe you need to run
sudo python3 /gif.py deployrainbows.gif
Edit it with the correct full path to gif.py though.

So sorry, where would I place ‘gif.py deployrainbows.gif’ in this…?

Copyright (c) 2014 Adafruit Industries

Author: Phil Howard, Tony DiCola

Permission is hereby granted, free of charge, to any person obtaining a copy

of this software and associated documentation files (the “Software”), to deal

in the Software without restriction, including without limitation the rights

to use, copy, modify, merge, publish, distribute, sublicense, and/or sell

copies of the Software, and to permit persons to whom the Software is

furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in

all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE

AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER

LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,

OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN

THE SOFTWARE.

from PIL import Image
import ST7735
import time
import sys

print(“”"
gif.py - Display a gif on the LCD.
If you’re using Breakout Garden, plug the 0.96" LCD (SPI)
breakout into the front slot.
“”")

if len(sys.argv) > 1:
image_file = sys.argv[1]
else:
print(“Usage: {} <filename.gif>”.format(sys.argv[0]))
sys.exit(0)

Create TFT LCD display class.

disp = ST7735.ST7735(
port=0,
cs=ST7735.BG_SPI_CS_FRONT, # BG_SPI_CSB_BACK or BG_SPI_CS_FRONT
dc=9,
backlight=19, # 18 for back BG slot, 19 for front BG slot.
spi_speed_hz=4000000
)

Initialize display.

disp.begin()

width = disp.width
height = disp.height

Load an image.

print(‘Loading gif: {}…’.format(image_file))
image = Image.open(image_file)

print(‘Drawing gif, press Ctrl+C to exit!’)

frame = 0

while True:
try:
image.seek(frame)
disp.display(image.resize((width, height)))
frame += 1
time.sleep(0.05)

except EOFError:
    frame = 0

You don put it in the file, its how you run the file.
You open a terminal window and run
sudo python3 /st7735-python/examples/gif.py deployrainbows.gif
Its that or maybe
sudo python3 home/pi/st7735-python/examples/gif.py deployrainbows.gif
I’m not on my Pi right now to have a look see.

You open a terminal window and run
sudo python3 /st7735-python/examples/gif.py deployrainbows.gif

It’ll be this one. You need to run it in the terminal where you run commands, not in the Python script itself as @alphanumeric said.