0

2.7" Tri-Color eInk / ePaper Shield with SRAM Not Black
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

2.7" Tri-Color eInk / ePaper Shield with SRAM Not Black

by asyork on Thu May 19, 2022 1:43 am

I recently bought the parts for https://learn.adafruit.com/epaper-weather-station and just got the parts and put them together tonight. I changed the string, "http://api.openweathermap.org/data/2.5/weather?q=" to "http://api.openweathermap.org/data/2.5/weather?id=" so I could use my city ID due to the name being too common to use. Everything else was left the same.

The display is only displaying red and white. Things that should be black are red. I tried replacing every instance of 'EPD_BLACK' with 'EPD_RED' and vice versa with no change in the display. When the display first starts updating it is black, but turns red by the time it is finished. Based on the photos in the guide this is not normal behavior. I just updated all the libraries and boards today, including updating the bootloader on the M4. Is there anything that has changed in an update that may have caused this? And is there any way to fix it? Thanks.

asyork
 
Posts: 43
Joined: Wed Mar 24, 2021 7:07 am

Re: 2.7" Tri-Color eInk / ePaper Shield with SRAM Not Black

by mikeysklar on Thu May 19, 2022 3:21 pm

Are you running 4.4.3 of the Adafruit_EPD library? It was released with the summary of "Fixed red inversion regardless of reset pin value".

https://github.com/adafruit/Adafruit_EP ... /tag/4.4.3

mikeysklar
 
Posts: 7755
Joined: Mon Aug 01, 2016 8:10 pm

Re: 2.7" Tri-Color eInk / ePaper Shield with SRAM Not Black

by asyork on Thu May 19, 2022 4:26 pm

I am using version 4.4.3.

asyork
 
Posts: 43
Joined: Wed Mar 24, 2021 7:07 am

Re: 2.7" Tri-Color eInk / ePaper Shield with SRAM Not Black

by asyork on Thu May 19, 2022 5:52 pm

I just tried 4.4.2 and it had the same behavior.

asyork
 
Posts: 43
Joined: Wed Mar 24, 2021 7:07 am

Re: 2.7" Tri-Color eInk / ePaper Shield with SRAM Not Black

by mikeysklar on Thu May 19, 2022 6:03 pm

Let's make sure you are using the correct library (enable verbose output in the Arduino IDE) to confirm 4.4.3 is being pulled in and not the older one.

Please try running one of the current examples from the repo:

https://github.com/adafruit/Adafruit_EP ... r/examples

based on this issue that has been closed:

https://github.com/adafruit/Adafruit_EPD/issues/58

mikeysklar
 
Posts: 7755
Joined: Mon Aug 01, 2016 8:10 pm

Re: 2.7" Tri-Color eInk / ePaper Shield with SRAM Not Black

by asyork on Thu May 19, 2022 6:57 pm

It appears to be using the correct library
"Using library Adafruit_EPD at version 4.4.3 in folder: D:\Libraries\Documents\Arduino\libraries\Adafruit_EPD"

I used the example here, https://github.com/adafruit/Adafruit_EP ... PDTest.ino
It compiles and uploads without errors, but nothing happens. The display doesn't change and there is nothing int the serial monitor. If I uncomment "Adafruit_EK79686" instead I garbled screen that is a mix of red and black, but still nothing on the serial monitor.

Code: Select all | TOGGLE FULL SIZE
/***************************************************
  Adafruit invests time and resources providing this open source code,
  please support Adafruit and open-source hardware by purchasing
  products from Adafruit!
  Written by Limor Fried/Ladyada for Adafruit Industries.
  MIT license, all text above must be included in any redistribution
 ****************************************************/

#include "Adafruit_EPD.h"


#define EPD_CS     10
#define EPD_DC      9
#define SRAM_CS     11
#define EPD_RESET   5 // can set to -1 and share with microcontroller Reset!
#define EPD_BUSY    7 // can set to -1 to not use a pin (will wait a fixed delay)

