Papirus Zero for my Pyboard

The official pyboard running MicroPython.
This is the reference design and main target board for MicroPython.
You can buy one at the store.
Target audience: Users with a pyboard.
Post Reply
aquaticsneeze
Posts: 2
Joined: Tue Mar 21, 2017 1:36 am

Papirus Zero for my Pyboard

Post by aquaticsneeze » Tue Mar 21, 2017 1:48 am

Hi everyone!
I recently fried my brand new Raspberry Pi Zero W and now I'm finding myself with an unused Papirus Zero.
I was wondering if someone had already tried to drive one of those with a Pyboard.
I stumbled upon this: https://github.com/peterhinch/micropython-epaper which is a driver for Adafruit/EmbeddedArtists epaper displays, maybe it can be a first step.
The pinout seems to be quite similar (https://pinout.xyz/pinout/papirus_zero) but I'm more of a developer than an electronic expert, I'm only a newbie :D
Maybe someone can point me in the right direction? I'm mainly concerned about frying the display or the board, for the driver I can see by myself. I would be more than happy to contribute from the programming side if anyone has any problem!
Thank you and forgive my English, it's not my first language (and it's kinda late here, I'm going to bed soon)
Bye!

User avatar
pythoncoder
Posts: 5956
Joined: Fri Jul 18, 2014 8:01 am
Location: UK
Contact:

Re: Papirus Zero for my Pyboard

Post by pythoncoder » Tue Mar 21, 2017 7:26 am

From a quick look it does appear to use ePaper hardware from the same source (Pervasive Displays http://www.pervasivedisplays.com/kits) as the ones supported by my driver. This means there is a good chance of adapting the driver to suit. However the driver was written specifically for 2.7" displays from Embedded Artists and Adafruit. It seems that the Papirus ones are smaller so the driver would need some adaptation. The code for driving these things is a little involved: you'll need to look at the datasheet for the display you're using and adapt the code to suit.

I can't offer guarantees on the electronics but, as you say, the interfaces look similar.
Peter Hinch
Index to my micropython libraries.

aquaticsneeze
Posts: 2
Joined: Tue Mar 21, 2017 1:36 am

Re: Papirus Zero for my Pyboard

Post by aquaticsneeze » Wed Mar 22, 2017 6:07 pm

Thank you for the reply, I'm currently trying to figuring out the electronics then I will move on to the driver.
I will post updates if I'll be successful :)

EDIT:
From a quick look at your driver I see that you define LINES_PER_DISPLAY, BITS_PER_LINE , BYTES_PER_LINE , BYTES_PER_SCAN specifically for a 2.7 inch panel.
Could changing them to the values (https://github.com/repaper/gratis/blob/ ... 0_G2/epd.c) I found in the Repaper C driver be enough?
Obviously it would stop supporting 2.7 inch panels, but if it's enough it could be implemented passing the size in the EPD __init__ method.

EDIT2:
Looks like I need to use a correct voltage level (0x03 instead of 0x00) but I'm still figuring out where it need to be changed, because it's not used as a constant but hardcoded. Other than this I think it does not need much else.

Thank you for your time!

User avatar
pythoncoder
Posts: 5956
Joined: Fri Jul 18, 2014 8:01 am
Location: UK
Contact:

Re: Papirus Zero for my Pyboard

Post by pythoncoder » Thu Mar 23, 2017 7:32 am

You need to get the Pervasive Displays COG Timing datasheet. The version I have is 4P018-00_02_G2_Aurora+Mb_COG_Timing_V231pdf.

It has flowcharts detailing the way to drive each size of panel. I haven't studied sizes other than 2.7". You'll need to compare the flowchart for the size you're using with the driver code and adjust as required. Driving these things is quite involved. However it isn't rocket science - it's just a matter of following the instructions in the datasheet. Good luck!
Peter Hinch
Index to my micropython libraries.

Post Reply