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.
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
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.
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.
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.
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 🙂