Due with Embedded Artists E-Paper Display 2.7"

Hi,

I'm new to Arduino but I have some experience with developing hardware based on AVR MCUs.

I've been playing around with my Due and the Arduino IDE and tried out some of the examples. All worked just fine.

But then I tried to use the Embedded Artists E-Paper 2.7" E-Paper display (rev c) with the Due and I just can't get it to work. The display is suited for use with 3.3 volts. Embedded Artists provides an example Arduino sketch and the required libraries for the Uno here: http://www.embeddedartists.com/sites/default/files/support/displays/epaper/Epaper_arduino.pdf
I connected all PINs exactly like explained in the pdf. I just changed MISO, MOSI and SCK to the dedicated ICSP-connector of the Due (in contrast to the Uno, the Due seems to not pin out the SPI to the pins on the side of the board). I selected a SPI connection divider of 21 (84/21 = 4 MHz, which is the recommended SPI frequency).

When running the sketch on the due, the images on the display should change frequently. But nothing happens, except for the "power" lights on the back of the display's board being on.

Do I miss any differences between the Due and the Uno that could help here? Or does anyone have experience with the combination of the Due and the display?

Thanks!
Mitch.

I have been experimenting with this display on the Due the last couple of days, but I haven't had much time to spend on it. I'm hoping to work on it a fair bit this weekend. If you come up with anything useful, post here--I will try to do the same so anyone else can see it.

Hello,

Did you try to modify the library according to the settings from the last post of this topic http://forums.adafruit.com/viewtopic.php?f=22&t=47571#p251348 ?

Yes, tried that. It relates to the repaper customized code, not the original embedded artists.
Applied all the changes, but still doesn't work.

But thanks for the find!

I found a solution that seems to have gotten it working for me, at least on the demo code. I haven't had time to experiment much beyond that.

I found that the board would not run any code that had an instance of the LM75A class created. So, in addition to the changes mentioned by danimihalka, I also uncommented line 29 in EPD_GFX.h, which allows us to not use the LM75A temperature sensor. Then, whenever the EPD_GFX class is instantiated, you use a passed-in temperature instead, which means changing that line of code in the sketch. This got a couple of demo sketches working for me, but I have not tried anything else yet.

I hope this helps!

The Due SPI system is completely different from Uno style Arduinos, in particular you
must use one of three or four pins as chip-selects, you have no choice (but you can
drive other pins too if needed). A random Uno library using SPI may or may not conform
to the Due's expectations, so this is an area to check.

So, after a bit more experimentation, I found that the problem is in the constructor for the LM75A class. All it does is call Wire.begin(), and this seems to be the problem. I commented out that line of code int the LM75A library and instead called Wire.begin() in setup(), and it now seems to function correctly. Again, I have only tested a couple of demos, so it could still fail in some other way.