0

I'm just about starting with Arduino, ESP8266, etc.

The first project would be to get something diplayed on an e-paper. My hardware:

Arduino Software, IDE, etc. is installed and the simple LED-blinking demo on D1 mini is working.

For playing with the e-paper and testing any examples, the wiring should be done correctly avoiding some potential damage. However, so far, I haven't found any clear instructions on how to connect these two components.

enter image description here

The connectors 3V3, GND, RST, SCK, MOSI seem to be obvious.

However, what about BUSY, CS, DC?
Do they stay unconnected or do they need to be connected to some non-obivous pins on the D1 mini board?

On the web, I have found wirings for other boards and e-papers with different connectors and names, but not yet for D1 mini and Wemos/LOLIN 2.13" Tricolor e-paper. If I overlooked it, I would be grateful for a link to comprehensive documentation.

Actually, do the following code lines from the example on gitgub mean that CS, DC, BUSY (from the e-paper) stay unconnected and RST can optionally be connected with RST of the D1 mini? This type of documentation is not self-explanatory for a beginner.

/*D1 mini*/
#define EPD_CS D0
#define EPD_DC D8
#define EPD_RST -1 // can set to -1 and share with microcontroller Reset!
#define EPD_BUSY -1 // can set to -1 to not use a pin (will wait a fixed delay)
asked Nov 25, 2024 at 7:56
3
  • 1
    CS(chip select) is part of the 4-pin SPI interface so it should connect to SS(slave select), and it therefore should be #define EPD_CS 15 (your board using native GPIO numbering system instead of Arduino's Dx number, so it is better to use GPIO naming). The EPD_DC can be any GPIO pin, so you could use #define EPD_DC 16, EPD_RST -1 means it share with microcontroller's RST, so connect the two RSTs. if you set EPD_BUSY -1, there is no need to connect anything. -1 generally means NOT_A_PIN or not in use. Commented Nov 26, 2024 at 4:02
  • @hcheung thank you for your comment. I will try and let you know. Do you maybe want to put your comment as answer, so in case it works I can accept the answer? Ideally with some reference where I could have found this information. Commented Nov 26, 2024 at 6:35
  • @hcheung thank you! After quite some hassle, it finally seems to work (although the EPD ist flickering for almost 30 seconds for a simple screen update). I'm pretty sure everything is somehow documented somewhere, but my problem apparently seems to be where to find the right information for the dozens of variations, versions and options. So, if you could post it as an answer (ideally including a link where you got this information from) I will gladly accept it. Commented Nov 26, 2024 at 14:39

1 Answer 1

1
/*D1 mini*/
#define EPD_CS D0
#define EPD_DC D8

This piece of information seems to contradict to the actual Lolin D1 Mini board pin configurations. According to the board variant definition for Lolin D1 Mini, SS(Slave Select as part of SPI interface) is defined as GPIO15(or D8 if using Arduino naming notation), while GPIO16 is D0, so it is exactly opposite to the example on GitHub. The picture of the board silkscreen also clearly shown that the SS is GPIO15. So this should really be:

#define EPD_CS 15 // (D8) SS on D1 Mini
#define EPD_DC 16 // (D0) on D1 Mini

Since your board silkscreen is using the GPIO numbering notation instead of Arduino Dx naming notation, it is better to just direct use the GPIO number.

The EPD_DC is an output pin to specific whether data send via SPI is Data(D) or Command(C).

-1 in ESP8266 is defined as NOT_A_PIN in source code, in fact, it is commonly used to specific a pin that is not in used for configuration setting.

EPD_RST -1 means it share with microcontroller's RST, so connect the two RSTs. If you set EPD_BUSY -1, there is no need to connect anything.

You can find out more about information on how to connect the display with a host MCU from SSD1680 datasheet (see page 10 for 4-wire SPI interface).

answered Nov 27, 2024 at 0:58

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.