Skip to content

Library for 19264-05 v3 LCD with UC1609C controller

License

BSD-2-Clause, BSD-2-Clause licenses found

Licenses found

BSD-2-Clause
LICENSE.md
BSD-2-Clause
license.txt
Notifications You must be signed in to change notification settings

KiLLAAA/LCD_UC1609

UC1609C 19264-05 v3 Library

Image of 19264-05 v3 License

Written by Lukas Vyhnalek aka KiLLA.
BSD license, read license.txt for more information.
All text above must be included in any redistribution.

FEATURES


  • driver library for 19264-05 v3 display from AliExpress, be cautious about 3.3V and 5V versions
  • compatible with Adafruit GFX - sketches using other common displays like OLED SSD1306 can be easily ported
  • mirroring, inverse display and other features supported
  • can work with none, single or multiple buffers
  • buffers can be placed in external SPI SRAM!
  • supported most of the SPI SRAM chips available today

SUPPORTED HARDWARE

MCU State
ATmega168 ok
ATmega328 ok
STM32F103C TODO
ESP8266 TODO
ESP32 TODO
SRAM Size State
23K640 8k ok*
23K256 32k ok
23LC512 64k ok
23LC1024 128k ok*
IP12B256 32k ok
IP12B512 64k ok
ESP-PSRAM64H 8192K ok
( * - not tested yet )

LIMITATIONS


  • the display chip select "CS" pin must be on PORTB on AVR - pins > D8
  • the SRAM chip select pin must be on PORTD on AVR - pins < D8
  • the backlight handling is left to user, for testing purposes it is enough to put 1k resistor from "VDD" pin to "A" pin and a wire from "GND" to "K" pin
  • tested with old Adafruit GFX 1.1.5, may work up to 1.2.2, newer versions are not tested
  • any buffer can be directly sent to display memory
  • without any buffer the use is limited to display progmem bitmaps
  • both the buffers and progmem bitmaps displayed directly have offset in Y axis aligned by 8 pixels, e.g. 0-8 -> 0, 8-16 -> 8 to avoid bit shifting whole bitmap
  • the Adafruit GFX screen canvas is set at compile time so it is always set to display dimensions, even if the advanced buffer is set smaller, but it does not limit the usage of anything except for text wrapping which is done at the screen edges presented by Adafruit GFX, offscreen pixels are handled by both the GFX and drawPixel() in this library

BUFFERS, BITMAPS AND GFX


  • the simple buffer is handled similar way as in the SSD1306 OLED library and contains whole screen region - comment out line containing #define USE_ADVANCED_BUFFERING
  • the advanced buffer structure carries more properties - the screen can be divided into more buffers with their own offsets!
  • both types let almost whole memory free to let user decide the scope of the buffer!
  • horizontally formatted bitmaps can be displayed via buffer and GFX's function drawBitmap()
  • vertiacally formatted bitmaps can be displayed directly with function displayBitmap()
  • this device uses "vertical" byte addressing, the library's functions displayBitmap() and displayBuffer() are using this format for maximum speed, buffered rotation takes too much cycles, it is better to have same data twice, or rotate to buffer only by need

TODO
  • make work with external SPI SRAM
  • support STM32F1, esp8266
  • test compatibility with more recent versions of Adafruit GFX
  • add more examples
  • add basic connection scheme
  • add in-depth docs
OTHER
  • most of values were obtained from similar controller's UC1608 datasheet

About

Library for 19264-05 v3 LCD with UC1609C controller

Topics

Resources

License

BSD-2-Clause, BSD-2-Clause licenses found

Licenses found

BSD-2-Clause
LICENSE.md
BSD-2-Clause
license.txt

Stars

Watchers

Forks

Packages

No packages published

Languages