the screen
the board
Hi, I wanted to use the SSD1283A on my ESP32 but i couldn't find any examples that works on my board (i’ve seen examples or an arduino but not for ESP32 ecause it works on AVR base)
i didn't find the exact model of the board but this one looks very similar except it's an usb-C connector on my own (it's also the same company)
i tried to ask chatGPT about a code that would suit the board either the screen and it give me this long code that didn’t work either.
#include <SPI.h>
#define TFT_CS 5
#define TFT_DC 16
#define TFT_RST 4
#define TFT_LED 12
#define TFT_MOSI 23
#define TFT_SCLK 18
#define TFT_WIDTH 130
#define TFT_HEIGHT 130
SPIClass spi = SPI;
void writeCommand(uint8_t cmd) {
digitalWrite(TFT_DC, LOW);
digitalWrite(TFT_CS, LOW);
spi.transfer(cmd);
digitalWrite(TFT_CS, HIGH);
}
void writeData(uint8_t data) {
digitalWrite(TFT_DC, HIGH);
digitalWrite(TFT_CS, LOW);
spi.transfer(data);
digitalWrite(TFT_CS, HIGH);
}
void writeData16(uint16_t data) {
digitalWrite(TFT_DC, HIGH);
digitalWrite(TFT_CS, LOW);
spi.transfer(data >> 8);
spi.transfer(data & 0xFF);
digitalWrite(TFT_CS, HIGH);
}
void setAddrWindow(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1) {
writeCommand(0x44);
writeData(x0);
writeData(x1);
writeCommand(0x45);
writeData(y0);
writeData(y1);
writeCommand(0x22);
}
void fillScreen(uint16_t color) {
setAddrWindow(0, 0, TFT_WIDTH - 1, TFT_HEIGHT - 1);
for (int i = 0; i < TFT_WIDTH * TFT_HEIGHT; i++) {
writeData16(color);
}
}
void initSSD1283A() {
digitalWrite(TFT_RST, LOW);
delay(100);
digitalWrite(TFT_RST, HIGH);
delay(100);
writeCommand(0x01); delay(50); // Software reset
writeCommand(0x11); delay(120); // Sleep out
writeCommand(0x3A); writeData(0x05); // RGB565
writeCommand(0x36); writeData(0x00); // Memory access
writeCommand(0x29); // Display ON
delay(50);
}
void setup() {
pinMode(TFT_CS, OUTPUT);
pinMode(TFT_DC, OUTPUT);
pinMode(TFT_RST, OUTPUT);
pinMode(TFT_LED, OUTPUT);
digitalWrite(TFT_LED, HIGH); // rétroéclairage ON
spi.begin(TFT_SCLK, -1, TFT_MOSI, TFT_CS);
spi.beginTransaction(SPISettings(20000000, MSBFIRST, SPI_MODE0));
initSSD1283A();
fillScreen(0xF800); delay(1000);
fillScreen(0x07E0); delay(1000);
fillScreen(0x001F); delay(1000);
}
void loop() {}
xfpd
January 17, 2026, 5:31pm
2
lepetidozo:
SSD1283A on my ESP32
This library references the SSD1283A
Project includes component for controlling LCD displays. Currently supports only one LCD controller - SSD1283A but it may change in the future. It is compatible with ESP32 microcontrollers. Source code of the driver has been written in C.
This shows library functions for the SSD1283A
These show examples of use (zero and super mini)
lepetidozo:
i tried to ask chatGPT
That thing only finds statistics, then makes whatever goulash/chowder/chili code emerge from the results. Use examples to learn.
firstly, thank you for your speed.
but i get an error when i try to compile the second example you gave me : it says “no such file or directory” i downloaded the zip file from the github (the first link which after a minute i think it’s the wrong one) and extract it to the librairies folder of arduino.
however i found this library which seems to support ESP32
xfpd
January 17, 2026, 9:06pm
6
I gave bad instructions... see Post #8 ...
Use the IDE to install libraries with TOOLS >> INSTALL LIBRARIES FROM ZIP >>
when i try to do it it gives me an error : Error: 13 INTERNAL: Library install failed: moving extracted archive to destination dir: library not valid
xfpd
January 18, 2026, 3:49pm
8
lepetidozo:
library not valid
I am sorry. I gave bad instructions.
Send browser to this page: GitHub - ZinggJM/SSD1283A: SSD1283A for Arduino
Click the GREEN button "CODE"
Click "DOWNLOAD ZIP" (do not extract the library)
IDE >> SKETCH >> INCLUDE LIBRARY >> ADD ZIP LIBRARY >> find downloaded ZIP >> OPEN
Wait for it to finish....
Delete ZIP file.
thank, it didn’t work either, so i guess the screen is broken.
it does really weird things like blinking a little bit (i dropped a video below)
i also check the connection between the esp32 and the screen and nothing wrong
xfpd
January 18, 2026, 7:13pm
10
No need to jump to conclusions. Just follow some steps.
Blinking? An image? Random pixels?
Again... step-by-step. Know that 100% of mistakes are cause by humans.
Show your wiring (a photo of it). Also, show the wiring diagram (draw one or take a picture of the diagram).
Check the datasheet for the TFT. Specifically, is it 3v3 or 5v... but also all the other datasheet information, too.
i think i dropped a video of the blinking but the entire screen blink sometimes and only in white (so grey)
and i cant really make schematic (because i dont know how to do it) but here is a a picture and a pin mapping table
SSD1283A
ESP32
Colonne 3
Colonne 4
VCC
5V
GND
GND
CS
5
RST
16
A0/DC
17
SDA
23
SCK
18
LED
4
and i think i know exactly the problem, i forgot the resistance between the LED and the ESP32 pin
also i dont have any kind of datasheets (i found the screen in a friend stock)
so hope this helps, you have a great day.