Simple project to drive a TFT LCD with an AVR MCU (ATmega328P) and avr-libc.
Currently supported displays/drivers:
Currently implemented features:
The AVR is clocked with a crystal for reliable communication via USART.
RAM usage currently is 210 bytes. Program memory is fully used, mainly by font and emoji bitmaps.
Ideas:
Connect to the controller with for example GTKTerm (38400 Baud).
Write some text and a bitmap, and upload a BMP image:
c 0xffff // clear displayd // display the demot 0 0 Just some text // write text in Hack to row 0 column 0b 0 0 1 // write bitmap with index 1 (tiny Linus cat) to row 0 column 0p 0 0 // prepare to "stream" a 16-Bit (5/6/5) RGB BMP image to row 0 column 0cat Bali160x128.bmp > /dev/ttyUSB0 // upload a BMP imagea // start paint application
Emojis are entered with a tabulation char + their "code", i.e. Smile!<TAB>s for a smiling emoji.
A super basic paint application created to learn about processing touch events and draw something on the screen.
The FT6206 based touch screen of the Adafruit 2.8" Color TFT LCD with Cap Touch 320x240 ILI9341 works quite well but at least for me the coordinates of touches close to the long edges of the screen are a bit off (too close to the edge) and there seems to be no calibration capability - the data sheet mentions "auto calibration".
But still it is fun and it should be possible to create an application supporting touch with reliable usability.