같은 보드에 다른 컨트롤러가 들어가는 이유
저가 디스플레이 보드는 공개 시장에서 산 패널로 만들어집니다. 배치의 공급처가 바뀌면 컨트롤러도 바뀔 수 있지만 보드 이름, PCB, 핀 배열은 그대로입니다. ESP32-2432S028R(Cheap Yellow Display)과 ESP32-2432S024는 모두 ILI9341 버전과 ST7789 버전이 있습니다.
증상으로 구별하기
ILI9341 설정에서 보이는 증상 | 가능성 높은 원인 | 해결 |
|---|---|---|
흰 화면 또는 빈 화면, 백라이트는 켜짐 | 컨트롤러가 ST7789 | ST7789 드라이버로 전환 |
이미지는 나오지만 색이 네거티브처럼 보임 | ST7789 패널은 반전 필요 | 반전 전환( |
빨강과 파랑이 뒤바뀜 | 색 순서 | BGR 순서로 설정( |
이미지 반전 또는 어긋남 | 회전 / 메모리 접근 설정 | 회전 변경(MADCTL) |
전부 어두움 | 백라이트 핀 오류 또는 다른 용도로 사용 | 백라이트 GPIO 확인 |
한 번에 하나의 설정만 바꾸고, 비교용으로 동작이 검증된 예제를 남겨 두세요.
ID를 읽어 구별하기
보드가 패널의 MISO 라인을 연결했다면 추측 대신 컨트롤러 ID를 읽을 수 있습니다. ILI9341은 Read ID4 명령(0xD3)에 0x9341로 응답합니다. TFT_eSPI에서는 tft.readcommand8(0xD3, n)으로 레지스터의 n번째 바이트를 읽습니다. 0x93과 0x41이 나오지 않으면 ST7789 드라이버를 시도하세요. MISO가 없는 보드는 읽을 수 없으므로 증상 표를 사용하세요.
다른 설정
항목 | ILI9341 | ST7789 |
|---|---|---|
TFT_eSPI 드라이버 | | |
LovyanGFX | | |
ESP-IDF | | |
반전 | 보통 꺼짐 | 자주 켜짐 |
두 가지 모두의 템플릿은 ILI9341과 ST7789V 페이지에 있습니다.
제품에서 이를 피하는 방법
제품에는 데이터시트에 컨트롤러가 명시되고 공급업체가 생산 로트마다 이를 고정하는 모듈을 지정해, 배치가 바뀌어도 펌웨어가 깨지지 않게 하세요. 당사 2.8인치 240×320 SPI 모듈은 지정된 ST7789V를 사용합니다. 샘플은 1개부터 가능합니다.
자주 묻는 질문
ILI9341 코드가 ST7789에서 동작하나요?
확실하지 않습니다. 둘 다 240×320 컨트롤러지만 초기화 시퀀스가 다르므로 ILI9341 코드를 고치기보다 드라이버를 바꾸세요.
ST7789 디스플레이의 색이 반전되는 이유는?
많은 ST7789 패널은 디스플레이 반전(INVON)이 필요합니다. TFT_INVERSION_ON을 활성화하거나 tft.invertDisplay(true)를 호출하세요.
컨트롤러 ID는 어떻게 읽나요?
MISO를 연결한 상태에서 레지스터 0xD3(Read ID4)을 읽으면 ILI9341은 0x93 0x41을 반환합니다. MISO가 없으면 증상으로 구별하세요.

