weactstudio / weactstudio.epapermodule Goto Github PK
View Code? Open in Web Editor NEWWeAct Studio 1.54/2.13/2.9/4.2 Inch Epaper Module EPD
WeAct Studio 1.54/2.13/2.9/4.2 Inch Epaper Module EPD
I have some knowledge in C, way less in Python, but I want to use this display on a Raspberry Pico, using Python.
Do you have some libs for Python? Or can I have any help to do it?
The provided board shape[1] does not show the diameter for the mounting holes.
Hi,
I've been able to do partial update in BW with a BWR display, looking at the sample code.
Is it possible to use partial update with 3 colors (BWR) or with two colors using the red (WR)?
Hello, I'm using a 2.13" BW module with a ESP32, Arduino Framework and pretty much followed the example provided with GxEPD2 lib. I have the expected result except that I call display.hibernate()
and I measure a 500uA power consumption where I would expect much less from the module. Does this number seem normal? What is the expected current in power off mode? And in power on? I don't seem to find the electrical caracteristics in the documents in this repo. Thanks
Hello,
Myself and son are trying to work on making a Pwnagotchi using a old Raspberry Pi Zero W, the GPIO pins are soldered and connected to the screen via the flylead supplied. Pwnagotchi on SD Card and have tried to find it on my network and allsorts to try and see it working on the e-paper screen.
please help
Hi everyone, I need more details on the configuration of the SPI, it is specified in the doc that the screen is by default 4 lines SPI but the connector don't have a MISO pin (I believe the SDA is the MOSI) so how is it possible to wire 4 lines SPI here ?
when I look at the back of my screen I can see 4 lines SPI being wired with a resistor but not the 3 lines one and there are no information about how to switch to 3 lines mode. So does anyone knows if I should just wire the 3 lines one or if I need to also removed the resistor from the 4 lines one ?
Hi,
I bought a WeActStudio 2.13" Epaper and I connected to an ESP32 following the example reported in GitHub. It works fine and displays data collected from temp and hum sensors and a timestap from RTC DS3231, both connected through I2C.
After some minutes of deepsleep the ESP32 awakes and the display refreshes.
I've tried to add a SDCard module that is connected through SPI and after many trials I succeded in getting the SDcard work BUT the display doesn't refresh.
In serial monitor the values for Power-On, Full-Update and Pover-Off are completely different from those that appear when the Epaper works AND the SDCard is not connected.
The SDCard works with these connections: MOSI to pin 23 (shared with SDA of Epaper), MISO to pin 19, SCK to pin 18 (shared with SCL of E-paper), CS to pin 16 (defined in the code) .
I'd be very grateful if you could help me to use both the Epaper and the SDcard
Hi, does a 328P based Arduino also works with the 2.9" display?
I trying to run the sample code on esp8266 (nodemcu 12f) with a WeactStudio 2.9 B/W/R epaper display.
Firstly it wouldn't compile without adding #include "GxEPD2_display_selection_new_style.h"
Is thins wrong? why is is not included in the example ino in the first place?
I have wired up using the same pins as I successfully used with MH ET BW e-paper and also the same as in the example.
GxEPD2_DISPLAY_CLASS<GxEPD2_DRIVER_CLASS, MAX_HEIGHT(GxEPD2_DRIVER_CLASS)> display(GxEPD2_DRIVER_CLASS(/*CS=D8*/ EPD_CS, /*DC=D3*/ 0, /*RST=D4*/ 2, /*BUSY=D2*/ 4));
All I get is serial monitor:
ets Jan 8 2013,rst cause:2, boot mode:(7,6)
waiting for host
Is the display broken? Is there anything I can test? Am I doing something wrong
Where are the ESP Source files? Every other board has included source files, exept the ESP Boards?
Like the title says, Tab character does not produce a Tab on Display, prints what looks like the degree symbol centered on the line.
Printing the same line on the serial monitor displays a Tab, like it should, but the display does not print a Tab, it prins something akin to the degree symbol.
display.print(stockName[i] +" "+"\t"+"\t"+"\t"+"$"+stockPrice[i]); prints... TDooo$77.88 (the ooo, is printed vertically centerered on the line)
Serial.println(stockName[i] +" "+"\t"+"\t"+"\t" +"$"+stockPrice[i]); prints... TD $77.88 (Like it should)
Why does the display.print not recognize the Tab character, or, what character do I need to use to get a Tab? I would like to align data in columns on the display, but, no go withut Tab working
I use bw 2.9 module with ESP32.
Yes, I already read the old thread #12. But I can't reduce consumption in hybernate mode less than 500uA. Replacing display.init(115200,true,2,true); with display.init(115200,true,50,false); didn't help me, current consumption is exactly 0.5mA.
P.S. Because I send the ESP32 into deep sleep along with the display, then I needed to install a 100k pull-up resistor to RST.
Good morning. I would like to model a housing for a display module. However, while the dimensions of the board are well marked in terms of its size and the spacing of the mounting holes, I cannot find information on how the screen is located on it.
I'm talking about the 2.9" module
For custom 3d Cases the 3D Step Files would a big help.
Can you add them to the repository ?
Do you have any example how to display bitmaps on this display? From what I've seen in the files, these are just examples with text.
Hi, I'm writing a new Rust driver for these displays and I'm having trouble figuring out the correct procedure for partial updates. For now I'm working with the 2.9 inch BW display.
My current approach, after initialization, is this:
0x44
and 0x45
commands to set the bounds of the window that I want to update. Use the 0x4E
and 0x4F
commands to set the pointers to the x and y positions at the start of the window.0x24
. For example, to display a 16x16 black square I send 32 times 0xFF
.0x22
0xFF
(display mode 2) and 0x20
.This works for the first time but if I repeat this at another position to draw a another square I get all kinds of strange duplication, ghosting of the square in different parts of the display. The only way I'm able to avoid this is by first writing all 0xFF
to the full frame buffer (after sending the correct commands to address the full buffer). But this only displays one square at a time which is not what I want.
Another problem is that on each partial update the border displays a sort of flicker. Is there a way to get rid of that? I tried setting a different border LUT using 0x3C
. Some settings made a border permanently black, other didn't make a difference.
I consulted the datasheet and the Arduino driver used in the examples but I wasn't able to solve the problem. Can you help me understand the right procedure?
I try to test 2.13 eink module got from your shop
I am using this example with my pins on m5atom matrix (https://docs.m5stack.com/en/core/atom_matrix, Chip is ESP32-PICO-D4 (revision v1.0)
)
https://github.com/WeActStudio/WeActStudio.EpaperModule/blob/master/Example/EpaperModuleTest_Arduino_ESP32/EpaperModuleTest_Arduino_ESP32.ino
here is my code
https://github.com/alinelena/weact-eink
practically with the exception of the pins definition and speed for serial for printing is the same code...
however I have no luck in getting the display to cooperate and showing anything on it... remains with whatver was the default.
here is my output
setup display
_PowerOn : 25
_Update_Full : 1
_PowerOff : 1
helloFullScreenPartialMode
_PowerOn : 1
_Update_Part : 1
helloFullScreenPartialMode done
_PowerOff : 1
I try to determine if I do something silly or the screen has some hardware issues.
I
I have tried to connect, but the pins are labeled for i2c, but a lot of the other example are SPI.
Can i use SPI to interface with this board?
I'm trying to make a clock with this display and an ESP32. But whenever the ESP32 goes to deep sleep I can't partially refresh the display. Try following example:
#include <GxEPD2_BW.h>
#define GxEPD2_DRV_CLASS GxEPD2_290_BS
#define DISPLAY_PINOUT 5, 17, 16, 4 //ESP32
GxEPD2_BW<GxEPD2_DRV_CLASS, GxEPD2_DRV_CLASS::HEIGHT> display(GxEPD2_DRV_CLASS(DISPLAY_PINOUT)); // DEPG0290BS 128x296, SSD1680
RTC_DATA_ATTR byte hrs = 0;
RTC_DATA_ATTR byte mins = 0;
RTC_DATA_ATTR byte tag = 1;
RTC_DATA_ATTR byte monat = 3;
RTC_DATA_ATTR int count = 0;
void setup()
{
Serial.begin(115200);
Serial.println(count);
delay(100);
display.init(115200,(count==0),50,false);
display.setRotation(3);
display.setTextColor(GxEPD_BLACK);
}
void loop()
{
tag++; tag %= 31;
monat++; monat %= 12;
mins++; mins %= 60;
hrs++; hrs %= 24;
display.setFullWindow();
display.fillScreen(GxEPD_WHITE);
display.setTextSize(2);
display.setCursor(28 + 20, 14); display.printf("%02d.%02d.23", tag, monat);
display.setTextSize(5);
display.setCursor(5 + 20, 46); display.printf("%02d:%02d", hrs, mins);
display.display(count!=0);
display.hibernate();
count++;
esp_sleep_enable_timer_wakeup(5 * 1000000ULL);
esp_deep_sleep_start();
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.