Inky Impression 7.3 Auto Detection Not Working

I’m having trouble with my new Inky Impression 7.3". Perhaps it serves me right for grabbing what seems to be a brand new product, but the auto-detection routines just aren’t working for me.

I’ve been able to get buttons, clear, and stripes examples to run (the latter two by specifying the display type). I was also able to get image to run by editing the code to correctly parse multiple command line arguments (it was having an issue with getting the image file/path when I also supplied an argument identifying the display). So the display is definitely working…and I have a very nice picture of my cat on it currently to demonstrate.

That said, I’m wondering why it’s not auto-detecting. When I run examples and don’t specify the board I get:

Detected None
Failed to detect an Inky board. Trying --type/--colour arguments instead...

When I run identify I get:

Found: None
Display: 65535x65535
Color: None
PCB Variant: 25.5
Display Variant: 255
Time: b'\xff\xff\xff\xff\xff\xfb\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfb\xff\xff\xbf\xbf\xff'

I’m using this for a masters degree maker project and I definitely have a deadline on things (not imminent…a few months out), so I’d really prefer if I can solve this and get everything running 100% solidly in the near future before I start building a lot of things that depend on it…hopefully someone has some ideas?

Some additional info - running on latest version of Raspberry Pi OS, fully updated. Raspberry Pi 4 for the board (4GB).

Make sure i2c is enabled, that’s what is used for the auto detection.

i2c and spi are enabled, and the install script confirmed this as part of the process of running…

to confirm, sudo raspi-config nonint get_i2c returns 0, as does sudo raspi-config nonint get_spi (from googling, 0 that these are enabled, which to me is weird, but hey…)

> i2cdetect -l
i2c-20	i2c       	fef04500.i2c                    	I2C adapter
i2c-1	i2c       	bcm2835 (i2c@7e804000)          	I2C adapter
i2c-21	i2c       	fef09500.i2c                    	I2C adapter

Just did a fresh install of Raspberry Pi OS and the inky installer on my Pi 4 to ensure nothing else was interfering with it.

No change.

> sudo raspi-config nonint get_i2c
0
> sudo raspi-config nonint get_spi
0
> sudo i2cdetect -y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

Installer says:

...SPI already enabled

Checking packages required by SPI interface...
spidev installed and up-to-date

I2C already enabled

Checking packages required by I2C interface...
Python 2 smbus installed and up-to-date
Python 3 smbus installed and up-to-date..."

The other weird thing is, normally i2c0 is used for Hat Identification via an eeprom. Pimoroni seem to have done there own thing in this regard, at least with the inky’s.
This link may get you some help and answers.
Contact Us for Raspberry Pi Technical Support - Pimoroni
Or post the issue on github?

Have emailed them, hopefully will receive a reply soon.

Heard back a couple of days ago from Pimoroni - apparently engineers looking into it but not quite sure what might be wrong at the moment.

I’ve since confirmed that this also happens on a freshly installed Raspberry Pi OS on a Raspberry Pi 2 (exact same result).

Process I followed to do the install:

  1. Use Raspberry Pi Imager to install latest Raspberry Pi OS (32 bit) (option 1 on the main menu).
  2. When booted on the Pi, install all Raspberry Pi OS updates.
  3. Enable SPI and I2C in the config utility.
  4. Run “sudo curl https://get.pimoroni.com/inky | bash”
  5. “y” to continue prompt, “y” to full install prompt.

Full output from installer and subsequent attempts to run identify and one of the examples below:

user@pi2a:~ $ sudo curl https://get.pimoroni.com/inky | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 34932  100 34932    0     0  18892      0  0:00:01  0:00:01 --:--:-- 18892

This script will install everything needed to use
Inky pHAT & wHAT

Always be careful when running scripts and commands copied
from the internet. Ensure they are from a trusted source.

This script should -- only be run on a Raspberry Pi with RPi OS --
other systems and SBCs are not supported and may explode!

If you want to see what this script does before running it,
you should run: 'curl https://get.pimoroni.com/inky'

Note: Inky pHAT & wHAT requires SPI communication
Note: Inky pHAT & wHAT requires I2C communication

Do you wish to continue? [y/N] y

Checking environment...
Updating apt indexes...
.....................

Checking hardware requirements...

Checking for packages required for GPIO control...
raspi-gpio is already installed
RPi.GPIO installed and up-to-date

SPI already enabled

Checking packages required by SPI interface...
spidev installed and up-to-date

