# Insane struggle setting up 1.12" mono oled (SPI)

**URL:** <https://forums.pimoroni.com/t/insane-struggle-setting-up-1-12-mono-oled-spi/13911>\
**Category:** Support\
**Created:** [May 15, 2020, 10:07am UTC](https://forums.pimoroni.com/t/insane-struggle-setting-up-1-12-mono-oled-spi/13911 "2020-05-15T10:07:23Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![moritz](https://avatars.discourse-cdn.com/v4/letter/m/58956e/32.png) [@moritz](https://forums.pimoroni.com/u/moritz)\
**Post date:** [May 15, 2020, 10:07am UTC](https://forums.pimoroni.com/t/insane-struggle-setting-up-1-12-mono-oled-spi/13911/1 "2020-05-15T10:07:23Z")

</div>

Hi all! I’m all new to the Pimoroni world and just got a nice breakout garden set-up consisting of the haptic breakout, a trackball and the 1.12" mono oled (SPI). The lra and the trackball worked just fine, super nice! Sadly I just can’t get the display to do anything… I’ve researched the luma.oled drivers and the pimoroni forums and followed every approach I could find… I still get the error ‘SPI device not found.’ I made triple sure to have spi enabled in raspi-config. Surely I followed the three step tutorial on the product page. Right now I’d be happy just to run an example. Anybody experienced similar issues? Any kind of help would be highly appreciated.

Running on RasPi 3 Model B

---

<div class="post-metadata">

**Author:** ![alphanumeric](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/alphanumeric/32/2729_2.png) [@alphanumeric](https://forums.pimoroni.com/u/alphanumeric)\
**Post date:** [May 15, 2020, 11:27am UTC](https://forums.pimoroni.com/t/insane-struggle-setting-up-1-12-mono-oled-spi/13911/2 "2020-05-15T11:27:46Z")

</div>

This is what I went through with the 1.3 inch LCD and Breakout garden mini.  
If you have the Breakout Garden Hat, and are using the rear SPI socket, there are code changes to be made to have it work.

> [@1.3 color tft LCD on btreakout garden pHat, SPI i2c](https://forums.pimoroni.com/t/1-3-color-tft-lcd-on-btreakout-garden-phat-spi-i2c/13033):
>
> I’m trying to get my 1.3" SPI Colour LCD (240x240) Breakout working with a Breakout Garden pHat The Breakout garden Installer didn’t find it, I had to do the manual install from here Running the scrolling-test.py example from idle3 got me a no module named st7789. Running sudo pip3 install st7789 fixed that but gets me a new error message that I think is because its plugged into the breakout garden? Traceback (most recent call last): File “/home/pi/Color LCD/scrolling-text.py”, …

---

<div class="post-metadata">

**Author:** ![moritz](https://avatars.discourse-cdn.com/v4/letter/m/58956e/32.png) [@moritz](https://forums.pimoroni.com/u/moritz)\
**Post date:** [May 15, 2020, 11:51am UTC](https://forums.pimoroni.com/t/insane-struggle-setting-up-1-12-mono-oled-spi/13911/3 "2020-05-15T11:51:15Z")

</div>

Hey alphanumeric, thanks for replying. I’ve seen your approach yesterday and tried to reproduce it. Sadly it doesn’t work for me.

---

<div class="post-metadata">

**Author:** ![alphanumeric](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/alphanumeric/32/2729_2.png) [@alphanumeric](https://forums.pimoroni.com/u/alphanumeric)\
**Post date:** [May 15, 2020, 12:34pm UTC](https://forums.pimoroni.com/t/insane-struggle-setting-up-1-12-mono-oled-spi/13911/4 "2020-05-15T12:34:17Z")

</div>

Do you have the Mini or full sized Hat?  
Raspbian Lite or Raspbian with Desktop?  
You did the following?

```auto
sudo apt install python-dev python-pip libfreetype6-dev libjpeg-dev build-essential libopenjp2-7 libtiff5
$ sudo -H pip install --upgrade luma.oled

```

and

```auto
sudo apt install python3-dev python3-pip libfreetype6-dev libjpeg-dev build-essential libopenjp2-7 libtiff5
$ sudo -H pip3 install --upgrade luma.oled

```

---

<div class="post-metadata">

**Author:** ![moritz](https://avatars.discourse-cdn.com/v4/letter/m/58956e/32.png) [@moritz](https://forums.pimoroni.com/u/moritz)\
**Post date:** [May 15, 2020, 1:39pm UTC](https://forums.pimoroni.com/t/insane-struggle-setting-up-1-12-mono-oled-spi/13911/5 "2020-05-15T13:39:29Z")

</div>

I’m using the full sized hat with Raspbian Desktop.  
Yes, I’ve done that already but just gave it another try to make sure.  
Still getting `SPI device not found`

---

<div class="post-metadata">

**Author:** ![moritz](https://avatars.discourse-cdn.com/v4/letter/m/58956e/32.png) [@moritz](https://forums.pimoroni.com/u/moritz)\
**Post date:** [May 15, 2020, 1:53pm UTC](https://forums.pimoroni.com/t/insane-struggle-setting-up-1-12-mono-oled-spi/13911/6 "2020-05-15T13:53:40Z")

</div>

Running the breakout installer gives me the following:

```
pi@raspberrypi:~/breakout-garden-master $ sudo ./install.sh
Sorry, I couldn't find any breakouts!

```

_edit_  
Checking if SPI is enabled:

```
pi@raspberrypi:~ $ lsmod | grep spi_
spi_bcm2835 20480 0
```

---

<div class="post-metadata">

**Author:** ![alphanumeric](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/alphanumeric/32/2729_2.png) [@alphanumeric](https://forums.pimoroni.com/u/alphanumeric)\
**Post date:** [May 15, 2020, 2:15pm UTC](https://forums.pimoroni.com/t/insane-struggle-setting-up-1-12-mono-oled-spi/13911/7 "2020-05-15T14:15:18Z")

</div>

The Breakout Garden installer will only detect i2c devices. Anything using SPI has to be installed manually. .

---

<div class="post-metadata">

**Author:** ![moritz](https://avatars.discourse-cdn.com/v4/letter/m/58956e/32.png) [@moritz](https://forums.pimoroni.com/u/moritz)\
**Post date:** [May 15, 2020, 2:18pm UTC](https://forums.pimoroni.com/t/insane-struggle-setting-up-1-12-mono-oled-spi/13911/8 "2020-05-15T14:18:44Z")

</div>

In awareness of that,I’ve installed these resources: [https://github.com/pimoroni/sh1106-python](https://github.com/pimoroni/sh1106-python)

---

<div class="post-metadata">

**Author:** ![alphanumeric](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/alphanumeric/32/2729_2.png) [@alphanumeric](https://forums.pimoroni.com/u/alphanumeric)\
**Post date:** [May 15, 2020, 2:21pm UTC](https://forums.pimoroni.com/t/insane-struggle-setting-up-1-12-mono-oled-spi/13911/9 "2020-05-15T14:21:07Z")

</div>

Ok, which SPI slot is it plugged into?

---

<div class="post-metadata">

**Author:** ![moritz](https://avatars.discourse-cdn.com/v4/letter/m/58956e/32.png) [@moritz](https://forums.pimoroni.com/u/moritz)\
**Post date:** [May 15, 2020, 2:23pm UTC](https://forums.pimoroni.com/t/insane-struggle-setting-up-1-12-mono-oled-spi/13911/10 "2020-05-15T14:23:12Z")

</div>

Right now it’s facing the HDMI connector.  
I’ve tried switching slots and added `--spi-device 0` and `--spi-device 1`

---

<div class="post-metadata">

**Author:** ![moritz](https://avatars.discourse-cdn.com/v4/letter/m/58956e/32.png) [@moritz](https://forums.pimoroni.com/u/moritz)\
**Post date:** [May 15, 2020, 2:26pm UTC](https://forums.pimoroni.com/t/insane-struggle-setting-up-1-12-mono-oled-spi/13911/11 "2020-05-15T14:26:47Z")

</div>

the current error:

```
pi@raspberrypi:~/luma.examples/examples $ python bounce.py --display sh1106 --height 128 --rotate 2 --interface spi --gpio-data-command 9 --spi-device 1
Version: luma.oled 3.4.0 (luma.core 1.14.0)
Display: sh1106
Interface: spi
Dimensions: 128 x 128
------------------------------------------------------------
/usr/local/lib/python3.7/dist-packages/luma/core/interface/serial.py:185: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.
  self._gpio.setup(pin, self._gpio.OUT)
usage: bounce.py [-h] [--config CONFIG] [--display DISPLAY] [--width WIDTH]
                 [--height HEIGHT] [--rotate ROTATION] [--interface INTERFACE]
                 [--i2c-port I2C_PORT] [--i2c-address I2C_ADDRESS]
                 [--spi-port SPI_PORT] [--spi-device SPI_DEVICE]
                 [--spi-bus-speed SPI_BUS_SPEED] [--spi-cs-high SPI_CS_HIGH]
                 [--spi-transfer-size SPI_TRANSFER_SIZE]
                 [--ftdi-device FTDI_DEVICE] [--gpio GPIO]
                 [--gpio-mode GPIO_MODE]
                 [--gpio-data-command GPIO_DATA_COMMAND]
                 [--gpio-reset GPIO_RESET] [--gpio-backlight GPIO_BACKLIGHT]
                 [--block-orientation ORIENTATION] [--mode MODE]
                 [--framebuffer FRAMEBUFFER] [--bgr] [--h-offset H_OFFSET]
                 [--v-offset V_OFFSET] [--backlight-active VALUE]
bounce.py: error: SPI device not found
```

---

<div class="post-metadata">

**Author:** ![alphanumeric](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/alphanumeric/32/2729_2.png) [@alphanumeric](https://forums.pimoroni.com/u/alphanumeric)\
**Post date:** [May 15, 2020, 2:28pm UTC](https://forums.pimoroni.com/t/insane-struggle-setting-up-1-12-mono-oled-spi/13911/12 "2020-05-15T14:28:48Z")

</div>

For mine, by default, the python examples were coded for the front slot. Which is the way the one SPI slot on the MINI is wired up. It sounds like you have a defective display?  
The following link will let you contact Pimoroni directly via e-mail. I would put a link to this thread in that support e-mail  
[https://shop.pimoroni.com/pages/contact-us](https://shop.pimoroni.com/pages/contact-us)

---

<div class="post-metadata">

**Author:** ![moritz](https://avatars.discourse-cdn.com/v4/letter/m/58956e/32.png) [@moritz](https://forums.pimoroni.com/u/moritz)\
**Post date:** [May 15, 2020, 2:29pm UTC](https://forums.pimoroni.com/t/insane-struggle-setting-up-1-12-mono-oled-spi/13911/13 "2020-05-15T14:29:23Z")

</div>

> [@moritz](#):
>
> $ python bounce.py

also tried using python3 instead

---

<div class="post-metadata">

**Author:** ![moritz](https://avatars.discourse-cdn.com/v4/letter/m/58956e/32.png) [@moritz](https://forums.pimoroni.com/u/moritz)\
**Post date:** [May 15, 2020, 2:30pm UTC](https://forums.pimoroni.com/t/insane-struggle-setting-up-1-12-mono-oled-spi/13911/14 "2020-05-15T14:30:54Z")

</div>

Thanks a lot for your help!

---

<div class="post-metadata">

**Author:** ![alphanumeric](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/alphanumeric/32/2729_2.png) [@alphanumeric](https://forums.pimoroni.com/u/alphanumeric)\
**Post date:** [May 15, 2020, 7:30pm UTC](https://forums.pimoroni.com/t/insane-struggle-setting-up-1-12-mono-oled-spi/13911/15 "2020-05-15T19:30:13Z")

</div>

I do believe @Crowbot used the following with his display.

```auto
python3 bounce.py --display sh1106 --height 128 --rotate 2 --interface spi --gpio-data-command 9 --spi-device 1

```

---

<div class="post-metadata">

**Author:** ![moritz](https://avatars.discourse-cdn.com/v4/letter/m/58956e/32.png) [@moritz](https://forums.pimoroni.com/u/moritz)\
**Post date:** [May 15, 2020, 7:44pm UTC](https://forums.pimoroni.com/t/insane-struggle-setting-up-1-12-mono-oled-spi/13911/16 "2020-05-15T19:44:08Z")

</div>

already tried that! also

`python3 bounce.py --display sh1106 --height 128 --rotate 2 --interface spi --gpio-data-command 9 --spi-device 0`

and both versions with `python`

---

<div class="post-metadata">

**Author:** ![alphanumeric](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/alphanumeric/32/2729_2.png) [@alphanumeric](https://forums.pimoroni.com/u/alphanumeric)\
**Post date:** [May 15, 2020, 8:27pm UTC](https://forums.pimoroni.com/t/insane-struggle-setting-up-1-12-mono-oled-spi/13911/17 "2020-05-15T20:27:40Z")

</div>

Ok, wasn’t 100% sure from what you posted. I guess its time to use the "contact us’ link I posted earlier. It will likely be Monday before you get a reply though. Other than the automated e-mail received first reply. Only other option is to @gadgetoid and @sandyjmacdonald

---

<div class="post-metadata">

**Author:** ![moritz](https://avatars.discourse-cdn.com/v4/letter/m/58956e/32.png) [@moritz](https://forums.pimoroni.com/u/moritz)\
**Post date:** [May 15, 2020, 8:43pm UTC](https://forums.pimoroni.com/t/insane-struggle-setting-up-1-12-mono-oled-spi/13911/18 "2020-05-15T20:43:44Z")

</div>

Actually I’ve already sent them a message after your tipp and got a reply. For now the support suggested to try both spi slots, which I gave another try without success. We will see… Thanks a bunch!

---

<div class="post-metadata">

**Author:** ![alphanumeric](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/alphanumeric/32/2729_2.png) [@alphanumeric](https://forums.pimoroni.com/u/alphanumeric)\
**Post date:** [May 15, 2020, 11:05pm UTC](https://forums.pimoroni.com/t/insane-struggle-setting-up-1-12-mono-oled-spi/13911/19 "2020-05-15T23:05:15Z")

</div>

One option is to try a different Pi with that hat. Just to rule out an issue with the Pi.  
Or solder on a header and connect it to the Pi via jumper wires without using the Hat. If its an issue with the Hat that should fix it. Assuming the software side of things is OK.

---

<div class="post-metadata">

**Author:** ![hel](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/hel/32/6075_2.png) [@hel](https://forums.pimoroni.com/u/hel)\
**Post date:** [July 22, 2026, 3:19pm UTC](https://forums.pimoroni.com/t/insane-struggle-setting-up-1-12-mono-oled-spi/13911/20 "2026-07-22T15:19:15Z")

</div>

I expect this reply is way too late to be useful to the OP - but in case anyone’s running into this in 2026 I was getting this exact same error before I enabled SPI in `sudo raspi-config` \> Interface Options…
