PaPiRus Zero Assembly and Mini Project

The guys at Pi Supply were kind enough to send me a PaPiRus Zero v1.1 to play with, so here’s how I set it up and what I did with it 🙂

Prerequisites

You’ll require a Raspberry Pi Zero with WiFi connection, although it would work just as well on Pi 3 for example.

Ensure you are running the latest Raspbian Jessie and it is fully updated:

  • sudo apt-get update && sudo apt-get upgrade -y

and SPI is enabled:

  • sudo raspi-config
  • 9 Advanced Options > A5 SPI > Enable

Reboot to apply the changes:

  • sudo reboot

Assembly

Assembling the PaPiRus Zero is not that hard, but requires certain caution with the ePaper display itself, as it is very fragile.

IMG_1571

You should have the following pieces as part of the kit:

  • PaPiRus Zero v1.1 PCB
  • ePaper display (1.44″ or 2.0″)
  • two double-sided sticky pads
  • two spacers
  • four screws

IMG_1573

Place the PCB with GPIO connector facing up, and gently open the brown connector. Slide in the display, with contacts facing down. Close the connector.

IMG_1575

Turn the assembly around and apply the sticky pads to the display. Make sure you do not put the pads to close to the edges of the display.

IMG_1576

Bend over the display onto the PCB and push gently until the pads stick. You should be left with enough clearance to install the optional mounting spacers.

Software

Installing the software was a breeze, and the issues encountered a while back, while testing the original PaPiRus, have been resolved.

The instructions are available on the Pi-Supply GitHub repository: https://github.com/PiSupply/PaPiRus, but boil down to these two commands:

pi@raspberrypi:~ $ curl -sSL https://goo.gl/i1Imel | sudo bash

pi@raspberrypi:~ $ sudo papirus-set 2.0

If you encounter an issue like the one below when attempting to run an example:

pi@raspberrypi:~ $ sudo papirus-clock
Traceback (most recent call last):
File "/usr/local/bin/papirus-clock", line 121, in <module>
main(sys.argv[1:])
File "/usr/local/bin/papirus-clock", line 64, in main
papirus = Papirus()
File "/usr/local/lib/python2.7/dist-packages/papirus/epd.py", line 66, in __init__
with open(os.path.join(self._epd_path, 'version')) as f:
IOError: [Errno 2] No such file or directory: '/dev/epd/version'

Perform following action and try again:

pi@raspberrypi:~ $ sudo service epd-fuse restart

The example application should now run and you should be all set to create your own project!

Mini Project

As a mini project for my PaPiRus Zero, I decided to display my home’s power consumption data. This data originates from an emonPi installed next to my switchboard. The data can be retrieved via MQTT and displayed on the PaPiRus.

IMG_1597 (1) IMG_1609

Here’s a video of the PaPiRus Zero updating the values as it receives them via MQTT. The display is partially updated when a new value is received, and fully updated every minute:

Here’s the Python code I used to connect to the MQTT broker and display the desired data on the PaPiRus Zero:

I hope this blog post has given you an idea on how to use your PaPiRus Zero! Don’t hesitate to share your builds or projects in the comments 🙂

9 thoughts on “PaPiRus Zero Assembly and Mini Project

  1. Nice post.
    This looks like a very useful device for situations just like this application.

    I can also see Battery Monitoring being useful as well.

    Thanks for the writeup.
    Mark

    1. Thanks Mark.

      I’ll have to perform some power consumption measurements to get an idea of just how much (or little) this consumes vs a certain refresh rate.

      Frederick

Leave a Reply

Your email address will not be published. Required fields are marked *