I2C already enabled

Checking packages required by I2C interface...
Python 2 smbus installed and up-to-date
Python 3 smbus installed and up-to-date

Inky pHAT & wHAT comes with examples and documentation that you may wish to install.
Performing a full install will ensure those resources are installed,
along with all required dependencies. It may however take a while!

Do you wish to perform a full install? [y/N] y

Checking for dependencies...
python3-numpy is already installed
python3-pil is already installed
python3-lxml is already installed
python3-smbus is already installed

Installing Inky pHAT & wHAT library for Python 3...

Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting inky
  Downloading https://www.piwheels.org/simple/inky/inky-1.5.0-py3-none-any.whl (32 kB)
Requirement already satisfied: spidev in /usr/lib/python3/dist-packages (from inky) (3.5)
Collecting smbus2
  Downloading https://www.piwheels.org/simple/smbus2/smbus2-0.4.2-py2.py3-none-any.whl (13 kB)
Requirement already satisfied: numpy in /usr/lib/python3/dist-packages (from inky) (1.19.5)
Installing collected packages: smbus2, inky
Successfully installed inky-1.5.0 smbus2-0.4.2

Checking for additional software...
python3-geocoder is required
Installing python3-geocoder...
E: Unable to locate package python3-geocoder
Apt failed to install python3-geocoder!
Falling back on pypi...
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting geocoder
  Downloading https://www.piwheels.org/simple/geocoder/geocoder-1.38.1-py2.py3-none-any.whl (98 kB)
     |████████████████████████████████| 98 kB 139 kB/s
Collecting future
  Downloading https://www.piwheels.org/simple/future/future-0.18.3-py3-none-any.whl (492 kB)
     |████████████████████████████████| 492 kB 159 kB/s
Requirement already satisfied: requests in /usr/lib/python3/dist-packages (from geocoder) (2.25.1)
Requirement already satisfied: six in /usr/lib/python3/dist-packages (from geocoder) (1.16.0)
Collecting ratelim
  Downloading https://www.piwheels.org/simple/ratelim/ratelim-0.1.6-py2.py3-none-any.whl (4.0 kB)
Requirement already satisfied: click in /usr/lib/python3/dist-packages (from geocoder) (7.1.2)
Collecting decorator
  Downloading https://www.piwheels.org/simple/decorator/decorator-5.1.1-py3-none-any.whl (10 kB)
Installing collected packages: decorator, ratelim, future, geocoder
Successfully installed decorator-5.1.1 future-0.18.3 geocoder-1.38.1 ratelim-0.1.6
python3-beautifulsoup4 is required
Installing python3-beautifulsoup4...
E: Unable to locate package python3-beautifulsoup4
Apt failed to install python3-beautifulsoup4!
Falling back on pypi...
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: beautifulsoup4 in /usr/lib/python3/dist-packages (4.9.3)
Requirement already satisfied: soupsieve>1.2 in /usr/lib/python3/dist-packages (from beautifulsoup4) (2.2.1)
python3-qrcode is required
Installing python3-qrcode...
python3-icalendar is required
Installing python3-icalendar...
python3-fonts is required
Installing python3-fonts...
E: Unable to locate package python3-fonts
Apt failed to install python3-fonts!
Falling back on pypi...
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting fonts
  Downloading https://www.piwheels.org/simple/fonts/fonts-0.0.3-py3-none-any.whl (4.2 kB)
Installing collected packages: fonts
Successfully installed fonts-0.0.3
python3-font_hanken_grotesk is required
Installing python3-font_hanken_grotesk...
E: Unable to locate package python3-font_hanken_grotesk
Apt failed to install python3-font_hanken_grotesk!
Falling back on pypi...
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting font_hanken_grotesk
  Downloading https://www.piwheels.org/simple/font-hanken-grotesk/font_hanken_grotesk-0.0.2-py3-none-any.whl (391 kB)
     |████████████████████████████████| 391 kB 3.5 kB/s
Installing collected packages: font-hanken-grotesk
Successfully installed font-hanken-grotesk-0.0.2
python3-font_intuitive is required
Installing python3-font_intuitive...
E: Unable to locate package python3-font_intuitive
Apt failed to install python3-font_intuitive!
Falling back on pypi...
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting font_intuitive
  Downloading https://www.piwheels.org/simple/font-intuitive/font_intuitive-0.0.4-py3-none-any.whl (36 kB)
