All Projects → nopnop2002 → STM32_TFT_8bit

nopnop2002 / STM32_TFT_8bit

Licence: other
STM32F103 8bit parallel TFT Library for Arduino_STM32

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to STM32 TFT 8bit

esp-idf-parallel-tft
8bit parallel TFT & 4-line resistance touch screen Driver for esp-idf using i2s paralell mode
Stars: ✭ 45 (+0%)
Mutual labels:  ili9341, ili9325, ili9481, ili9342, r61509v, spfd5408, ili9486, r61505, st7783, lgdp4532
Raspberry-ili9325
Parallel TFT Shield Library for wiringPi
Stars: ✭ 40 (-11.11%)
Mutual labels:  ili9341, ili9325, ili9481, ili9342, r61509v, spfd5408, ili9486, st7783, st7793
wiringpi-tft-tool
TFT Command Line Tool for Raspberry Pi
Stars: ✭ 35 (-22.22%)
Mutual labels:  ili9341, ili9481, ili9342, r61509v, spfd5408
lvgl STM32F103 encoder rtx5
LittleVgl test, Custom STM32F103RC breakout Board. ILI9341 display over SPI with DMA. rotary encoder. KEIL RTX v5.
Stars: ✭ 32 (-28.89%)
Mutual labels:  ili9341, stm32f103
ili9342c mpy
ILI9342C Fast 'C' Driver for MicroPython (M5Stack Core)
Stars: ✭ 31 (-31.11%)
Mutual labels:  ili9341, ili9342
stm-ILI9341-spi
STM32 ILI9341 spi
Stars: ✭ 77 (+71.11%)
Mutual labels:  ili9341, stm32f103
img2gcode
convert jpg, png,gif to gcode with nodejs and jimp
Stars: ✭ 31 (-31.11%)
Mutual labels:  jpeg
HEIF-converter
Converter for High Efficiency Image Format(HEIF)
Stars: ✭ 24 (-46.67%)
Mutual labels:  jpeg
srcset.sh
A command line script that generates multiple responsive versions of an image at width breakpoints -- 320,480,640,768,960,1024,1280,1440 pixels wide -- that match common Mobile and widescreen desktop/laptop viewports using Imagemagick's convert utility and outputs the needed <img/> tag
Stars: ✭ 20 (-55.56%)
Mutual labels:  jpeg
pyguetzli
Python bindings for Google's Guetzli, a JPEG encoder that optimises JPEG compression
Stars: ✭ 28 (-37.78%)
Mutual labels:  jpeg
TinyJPG
images jpg or jpeg compressed and watcher fsnotify
Stars: ✭ 73 (+62.22%)
Mutual labels:  jpeg
platformio-libopencm3-freertos
Sample blinky project for PlatformIO using libopencm3 and FreeRTOS
Stars: ✭ 14 (-68.89%)
Mutual labels:  stm32f103
imagor
Fast, Docker-ready image processing server in Go and libvips
Stars: ✭ 2,276 (+4957.78%)
Mutual labels:  jpeg
stm32f10x makefile freertos
stm32f10x gcc makefile freertos
Stars: ✭ 28 (-37.78%)
Mutual labels:  stm32f103
Arduino RT-Thread
RT-Thread library optimized for Arduino.
Stars: ✭ 38 (-15.56%)
Mutual labels:  ili9341
inumon
A high-level image I/O and manipulation library for Nim
Stars: ✭ 30 (-33.33%)
Mutual labels:  jpeg
stm32 tiny monitor
A tiny external monitor for PC using STM32 and ST7789. Connects to PC over USB and displays the captured screen on ST7789 (240x240) display.
Stars: ✭ 61 (+35.56%)
Mutual labels:  stm32f103
octodex
GitHub's Octocats.
Stars: ✭ 64 (+42.22%)
Mutual labels:  jpeg
neural-imaging
[CVPR'19, ICLR'20] A Python toolbox for modeling and optimization of photo acquisition & distribution pipelines (camera ISP, compression, forensics, manipulation detection)
Stars: ✭ 109 (+142.22%)
Mutual labels:  jpeg
ESP32-TFT-Library-ILI9486
A library for 3.5 inch RPi LCD (A) 320x480 display from Waveshare
Stars: ✭ 67 (+48.89%)
Mutual labels:  ili9486

STM32_TFT_8bit

8bit TFT Library for Arduino_STM32(MAPLE Core)

I ported from here.
https://github.com/prenticedavid/MCUFRIEND_kbv


Software requirement


Wirering for 8bit Parallel TFT

Using GPIOA as Data Port
#define TFT_DATA GPIOA

