{"id":16239742,"url":"https://github.com/nopnop2002/raspberry-ili9325","last_synced_at":"2025-10-07T22:21:10.980Z","repository":{"id":40327722,"uuid":"87639909","full_name":"nopnop2002/Raspberry-ili9325","owner":"nopnop2002","description":"Parallel TFT Shield Library for wiringPi","archived":false,"fork":false,"pushed_at":"2024-02-13T22:08:14.000Z","size":3039,"stargazers_count":64,"open_issues_count":0,"forks_count":15,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-02-28T19:53:14.101Z","etag":null,"topics":["ili9325","ili9327","ili9341","ili9342","ili9481","ili9486","ili9488","r61505u","r61509v","raspberrypi","s6d1121","spfd5408","st7775","st7781","st7783","st7793","st7796","wiringpi","xpt2046"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nopnop2002.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-08T14:31:34.000Z","updated_at":"2024-08-17T09:10:29.000Z","dependencies_parsed_at":"2024-10-27T21:23:27.587Z","dependency_job_id":"96389810-58d1-4e14-a98f-afb48ae3a8a1","html_url":"https://github.com/nopnop2002/Raspberry-ili9325","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopnop2002%2FRaspberry-ili9325","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopnop2002%2FRaspberry-ili9325/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopnop2002%2FRaspberry-ili9325/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopnop2002%2FRaspberry-ili9325/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nopnop2002","download_url":"https://codeload.github.com/nopnop2002/Raspberry-ili9325/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244006260,"owners_count":20382441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ili9325","ili9327","ili9341","ili9342","ili9481","ili9486","ili9488","r61505u","r61509v","raspberrypi","s6d1121","spfd5408","st7775","st7781","st7783","st7793","st7796","wiringpi","xpt2046"],"created_at":"2024-10-10T13:45:00.042Z","updated_at":"2025-10-07T22:21:05.945Z","avatar_url":"https://github.com/nopnop2002.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 8Bit/16Bit Parallel TFT Library for WiringPi\n\nThis is library for RaspberryPi.   \nYou can use a TFT Shield for UNO R3.   \nThis library can show a chart to TFT Shield.   \n\n![TFT-Shield](https://user-images.githubusercontent.com/6020549/104253960-10a71380-54b9-11eb-8789-a12c2c769ab4.JPG)\n\nPrimarily, these TFT Shiled is the one for Arduino.   \nThis may works with other boards like OrangePi/NanoPi.   \n\n# Supported TFT controllers:   \n\n## Generic 8bit Sheild\n- ILI9320(240x320)      \n- ILI9325(240x320)      \n- ILI9341(240x320)      \n- ILI9342(240x320)      \n- ILI9481(320x480)      \n- ILI9486(320x480)      \n- ILI9488(320x480)      \n- SPFD5408(240x320 Same as ILI9320)      \n- R61505U(240x320 Same as ILI9320)      \n- R61509V(240x400)      \n- ST7781(240x320)     \n- ST7783(240x320 Same as ST7781)      \n- ST7793(240x400 Same as R61509)      \n- ST7796(320x480 Same as ILI9486)      \n\n## Generic 16bit Sheild\n- ILI9341(240x320)   \n\n## OPEN-SMART Products\n- OPEN-SMART ILI9225 TFT-Shield(176x220)      \n- OPEN-SMART ILI9327 TFT-Shield(240x400)      \n- OPEN-SMART ILI9340 TFT-Shield(240x320)   \n- OPEN-SMART S6D1121 16Pin-Parallel(240x320)   \n- OPEN-SMART ST7775 16Pin-Parallel(176x220 Same as ILI9225)   \n- OPEN-SMART ST7783 16Pin-Parallel(240x320)   \n- OPEN-SMART R61509V 16Pin-Parallel(240x400)   \n- OPEN-SMART ILI9488 16Pin-Parallel(320x400 Color inversion)\n\nThese are all 2.4 inch, 320x240 TFTs.\n![TFT-SHIELD-2](https://user-images.githubusercontent.com/6020549/104244320-873a1600-54a5-11eb-93c0-9fad671fdfed.JPG)\n\n3.95 inches is almost twice as large as 2.4 inches.\n![TFT-SHIELD-3](https://user-images.githubusercontent.com/6020549/104244328-8903d980-54a5-11eb-8c9a-d26408e04f92.JPG)\n\nThese are OPEN-SMART 16Pin-Parallel Products.\n![OPEN-SMART-16Pin](https://user-images.githubusercontent.com/6020549/110071604-ad9e7280-7dbf-11eb-8e09-a9ebfacfd795.JPG)\n\n----\n\n# Software requirement   \n- WiringPi Library   \n This project uses the wiringPiSetup() function to initialize GPIOs.   \n If you use it on a board other than the RPI board, you may need to change the GPIO number.   \n As far as I know, there are these libraries.   \n\t- WiringPi for OrangePi   \n\t- WiringPi for OrangePi Zero   \n\t- WiringPi for OrangePi3   \n\t- WiringPi for BananaPi   \n\t- WiringPi for NanoPi   \n\t- WiringPi for Pine-64   \n\n----\n\n# Wirering for 8Bit Parallel   \n\n|TFT||RPI|\n|:-:|:-:|:-:|\n|LCD_RST|--|Pin#7|\n|LCD_CS|--|Pin#3|\n|LCD_RS|--|Pin#5|\n|LCD_WR|--|Pin#26|\n|LCD_RD|--|Pin#28|\n|LCD_D0|--|Pin#29|\n|LCD_D1|--|Pin#31|\n|LCD_D2|--|Pin#33|\n|LCD_D3|--|Pin#35|\n|LCD_D4|--|Pin#37|\n|LCD_D5|--|Pin#32|\n|LCD_D6|--|Pin#36|\n|LCD_D7|--|Pin#38|\n|5V|--|5V(*)|\n|3.3V|--|3.3V(*)|\n|GND|--|GND|\n\n\\*When a regulator(It's often AMS1117) is mounted on the back, it's operated 5V.   \n\\*When a regulator is NOT mounted on the back, it's operated 3.3V.   \n\n__NOTE__   \nMy R61509V has a regulator on the back.   \nNormally, a TFT with a regulator works at 5V, but my R61509V doesn't work unless I supply both 5V and 3.3V.   \n\n__NOTE__   \nYou can change any pin.   \nPin define is \"pin.conf\".   \nIf you use a 26-pin header, you can use \"pin.conf.26pin\" instead of \"pin.conf\".   \n\n----\n\n# Build   \n\n- for ILI9225   \n`make ILI9225`   \n\n- for ILI9320   \n`make ILI9320`   \n\n- for ILI9325   \n`make ILI9325`   \n\n- for ILI9327   \n`make ILI9327`   \n\n- for ILI9341   \n`make ILI9341`   \n\n- for ILI9342   \n`make ILI9342`   \n\n- for ILI9481   \n`make ILI9481`   \n\n- for ILI9486   \n`make ILI9486`   \n\n- for ILI9488   \n`make ILI9488`   \n\n- for ILI9488 Inversion Color    \n`make ILI9488-INVERT`   \n\n- for SPFD5408   \n`make SPFD5408`   \n\n- for R61505U   \n`make R61505U`  \n\n- for R61509V   \n`make R61509V`  \n\n- for S6D1121   \n`make S6D1121`  \n\n- for ST7775   \n`make ST7775`   \n\n- for ST7781   \n`make ST7781`   \n\n- for ST7783   \n`make ST7783`   \n\n- for ST7793   \n`make ST7793`   \n\n- for ST7796   \n`make ST7796`   \n\n----\n\n# How to find the TFT driver name   \n![](https://img.shields.io/badge/_IMPORTANT-important)  \nThe information provided by sellers on Ebay or AliExpress is largely incorrect.   \nYou waste time if you don't choose the right driver.   \nThere are many [variations](http://domoticx.com/arduino-shield-2-4-tft-lcd-touch/) of the 2.4 inch shield.   \nYou can use [this](https://github.com/prenticedavid/MCUFRIEND_kbv/tree/master/examples/LCD_ID_readreg) to find out your driver.   \nThis is for Arduino UNO.   \nDo not use this on the RPI as the GPIO on the RPI is not 5V tolerant.   \n__Never believe the seller's information.__   \n\n----\n\n# Graphic support   \n![ILI9341-10](https://user-images.githubusercontent.com/6020549/59558184-52df4900-9027-11e9-8e80-7c85fdb4213c.JPG)\n![ILI9341-12](https://user-images.githubusercontent.com/6020549/59558186-5377df80-9027-11e9-88a8-4c8c4df9a830.JPG)\n![ILI9341-13](https://user-images.githubusercontent.com/6020549/59558187-5377df80-9027-11e9-8f72-a7ebbbe57c0b.JPG)\n![ILI9341-14](https://user-images.githubusercontent.com/6020549/59558188-5377df80-9027-11e9-99f7-de3c8b1878dd.JPG)\n![ILI9341-18](https://user-images.githubusercontent.com/6020549/59558192-54107600-9027-11e9-946c-39443ae83053.JPG)\n\n# Fonts support   \n![ILI9341-11](https://user-images.githubusercontent.com/6020549/59558185-52df4900-9027-11e9-84d6-cf6e69051ce8.JPG)\n![ILI9341-15](https://user-images.githubusercontent.com/6020549/59558189-54107600-9027-11e9-89eb-39e8f2cbeab2.JPG)\n![ILI9341-16](https://user-images.githubusercontent.com/6020549/59558190-54107600-9027-11e9-9d23-d71c3997a3d0.JPG)\n![ILI9341-17](https://user-images.githubusercontent.com/6020549/59558191-54107600-9027-11e9-888c-a1485758e943.JPG)\n![ILI9341-19](https://user-images.githubusercontent.com/6020549/59558183-52df4900-9027-11e9-9a79-8969d47f902e.JPG)\n\n# Image support   \nJPEG file      \n![ILI9341-JPEG](https://user-images.githubusercontent.com/6020549/118343557-c2884680-b564-11eb-9009-cd29ff6c0bdb.JPG)\nPNG file   \n![ILI9341-PNG](https://user-images.githubusercontent.com/6020549/118343563-cddb7200-b564-11eb-983f-8d09fc5c52cd.JPG)\n\n----\n\n# Start Auto Demo   \n./demo   \n\n# Start Interpreter mode   \nYou can change draw1.txt \u0026 draw2.txt \u0026 me.sh   \n\n`./draw draw1.txt`   \n`./draw draw2.txt`   \n`bash ./me.sh`   \n\n![me_sh](https://user-images.githubusercontent.com/6020549/118217481-8398b900-b4b0-11eb-91b7-1d7e14ef6ab8.JPG)\n\n## Take animal picture from www.365calendar.net and display.   \nTo use this, you need python3 and Pillow.   \nAnd reduce the security level of OpenSSL encryption.   \n```\n$ sudo apt install libtiff5 libopenjp2-7\n$ python -m pip install -U Pillow\n$ sudo cp /usr/lib/ssl/openssl.cnf /usr/lib/ssl/openssl.cnf.old\n$ sudo vi /usr/lib/ssl/openssl.cnf\n#CipherString = DEFAULT@SECLEVEL=2\nCipherString = DEFAULT@SECLEVEL=1\n$ bash ./365calendar.sh\n```\n\n![365calendar](https://user-images.githubusercontent.com/6020549/130392539-d335b6ee-c335-4305-8830-887833b2e61d.JPG)\n\n## Take wallpaper from bing and display   \nTo use this, you need python3 and imagemagick.   \n```\n$ sudo apt install imagemagick\n$ bash ./bing_wallpaper.sh\n```\n\n![bing_wallpaper](https://user-images.githubusercontent.com/6020549/130392570-7da882dc-a357-4370-8c24-5b238456066a.JPG)\n\n----\n\n# Wirering for 16Bit Parallel   \n|TFT||RPI|\n|:-:|:-:|:-:|\n|LCD_RST|--|Pin#7|\n|LCD_CS|--|Pin#3|\n|LCD_RS|--|Pin#5|\n|LCD_WR|--|Pin#26|\n|LCD_RD|--|Pin#28|\n|LCD_D0|--|Pin#29|\n|LCD_D1|--|Pin#31|\n|LCD_D2|--|Pin#33|\n|LCD_D3|--|Pin#35|\n|LCD_D4|--|Pin#37|\n|LCD_D5|--|Pin#32|\n|LCD_D6|--|Pin#36|\n|LCD_D7|--|Pin#38|\n|LCD_D8|--|Pin#13|\n|LCD_D9|--|Pin#15|\n|LCD_D10|--|Pin#16|\n|LCD_D11|--|Pin#18|\n|LCD_D12|--|Pin#8|\n|LCD_D13|--|Pin#10|\n|LCD_D14|--|Pin#40|\n|LCD_D15|--|Pin#27|\n|5V|--|5V(*)|\n|3.3V|--|3.3V(*)|\n|GND|--|GND|\n\n\\*When a regulator(It's often AMS1117) is mounted on the back, it's operated 5V.   \n\\*When a regulator is NOT mounted on the back, it's operated 3.3V.   \n\n__NOTE__   \nYou can change any pin.   \nPin define is \"pin.conf\".   \n\n----\n\n# Build   \n`cc -o demo demo.c fontx.c tft_lib.c driver/*.c -lwiringPi -lm -lpthread -DILI9341 -DP16BIT`   \n`cc -o draw draw.c fontx.c tft_lib.c driver/*.c -lwiringPi -lm -lpthread -DILI9341 -DP16BIT`   \n\n----\n\n# Start Auto Demo   \n`./demo`   \n\n![ili9341-16bit-1](https://user-images.githubusercontent.com/6020549/42122957-c62b7b66-7c84-11e8-8619-5c4ab0d624f5.JPG)\n\n![ili9341-16bit-2](https://user-images.githubusercontent.com/6020549/42122960-c92f25e2-7c84-11e8-970b-11f0f08a88cd.JPG)\n\n----\n\n# SPI Touch Sensor   \n![ili9341-16bit-2](https://user-images.githubusercontent.com/6020549/42122960-c92f25e2-7c84-11e8-970b-11f0f08a88cd.JPG)\nThis module has SPI Touch Sensor.   \nSo you can read touch position.   \nUse raspi-config to enable SPI.\n\nWirering for SPI-Touch sensor   \n\n|TFT||RPI|\n|:-:|:-:|:-:|\n|PEN|--|Pin#22(\\*\\*)|\n|T_CS|--|Pin#24(\\*\\*)|\n|MOSI|--|Pin#19(\\*\\*\\*)|\n|MISO|--|Pin#21(\\*\\*\\*)|\n|CLK|--|Pin#23(\\*\\*\\*)|\n\n\n\\*\\*It's defined in the source code.   \n#define SPI_CHANNEL 0 // /dev/spidev0.0  \n//#define SPI_CHANNEL 1 // /dev/spidev0.1  \n#define GPIO_PEN 6   \n\n\\*\\*\\*Can't change   \n\n```\ncc -o xpt xpt.c xpt2046.c -lwiringPi -lm -lpthread\nsudo ./xpt\n```   \n\n![touch-1](https://user-images.githubusercontent.com/6020549/42130602-8710a000-7d24-11e8-9b8e-b1819301bc0f.jpg)\n\n\nAnd you can operate Pi using touch sensor.  \n```\ncc -o touch touch.c fontx.c tft_lib.c driver/ili9341.c xpt2046.c -lwiringPi -lm -lpthread -DILI9341 -DP16BIT\nsudo ./touch\n```   \n\n\n![touch-2](https://user-images.githubusercontent.com/6020549/42130606-8b7c0ed6-7d24-11e8-97e8-41f7cf18d4bc.JPG)\n\n----\n\n# 4-wire resistive touch screen   \nOPEN SMART products have 4-wire resistive touch screen, but Pi cannot use this because Pi cannot input analog.\n\n---\n\n# JPEG Decoder   \nThis project uses [this](http://elm-chan.org/fsw/tjpgd/00index.html) JPEG library.   \nThis can reduce the image to 1/2 1/4 1/8.   \n\n---\n\n# PNG Decoder   \nI ported the pngle library from [here](https://github.com/kikuchan/pngle).   \nThis can reduce the image to any size.   \n\n---\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnopnop2002%2Fraspberry-ili9325","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnopnop2002%2Fraspberry-ili9325","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnopnop2002%2Fraspberry-ili9325/lists"}