Installing collected packages: font-intuitive
Successfully installed font-intuitive-0.0.4
python3-font_fredoka_one is required
Installing python3-font_fredoka_one...
E: Unable to locate package python3-font_fredoka_one
Apt failed to install python3-font_fredoka_one!
Falling back on pypi...
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting font_fredoka_one
  Downloading https://www.piwheels.org/simple/font-fredoka-one/font_fredoka_one-0.0.4-py3-none-any.whl (27 kB)
Installing collected packages: font-fredoka-one
Successfully installed font-fredoka-one-0.0.4
python3-font_source_serif_pro is required
Installing python3-font_source_serif_pro...
E: Unable to locate package python3-font_source_serif_pro
Apt failed to install python3-font_source_serif_pro!
Falling back on pypi...
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting font_source_serif_pro
  Downloading https://www.piwheels.org/simple/font-source-serif-pro/font_source_serif_pro-0.0.1-py3-none-any.whl (1.8 MB)
     |████████████████████████████████| 1.8 MB 214 kB/s
Installing collected packages: font-source-serif-pro
Successfully installed font-source-serif-pro-0.0.1
python3-font_source_sans_pro is required
Installing python3-font_source_sans_pro...
E: Unable to locate package python3-font_source_sans_pro
Apt failed to install python3-font_source_sans_pro!
Falling back on pypi...
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting font_source_sans_pro
  Downloading https://www.piwheels.org/simple/font-source-sans-pro/font_source_sans_pro-0.0.1-py3-none-any.whl (2.2 MB)
     |████████████████████████████████| 2.2 MB 197 kB/s
Installing collected packages: font-source-sans-pro
Successfully installed font-source-sans-pro-0.0.1
python3-wikiquotes is required
Installing python3-wikiquotes...
E: Unable to locate package python3-wikiquotes
Apt failed to install python3-wikiquotes!
Falling back on pypi...
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting wikiquotes
  Downloading https://www.piwheels.org/simple/wikiquotes/wikiquotes-1.4-py3-none-any.whl (20 kB)
Requirement already satisfied: lxml in /usr/lib/python3/dist-packages (from wikiquotes) (4.6.3)
Collecting slacker
  Downloading https://www.piwheels.org/simple/slacker/slacker-0.14.0-py3-none-any.whl (9.4 kB)
Collecting bs4
  Downloading https://www.piwheels.org/simple/bs4/bs4-0.0.1-py3-none-any.whl (2.2 kB)
Requirement already satisfied: requests in /usr/lib/python3/dist-packages (from wikiquotes) (2.25.1)
Collecting unidecode
  Downloading https://www.piwheels.org/simple/unidecode/Unidecode-1.3.6-py3-none-any.whl (235 kB)
     |████████████████████████████████| 235 kB 108 kB/s
Requirement already satisfied: beautifulsoup4 in /usr/lib/python3/dist-packages (from bs4->wikiquotes) (4.9.3)
Requirement already satisfied: soupsieve>1.2 in /usr/lib/python3/dist-packages (from beautifulsoup4->bs4->wikiquotes) (2.2.1)
Installing collected packages: unidecode, slacker, bs4, wikiquotes
Successfully installed bs4-0.0.1 slacker-0.14.0 unidecode-1.3.6 wikiquotes-1.4

Downloading examples and documentation...
Resources for your Inky pHAT & wHAT were copied to
/home/user/Pimoroni/inky

Finalising Install...


Some packages could not be installed, review the output for details!

user@pi2a:~ $ ls
Bookshelf  Desktop  Documents  Downloads  Music  Pictures  Pimoroni  Public  Templates  Videos
user@pi2a:~ $ cd Pimoroni/
user@pi2a:~/Pimoroni $ ls
inky
user@pi2a:~/Pimoroni $ cd inky/
user@pi2a:~/Pimoroni/inky $ ls
examples
user@pi2a:~/Pimoroni/inky $ cd examples/
user@pi2a:~/Pimoroni/inky/examples $ ls
7color  clean.py  identify.py  logo.py  name-badge.py  phat  tests  what
user@pi2a:~/Pimoroni/inky/examples $ ./identify.py
Found: None
Display: 65535x65535
Color: None
PCB Variant: 25.5
Display Variant: 255
Time: b'\xff\xff\xff\xff\xff\xfb\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbf\xbf\xff'
user@pi2a:~/Pimoroni/inky/examples $ ls
7color  clean.py  identify.py  logo.py  name-badge.py  phat  tests  what
user@pi2a:~/Pimoroni/inky/examples $ cd 7color/
user@pi2a:~/Pimoroni/inky/examples/7color $ ls
advanced  buttons.py  clear.py  colour-palette.py  cycle.py  graph.py  html  image.py  images  stripes.py
user@pi2a:~/Pimoroni/inky/examples/7color $ ./stripes.py
Detected None
Failed to detect an Inky board. Trying --type/--colour arguments instead...

