A few weeks ago I did a “mailbag” video/blog and ran a poll on which product(s) you’d like me to review.
There was a clear winner right from day one. Pi-Supply’s Papirus Zero took first place and held it by a comfortable margin for three weeks. So I’m going to have a play with that one first and share my findings with you.
Initial ImpressionsIt’s a nice dainty little display. In my review pack there were two displays of different sizes; 1.44 inch and 2.0 inch. It just so happens that the height of these screens is an almost perfect match for the Pi Zero. The wider of the two doesn’t quite fill a pHAT sized board, so they both fit nicely on the PCB.
The 1.44″ is 128 x 96
The 2.00″ is 200 x 96
Both have a pixel density of 111 dpi with square pixels 0.229 x 0.229mm
They are very thin indeed. I got the calipers out and measured 0.95mm thickness of the TFT itself. The PCB and GPIO connector add significant “bulk”, but overall, the size is typical of a pHAT.
It also has a built-in LM75 temperature sensor and 5 buttons connected to GPIO ports.
Data Sheet Info
According to the data sheets they are… “active matrix TFT, Electronic Paper Display (EPD) panel. The panel has such high resolution (111 dpi) that it is able to easily display fine patterns. Due to its bi-stable nature, the EPD panel requires very little power to update and needs no power to maintain an image.”
They also feature…
- Ultra low power consumption
- Super Wide Viewing Angle – near 180°
- Extra thin & light
- SPI interface
Hardware setup is easy. You just connect the screen to the PCB using the ribbon cable and connector, then secure the other end with one of the supplied sticky pads, or using a little bit of tape (as I’ve done to enable swapping over the screens). Connecting the PCB to the Pi requires care to avoid putting pressure on the screen. It would be easy to crack the thin glass.
The first generation PaPirus was widely criticised for being hard to install and use. Is the Papirus Zero any better? I’m delighted to say that it was for me. I just followed the installation instructions on GitHub and was delighted to see that “it just worked”. I’m always a happy bunny when that happens – even though it ought to be ‘normal‘.
There are several demo programs in the PaPirus software installation. Each one is run from the command line using
papirus-clock Is a basic clock demo showing time and date. It updates once every five seconds from the Pi’s system time.
papirus-gol runs Conway’s game of life.
papirus-temp displays the temperature of the LM75 temperature sensor on the PCB.
papirus-buttons press one of the five onboard buttons and it will show which button you pressed on the screen. (This worked partially for me. Not all of the buttons ‘did something’ and the order was not quite as expected.)
Unfortunately, these last three examples didn’t work at all for me…
papirus-snakes A snakes game
papirus-system Show system information
papirus-framepush Push framebuffer to screen
What Else Can You Do With It?
There are Python and command line interfaces for controlling the PaPirus Zero screen output. You can display text or images limited only by your imagination and the the shape, size and monochromatic nature of the screen. You must run the scripts as root to be able to control the screen.
To write text to the screen…
from papirus import PapirusText text = PapirusText() text.write("PaPirus Zero Review by RasPi.TV")
or from the command line…
sudo papirus-write "PaPirus Zero Review by RasPi.TV"
To display an image on the screen…
from papirus import PapirusImage image = PapirusImage() image.write('/home/pi/PaPiRus/RasPiO-logo-200.jpg')
or from the command line…
sudo papirus-draw /home/pi/PaPiRus/RasPiO-logo-200.jpg
On the RasPiO image there are a few “stray pixels” that do not appear in the original graphic file, which was resized to fit the screen perfectly.
Strengths And Weaknesses
- is awesome for applications requiring infrequent refresh and low power usage
- has an excellent viewing angle
- is fine for relatively low res graphics as long as they work in monochrome
- is not good at applications needing fast screen refresh (by which I mean more often than once every few seconds).
- could do with some nicer/alternative fonts on the text interface
- is easier to install and use than previous editions. The software is much better, but some of the examples don’t work (for me).
Where and How Much?
You can get a PaPirus Zero from Pi-Supply priced at…
- £24 for the smaller screen
- £26 for the larger screen
- £40 for both screens
Here’s a little ‘Vine’ showing you some of what it can do…
Having a play with Papirus Zero. Will share findings when done. https://t.co/VDsmeR6OWf
— RasPi.TV (@RasPiTV) August 4, 2016
Edit To Add (8th August 2016)
3 days after I pubished this blog post, I saw some epaper screens being used as price tags in a shop in Lódź, Poland. I thought it was so funny/ironic that I tweeted some photos…
How ironic. 3 days after reviewing an epaper screen I see them used as price tags in a shop for the first time :) pic.twitter.com/cgMQ6wtPTM
— RasPi.TV (@RasPiTV) August 8, 2016
Are the black dots on the top image failed pixels or dust / dirt ? I note they also exist on the connection cable to the right of the display.
I mentioned this near the end of the article. “On the RasPiO image there are a few “stray pixels” that do not appear in the original graphic file, which was resized to fit the screen perfectly.”
It’s not dust or failed pixels. It’s some kind of software error. I think it must be in the drivers because it happens both in Python and the Command line interface.
I wonder if it’s an error in the resizing algorithm? Does it still happen if you manually resize the image to the exact resolution of the screen first?
Using techniques from https://raspi.tv/2014/overlaying-text-and-graphics-on-a-photo-and-tweeting-it-pt-5-twitter-app-series I guess you could use whatever fonts you like ;-)
RasPiO-logo-200.jpg is already sized perfectly to fit the number of pixels on the screen.
And yes – clearly using imagemagick you could make whatever display fonts you like, but what a collossal nuisance that would be. ;p
Looks like the buttons not working properly might be a “known problem” :-/
The 3 demos (papirus-snakes, papirus-system, papirus-framepush) not working is because they are not implemented (look at the source code).
The button demo is written for the larger Papirus hat, which only has 4 buttons and connected to the GPIO in a different manner (look at the schematics on the PaPiRus github).
In general the software on the PaPiRus github could use some TLC.
Thanks Ton :) I didn’t delve into the source, merely tried pretty much everything in the GitHub ReadMe.
I suspect the need for sudo is no longer “real” but only there because of the way the scripts are coded. AFAIK spi and i2c no longer need sudo.
Correct. You can delete the checks for sudo in the python code when running under the current Raspbian Jessie.
Hi I was wondering if your happy with your PiZero Screen few month later ?
I’m also looking for “good looking” Price Tag with update OTA, this good be a very good workaround, not as powerfull as a Pi but may be cheaper ?
You wrote: “not as powerfull as a Pi but may be cheaper ?”.
Note that the PiZero Screen needs a Raspberry Pi or Raspberry Pi Zero to function.
So I do not understand your comment.
Pi Zero + Screen + … > 30$ an E-Tag might be < 10$ on Alibaba (but yes OTA of an E-Tag require an other device)
For an even more expensive version… ;-)
Hi, just saw these. Do you know if they are compatible with larger (ie EPD060/040) as have a broken PRS600 and spare screen here. The problem is that the original software on the PRS600 sucks and does not support wireless anything, not even memory cards larger than 4GB. For that matter couldn’t even get it to work with a 2GB Memory Stick which is supposed to be a standard part. Thanks!