Please add support for Waveshare ESP32-S3 1.43inch AMOLED Display #712
Replies: 2 comments 1 reply
|
The ESP32-S3 1.43 AMOLED does work. However, it appears there are two variants, one using a SH8601 controller, and another using the CO5300 controller. However, the waveshare documentation only mentions the former (I suspect the CO5300 might be a later revision). So, in may case, I spent a lot of time troubleshooting what turned out to be using the wrong driver. For the CO5300 variant the following should work: #include <Arduino_GFX_Library.h>
#define LCD_H_RES 480
#define LCD_V_RES 480
#define PIN_NUM_LCD_CS 9
#define PIN_NUM_LCD_PCLK 10
#define PIN_NUM_LCD_DATA0 11
#define PIN_NUM_LCD_DATA1 12
#define PIN_NUM_LCD_DATA2 13
#define PIN_NUM_LCD_DATA3 14
#define PIN_NUM_LCD_RST 21
#define PIN_NUM_LCD_EN 42
Arduino_DataBus *bus = new Arduino_ESP32QSPI(
PIN_NUM_LCD_CS,
PIN_NUM_LCD_PCLK,
PIN_NUM_LCD_DATA0,
PIN_NUM_LCD_DATA1,
PIN_NUM_LCD_DATA2,
PIN_NUM_LCD_DATA3
);
Arduino_CO5300 *gfx = new Arduino_CO5300(
bus,
PIN_NUM_LCD_RST, /* RST (Pass -1 if managed via GPIO expander or power chip) */
0, /* Rotation (0-3) */
LCD_H_RES,
LCD_V_RES
);Replace Also note that the waveshare documents state that the OLED resolution is 466x466. This is not however a resolution listed as supported in the CO5300 datasheet, and I found that using 466 as the LCD_H_RES and LCD_V_RES values resulted in fillScreen not actually filling the entire screen and leaving a small strip on the edge as the default green. The above values of 480 seem to resolve this, although whether the OLED really is 480x480 or whether there is some scaling or clipping happening, I can't tell (as the display is round, some clipping is inevitable anyway). |
|
Having play with this a little more, the code I finally used is this: The resolution is 466x466 - the issue I was originally having was due to the display needing an x-offset of 6. I was also having problems writing direct to the display, e.g.
works, but
doesn't. This is probably due to a buffering issue somewhere. However, a workaround seems to be to always write to an intermediate canvas, and then issue a |
Uh oh!
There was an error while loading. Please reload this page.
Please add support for Waveshare ESP32-S3 1.43inch AMOLED Display:
https://www.waveshare.com/esp32-s3-touch-amoled-1.43.htm
All reactions