cancel
Showing results for 
Search instead for 
Did you mean: 

STM32U5G9J-DK1 - details on round LCD and using other MIPI DSI LCDs

austinproto
Associate II

I am using a STM32U5G9J-DK1 kit that comes with a round 2.47" LCD DSI MIPI and looking for other sources that will work with this board. 

I can't find any technical details on the LCD - anyone have a link?  I'm looking for the controller part# mainly.

Tried a Kingtech LCD with a the same 35 pin FFC and it works great (uses HX8379-C controller), however they are in short supply.

Ordered this LCD, 2.1" display  has different number of pins so I made an adapter.  It uses a ST7701S but no graphics at all (backlight works). 

Anyone know if this is a controller/compatibilty issue?  

I'd like to just use TouchGFX however I don't see where I can switch controllers.

Thanks

 

5 REPLIES 5
mathiasmarkussen
ST Employee

Hello,

I can not identify which controller the LCD uses. From the BOM available on the product page for the discovery kit, I can find the product number of the display module, which is J025F1CN0201W, but I have not been able to identify the controller.

I would guess, though, since you have had a display based on HX8379-C working, that it uses either that exact controller, or a very similar one.

You should not expect to be able to just replace the display with one using a different controller without changing the code.

In the TouchGFX board setup that is available for the U5G9J-DK1 in the touchGFX designer, the initialization sequence for the board is in the /* USER CODE BEGIN LTDC_Init 2 */ section, and the hardware parameters are set up in CubeMX.

Your display vendor or manufacturer might be able to supply you with an initialization sequence and hardware setup for your particular controller/LCD combination that you can replace it with, or you may be able to find some sample code that works somewhere.

austinproto
Associate II

It seems I can config the display.  When I send an all pixels ON after init, it seems to work and I can also turn off all the pixels with another command.  However, no picture comes up after that -  I have a simple TouchGFX app that just has a picture as screen 1.  

I found the stm32u5xx_hal_dsi.c and stm32u5xx_hal_ltdc.c, but I don't see where TouchGFX actually writes the pixels to the LCD.  Any suggestions?

Thanks

For that particular board setup, TouchGFX does not write directly to the display. The DSI display is set up in video mode, so it just expects a stream of pixels on the bus. This stream is provided by the LTDC controller, which reads directly from the frame buffers to the DSI host.

In the bottom of your TouchGFXGeneratedHAL.cpp you can find an interrupt handler that handles changing which framebuffer is transferred to the display next and signals VSYNC to TouchGFX.

If you can communicate with the display you might be able to set it to video mode, in which case i guess it would work - provided the bit depth etc. matches.

Another option might be to set a write window over the entire screen in command mode during setup, in which case the display should also be able to receive the stream from the LTDC into that window.

No luck unfortunately.  I put a logic analyzer on the bus and I see the data, but I guess the ST (Sitronix) controller doesn't know what to do with the information.

I bought a different TouchGFX discovery kit with a different LCD (also MIPI DSI) and tried it with the ST7701  settings and I get the same issue.  I can configure and set pixels, but nothing after that.

If there are plans for future TouchGFX kits or updates to TouchGFX, it would be great to allow flexibility for other LCD controllers since ST doesn't sell/stock LCDs.  Thank you.

The projects provided with TouchGFX are intended to be used wither for prototyping purposes with unmodified discovery kits, or as inspiration / starting point for custom projects.

There are quite a lot of display controllers in the market, supporting all of them would be a huge task.

Furthermore, especially regarding DSI, it's unfortunately not as simple as just supporting a specific controller. The controllers are fairly flexible, so configuration, including physical/electrical, and initialization of the controllers internal registers may vary from display to display. For example the ST7701 supports both SPI, parallel RGB and DSI in several resolutions and colour bit depths.  For DSI, it supports one or two data lanes, which supports both high speed and low power modes. On top of that the controller controls timing, gamma and so on, and may expect to operate in either Command of Video mode (I think ST7701 is video mode only). The customer needs to set up the DSI host on the MCU and send the correct settings to the registers.

Unfortunately, many display manufacurers are not good at documenting how to use the display modules.

Have you been able to find anyone online succesfully using the same display on any platform?