tft display interface with stm32 pricelist
They feature a 2.2" SPI QVGA TFT display as well as a 64-Mbit SPI NOR Flash memory for storing graphic images, texts and texture. The expansion boards also offer a joystick for GUI navigation.
X-NUCLEO-GFX01M1 uses the ST morpho connector and supports only one SPI. It is compatible with the following Nucleo-64 boards: NUCLEO-F030R8, NUCLEO-F070RB, NUCLEO-F072RB, NUCLEO-F091RC, NUCLEO-F401RE, NUCLEO-F410RB, NUCLEO-F411RE, NUCLEO-F446RE, NUCLEO-G071RB, NUCLEO-L053R8, NUCLEO-L073RZ, NUCLEO-L412RB-P, NUCLEO-L433RC-P, NUCLEO-L452RE, NUCLEO-L452RE-P, and NUCLEO-L476RG.
X-NUCLEO-GFX01M2 uses the ST morpho connector and suppports up to two SPIs. It is compatible with the following Nucleo-64 boards, which include the X-NUCLEO-GFX01M1-compatible boards: NUCLEO-F030R8, NUCLEO-F070RB, NUCLEO-F072RB, NUCLEO-F091RC, NUCLEO-F103RB, NUCLEO-F302R8, NUCLEO-F303RE, NUCLEO-F334R8, NUCLEO-F401RE, NUCLEO-F410RB, NUCLEO-F411RE, NUCLEO-F446RE, NUCLEO-G070RB, NUCLEO-G071RB, NUCLEO-G0B1RE, NUCLEO-G431RB, NUCLEO-G474RE, NUCLEO-G491RE, NUCLEO-L010RB, NUCLEO-L053R8, NUCLEO-L073RZ, NUCLEO-L152RE, NUCLEO-L412RB-P, NUCLEO-L433RC-P, NUCLEO-L452RE, NUCLEO-L452RE-P, NUCLEO-L476RG, NUCLEO-WB15CC, NUCLEO-WB55RG, and NUCLEO-WL55JC.
ST cooperates with Riverdi because we believe that such partnership brings value to our joint customers. On top of this, we also discovered that we shared some business visions about how to make it easier and faster to go from the initial stages of designing a product embedding a graphical user interface to a production ready product. The conclusion was that combining the STM32 High performance microcontrollers, with the free STM32 graphics toolchain and Riverdi displays + PCB and then merge all of this into a board support package ready to run TouchGFX, would be a compelling offering.
Designing and developing a product with an embedded user interface (GUI), can be complex, as it involves many building block and disciplines, which all requires expert knowledge. Riverdi offer is covering a lot of them, allowing the customer to focus on the most important part of the development, the GUI Application itself. And remember that this is the face of your product. Choosing such solution, the customer does not need to worry about sourcing components like the display, microcontrollers, memory, etc. or even writing low-level drivers, development the board support package or porting TouchGFX. Its all ready done. What makes cooperation with Riverdi unique is that Riverdi has been able to drive a 1280*800 display resolution in high colors, with a STM32H7 microcontroller and a TouchGFX application showing a smart home UI. This shows that Riverdi is well aware of how to exploit all the capabilities of the STM32 Graphics offering combining hardware and software in a unique solution. From the first business meetings, it was clear that we shared visions of the market for embedded GUIs. And Riverdi proved that they can go from an idea and concept to actual working hardware, very fast.
I don"t actually have a display at present. I purchased a 7in one some months ago. It had an LT7381 controller and was supplied with a Hunda LT7381 library for Arduino and some basic display design software. However, I couldn"t get the hardware to work despite it being described as Arduino compatible. As it turned out, it also didn"t display anything when used with the supplied USB adaptor and design software for the PC, so it may have been faulty anyway. I posted something at the time but the controller is quite new and there was not much feedback. I ended up sending it back and getting a refund although it still cost me to send it back to china.
The reason I posted was because the project is now at the stage where the LCD display really needs to be added and I intended to get advice before making another purchase. In the meantime I have been working on the project using a 20x4 display.
Thank you for that information. Since I am using an ESP8266, it sounds like I need to look for a board that uses SPI for the display. From what I can tell, it seems that some of the cheap ones from china only use SPI only for the SD card which further confuses things.
I don"t posses an Arduino shield which is why I was trying to ascertain whether I need something like that. What is their purpose? A lot of photos show the display plugged into one and then into typically a Mega 2560. I don"t understand what the purpose of the shield is? Is it just a convenient way to provide a means of fitting the board to an Arduino with level shifting? SPI needs only 4 wires. Can"t these be connected directly to the ESP SPI pins?
STM32F407ZGT6 or GD32F407ZGT6 Cortex-M4 210DMIPS, 1MB Flash, 196KB RAM, 3×12-bit 2.4 MSPS A/D, 2×12-bit D/A converters, USB OTG HS and USB OTG HS, Ethernet, 14 timers, 3 SPI, 3 I2C, Ethernet, 2 CANs, 3 12 bit ADCs, 2 12 bit DACs, 114 GPIOs, Camera interface
ER-TFT032A3-3 is 240x320 dots 3.2" color tft lcd module display with ST7789V controller and optional 4-wire resistive touch panel and 3.2 inch capactive touch panel with controller FT6236,superior display quality,super wide viewing angle and easily controlled by MCU such as 8051, PIC, AVR, ARDUINO ARM and Raspberry PI.It can be used in any embedded systems,industrial device,security and hand-held equipment which requires display in high quality and colorful image.It supports 8080 8/16-bit parallel,3/4-wire serial interface. FPC with zif connector is easily to assemble or remove.Lanscape mode is also available.
Of course, we wouldn"t just leave you with a datasheet and a "good luck!".Here is the link for 3.2"TFT Touch Shield with Libraries, Examples.Schematic Diagram for Arduino Due,Mega 2560 and Uno . For 8051 microcontroller user,we prepared the detailed tutorial such as interfacing, demo code and development kit at the bottom of this page.
IMPORTANT The touchscreen has a maximum frequency of 2MHz, which is probably slower than you want your TFT SPI clock. So in the routine that reads touch coordinates (ili9341_touch_pressed_t ili9341_touch_coordinate(ili9341_t *,uint16_t *,uint16_t *) in ILI9341/ili9341.c), make sure to adjust the lines that modify the SPI clock so that your baud rate is less than 2MHz before communicating with the touchscreen (e.g. MODIFY_REG(lcd->spi_hal->Instance->CR1, SPI_CR1_BR, SPI_BAUDRATEPRESCALER_128)), and then restored to whatever setting you use here immedaitely afterwards. See the comments in that source file for both locations.
If using the touchscreen, you will probably want to set Hardware NSSP=Disabled (slave/chip-select) in favor of a software implementation, since you will need one signal for the TFT and a separate one for the touchscreen. Any two unused GPIO digital output pins will work.
Add a Memory->Peripheral DMA TX request for your SPI device with PeriphInc=Disabled, MemInc=Enabled, PeriphDataAlignment=Byte, MemDataAlignment=Byte, Mode=Normal.
IMPORTANT If using FreeRTOS, you will need to raise the DMA interrupt priority to something logically higher (numerically lower) than the FreeRTOS idle thread priority. For example, if FreeRTOS priority is set to 3 and SPI DMA TX is configured as DMA1 channel 4, set DMA IRQ priority to 2 with HAL_NVIC_SetPriority(DMA1_Channel4_IRQn, 2, 0).
If using the touchscreen, be sure to configure the GPIO pin as external interrupt (EXTI) with rising/falling edge trigger detection (i.e. GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING_FALLING).