TFT STM32F103
LCD_RST -- PB7
LCD_CS -- PB6
LCD_RS -- PB5
LCD_WR -- PB4(*2)
LCD_RD -- PB3(*2)
LCD_D0 -- PA0
LCD_D1 -- PA1
LCD_D2 -- PA2
LCD_D3 -- PA3
LCD_D4 -- PA4
LCD_D5 -- PA5
LCD_D6 -- PA6
LCD_D7 -- PA7
5V -- 5V(*1)
3.3V -- 3.3V(*1)
GND -- GND

Using GPIOC as Data Port
#define TFT_DATA GPIOC

TFT STM32F103
LCD_RST -- PB7
LCD_CS -- PB6
LCD_RS -- PB5
LCD_WR -- PB4(*2)
LCD_RD -- PB3(*2)
LCD_D0 -- PC0
LCD_D1 -- PC1
LCD_D2 -- PC2
LCD_D3 -- PC3
LCD_D4 -- PC4
LCD_D5 -- PC5
LCD_D6 -- PC6
LCD_D7 -- PC7
5V -- 5V(*1)
3.3V -- 3.3V(*1)
GND -- GND

(*1)When a regulator(It's often AMS1117) is mounted on the back, it's operated 5V.
When a regulator is NOT mounted on the back, it's operated 3.3V.

(*2)By several boards, This port is used as JTAG.
You need remap.
afio_cfg_debug_ports(AFIO_DEBUG_NONE)

Pin define is "STM32_TFT_8bit.h"


Tested TFT

  • ILI9325 2.4inch 240x320 TFT-Shield
  • ILI9341 2.4inch 240x320 TFT-Shield
  • ILI9342 2.4inch 240x320 TFT-Shield
  • SPFD5408 2.4inch 240x320 TFT-Shield
  • R61505 2.4inch 240x320 TFT-Shield
  • ST7783 2.4inch 240x320 TFT-Shield
  • LGDP4532 2.4inch 240x320 TFT-Shield
  • R61509V 3.6inch 240x400 TFT-Shield
  • ST7793 3.6inch 240x400 TFT-Shield
  • ILI9481 3.5inch 320x480 TFT-Shield
  • ILI9486 3.5inch 320x480 TFT-Shield
  • RM68140 3.95inch 320x480 TFT-Shield
  • ST7796 3.95inch 320x480 TFT-Shield
  • OPEN-SMART ILI9225 TFT-Shield
  • OPEN-SMART ILI9327 TFT-Shield
  • OPEN-SMART ILI9340 TFT-Shield

I found that these display cannot follow high-speed GPIO-ON and GPIO-OFF.

  • OPEN-SMART S6D1121 16Pin-Parallel
  • OPEN-SMART ST7775 16Pin-Parallel
  • OPEN-SMART ST7783 16Pin-Parallel
  • OPEN-SMART R61509V 16Pin-Parallel
  • OPEN-SMART ILI9488 16Pin-Parallel

Setting your TFT's resolution

If your TFT's resolution is 320x480,
you have to set your TFT's resolution using tft.setResoution.

Example:

ID = tft.readID();
tft.setResolution(320, 480); // Set your resolution
Serial.print("Device ID: 0x"); Serial.println(ID, HEX);
tft.begin(ID);
uint32_t width = tft.width();
Serial.print("Width: "); Serial.println(width); // You will see 320
uint32_t height = tft.height();
Serial.print("Height: "); Serial.println(height); // You will see 480

If your TFT's resolution is 240x400,
you have to set your TFT's resolution and TFT's offset.

Example:

ID = tft.readID();
tft.setResolution(240, 400); // Set your resolution
tft.setOffset(32); // Set your offset
Serial.print("Device ID: 0x"); Serial.println(ID, HEX);
tft.begin(ID);
uint32_t width = tft.width();
Serial.print("Width: "); Serial.println(width); // You will see 240
uint32_t height = tft.height();
Serial.print("Height: "); Serial.println(height); // You will see 400

  • SPFD5408 + ILI9486
    8BIT_TFT-1

  • ILI9325 + ILI9481
    8BIT_TFT-2

  • ILI9341 + ST7793
    8BIT_TFT-3

  • ILI9342 + R61509V
    8BIT_TFT-4

  • ST7783 + ST7796 8BIT_TFT-5


F4 board support

If you want more faster, plase use this.
F4 board is very fast.


JPEG Viewer

Viewer of a JPEG file in the SD card.

Software requirement

Wirering for TFT built-in SD-CARD Reader

TFT STM32F103
SD_SS -- PB12
SD_SCK -- PB13
SD_DI -- PB15
SD_DO -- PB14
5V -- 5V(*)
3.3V -- 3.3V(*)
GND -- GND

*When a regulator(It's often AMS1117) is mounted on the back, it's operated 5V.
*When a regulator is NOT mounted on the back, it's operated 3.3V.

How to use

Copy JPEGS file to your SD-CARD.
*The biggest length of the JPEG file name is 32 character.
Wire TFT built-in SD-CARD Reader to STM32.
Execute JpegView_240x320_SMT32.

jpegview-2

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].