usage: stripes.py [-h] [--simulate] --type {what,phat,phatssd1608,impressions,7colour,whatssd1683,impressions73} [--colour {red,black,yellow}]
stripes.py: error: the following arguments are required: --type/-t
user@pi2a:~/Pimoroni/inky/examples/7color $

I very rarely use Raspberry Pi but the most obvious answer here as there’s no error about i2c protocol is a manufacturing issue (and QA failure) that’s left you with an unwritten/unwriteable Impression EEPROM largely full of 0xff (255) bytes, there are a few 0xfb and 0xbf in there too.

As you’ve gone to the commendable effort of testing on a second Pi, I’d suggest some strong encouragement to get another Impression out of Pimoroni ASAP.

So - I just created an account purely to try to answer this, since your question lead me to my answer. I just setup a new 7.3 inky on a pi4 4gb, with the newest raspberry pi OS 64bit, and I initially had the same issue as you did.

Mine also said that I2C and SPI were enabled during the scripted install, but after finding this thread, I ran sudo raspi-config, and manually enabled both. When I did - I found that SPI was enabled, but I2C was not.

I tested again after this, and it worked fine. Also, there are some bugs in the 7color example python scripts, which are only evident if you have to provide the --type option, but don’t show up otherwise.

Before manually enabling I2C (i could do the clean and stripes, but nothing else worked):
$ sudo python3 ./identify.py

No display EEPROM detected,
you might have an old Inky board that doesn’t have an EEPROM - eg: early Inky pHAT boards.

Try running examples with --colour <black/red/yellow>

Or writing your code using:

from inky.phat import InkyPHAT

display = InkyPHAT(“<black/red/yellow>”)

After:
$ sudo python3 ./identify.py
Found: 7-Colour 800x480 (AC073TC1A)
Display: 800x480
Color: None
PCB Variant: 1.0
Display Variant: 20
Time: b’2023-03-20 13:03:56.9’

Then, after this, the example scripts work fine:
$ sudo python3 7color/image.py 7color/images/inky-7.3-redchain.jpg
Detected 7-Colour 800x480 (AC073TC1A)

And this successfully returned the anchor-chain image that the screen came with back to it.

(Edit - I realize that this might not solve your issue, but at least seeing the ident as how it should look, perhaps that will help.)

1 Like

Thanks @Kaerka, I definitely enabled it in raspi-config in my case, and the board appeared to be able to read from the eeprom - it just wasn’t getting a response that it expected (you can see the data in my ./identify.py example). I expect @kjw is correct and that it was a QA problem, but have yet to confirm. Pimoroni has looked after me and another unit is in the mail (according to the tracking, it’s arrived in country but hasn’t quite got to me yet) - apparently their engineers were a bit stumped as to what was causing my problem - but sometimes errors can happen in manufacturing, so we’re all hoping this was just some kind of random glitch. I’m glad my post was able to help you with your issue though and hope that you’re enjoying your display :-D. I’ll post back when the new unit arrives to close the loop and let everyone know how it goes.

1 Like

Received the new one today. Plugged it into the Pi 2 I had set up for my last test and ran identify.py. With no changes (other than swapping out the board), I Immediately got back:

~/Pimoroni/inky/examples $ ./identify.py
Found: 7-Colour 800x480 (AC073TC1A)
Display: 800x480
Color: None
PCB Variant: 1.0
Display Variant: 20
Time: b'2023-04-17 14:17:59.5'

Examples I couldn’t get working before like html.sh and graph.py now work great (graph.py is a really nice demo for anyone who’s recently picked up one of these units).

So I guess that settles it. Some kind of QC defect. I’d like to thank Pimoroni for not mucking me around and sending me a replacement without any dramas. Good customer service can be rare these days, so I appreciate it when I receive it - hopefully folks will see posts like this and buy more stuff from them!

3 Likes

Ooh, good spot. Could you raise an issue in the relevant repo, and maybe even raise a PR?