// Uncomment the following line if you are using 1.54" EPD with IL0373
//Adafruit_IL0373 display(152, 152, EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY);
// Uncomment the following line if you are using 1.54" EPD with SSD1680
//Adafruit_SSD1680 display(152, 152, EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY);
// Uncomment the following line if you are using 1.54" EPD with SSD1608
//Adafruit_SSD1608 display(200, 200, EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY);
// Uncomment the following line if you are using 1.54" EPD with SSD1681
//Adafruit_SSD1681 display(200, 200, EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY);
// Uncomment the following line if you are using 1.54" EPD with UC8151D
//Adafruit_UC8151D display(152, 152, EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY);


//Uncomment the following line if you are using 2.13" EPD with SSD1680
//Adafruit_SSD1680 display(250, 122, EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY);

// Uncomment the following line if you are using 2.13" EPD with SSD1675
//Adafruit_SSD1675 display(250, 122, EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY);

// Uncomment the following line if you are using 2.13" EPD with SSD1675B
//Adafruit_SSD1675B display(250, 122, EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY);

// Uncomment the following line if you are using 2.13" EPD with UC8151D
//Adafruit_UC8151D display(212, 104, EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY);

//Uncomment the following line if you are using 2.13" EPD with IL0373
//Adafruit_IL0373 display(212, 104, EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY);
//#define FLEXIBLE_213


//Uncomment the following line if you are using 2.7" EPD with IL91874
Adafruit_IL91874 display(264, 176, EPD_DC, EPD_RESET, EPD_CS, SRAM_CS);

// Uncomment the following line if you are using 2.7" EPD with EK79686
//Adafruit_EK79686 display(264, 176, EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY);


// Uncomment the following line if you are using 2.9" EPD with IL0373
//Adafruit_IL0373 display(296, 128, EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY);
//#define FLEXIBLE_290

// Uncomment the following line if you are using 2.9" EPD with SSD1680
//Adafruit_SSD1680 display(296, 128, EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY);

// Uncomment the following line if you are using 2.9" EPD with UC8151D
//Adafruit_UC8151D display(296, 128, EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY);


#define COLOR1 EPD_BLACK
#define COLOR2 EPD_RED


void setup() {
  Serial.begin(115200);
  //while (!Serial) { delay(10); }
  Serial.println("Adafruit EPD test");
 
  display.begin();

#if defined(FLEXIBLE_213) || defined(FLEXIBLE_290)
  // The flexible displays have different buffers and invert settings!
  display.setBlackBuffer(1, false);
  display.setColorBuffer(1, false);
#endif

  // large block of text
  display.clearBuffer();
  testdrawtext("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur adipiscing ante sed nibh tincidunt feugiat. Maecenas enim massa, fringilla sed malesuada et, malesuada sit amet turpis. Sed porttitor neque ut ante pretium vitae malesuada nunc bibendum. Nullam aliquet ultrices massa eu hendrerit. Ut sed nisi lorem. In vestibulum purus a tortor imperdiet posuere. ", COLOR1);
  display.display();

  delay(5000);

  display.clearBuffer();
  for (int16_t i=0; i<display.width(); i+=4) {
    display.drawLine(0, 0, i, display.height()-1, COLOR1);
  }

  for (int16_t i=0; i<display.height(); i+=4) {
    display.drawLine(display.width()-1, 0, 0, i, COLOR2);  // on grayscale this will be mid-gray
  }
  display.display();
}

void loop() {
  //don't do anything!
}


void testdrawtext(const char *text, uint16_t color) {
  display.setCursor(0, 0);
  display.setTextColor(color);
  display.setTextWrap(true);
  display.print(text);
}

asyork
 
Posts: 43
Joined: Wed Mar 24, 2021 7:07 am

Re: 2.7" Tri-Color eInk / ePaper Shield with SRAM Not Black

by asyork on Thu May 19, 2022 10:58 pm

I uncommented "while (!Serial) { delay(10); }" and now I'm getting the serial output, and put a message in the void loop to see if it was making it there, and it is. So for whatever reason none of the drawing is working, but the program is running.

asyork
 
Posts: 43
Joined: Wed Mar 24, 2021 7:07 am

Re: 2.7" Tri-Color eInk / ePaper Shield with SRAM Not Black

by mikeysklar on Fri May 20, 2022 3:41 pm

Thank you for confirming the library version in the compile output and enabling the serial to confirm the code is running.

Try the ThinkInk_tricolor.ino

https://github.com/adafruit/Adafruit_EP ... icolor.ino

mikeysklar
 
Posts: 7755
Joined: Mon Aug 01, 2016 8:10 pm

Re: 2.7" Tri-Color eInk / ePaper Shield with SRAM Not Black

by asyork on Fri May 20, 2022 4:34 pm

I get a similar issue with that demo. I get the serial output, but not the images/text. This one is causing display updates, but somehow it's just the same weather info that was there before I uploaded the new sketch.

I uncommented "ThinkInk_270_Tricolor_C44 display(EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY);" for that one since it appeared to have the same display as mine.

Edit: It seems that the shield will display with 'gfx' but not 'display'. The weather sketch displays, but red, using 'gfx', but the demos don't display anything using 'display'. I'm not sure if something is wrong with it or if I am missing something important in the demos. I am not very familiar with C++. This little project is the most editing of it I've ever done.

asyork
 
Posts: 43
Joined: Wed Mar 24, 2021 7:07 am

Re: 2.7" Tri-Color eInk / ePaper Shield with SRAM Not Black

by mikeysklar on Sat May 21, 2022 12:28 pm

Okay, thank for trying the thinkink example.

Engineering is looking into this. There have been recent issues with the library related to red in black areas.

mikeysklar
 
Posts: 7755
Joined: Mon Aug 01, 2016 8:10 pm

Re: 2.7" Tri-Color eInk / ePaper Shield with SRAM Not Black

by MakerMelissa on Sat May 21, 2022 1:44 pm

Hi for the shield, can you make sure your pin configuration is like this:
Code: Select all | TOGGLE FULL SIZE
#define EPD_DC      9
#define EPD_CS      10
#define SRAM_CS     8
#define EPD_RESET   -1
#define EPD_BUSY    -1


Here's the new guide for reference: https://learn.adafruit.com/adafruit-2-7 ... uino-usage

MakerMelissa
 
Posts: 296
Joined: Wed Jun 05, 2013 2:10 am

Re: 2.7" Tri-Color eInk / ePaper Shield with SRAM Not Black

by asyork on Sat May 21, 2022 8:02 pm

Thanks, the tricolor demo worked, with all three colors, but upside down with those pins.

asyork
 
Posts: 43
Joined: Wed Mar 24, 2021 7:07 am

Re: 2.7" Tri-Color eInk / ePaper Shield with SRAM Not Black

by MakerMelissa on Sat May 21, 2022 9:47 pm

Awesome. You might be able to rotate the display by adding this line of code after it's initialized, but before it draws:
Code: Select all | TOGGLE FULL SIZE
display.setRotation(2);

I don't have the hardware with me at the moment, so I can't verify.

MakerMelissa
 
Posts: 296
Joined: Wed Jun 05, 2013 2:10 am

Re: 2.7" Tri-Color eInk / ePaper Shield with SRAM Not Black

by asyork on Sat May 21, 2022 9:57 pm

I put it at the end of the setup and it worked. Thanks again.

asyork
 
Posts: 43
Joined: Wed Mar 24, 2021 7:07 am

Re: 2.7" Tri-Color eInk / ePaper Shield with SRAM Not Black

by asyork on Mon May 30, 2022 6:19 pm

I wanted to know if there was any update on the Adafruit_GFX.h printing black as red, or if you think my problem is something else. Since the demos worked fine with the 'display' functions, I am making a bit of a leap in guessing that it has to do with gfx.

asyork
 
Posts: 43
Joined: Wed Mar 24, 2021 7:07 am

Please be positive and constructive with your questions and comments.