high-res MIPI display

Status
Not open for further replies.

carl0s

Member
Hi!

I'm well out of my depth here, but I'll have a go..

I have on order, a 3.4" 800x800 MIPI round display. I've spent the last week or so getting my head around stuff, realising that microcontrollers and MIPI don't go hand in hand.

At 16bpp, 800x800 would be 1.2 megabytes of pixel data I think ? So I need a framebuffer, or a controller with a framebuffer.

The screen has an ILI9981c controller which has no GRAM or framebuffer (one and the same? does GRAM mean graphics ram?).

I was thinking of using an SSD2828 to convert from RGB to MIPI. It has the requisite 3 MIPI DSI lanes. I originally thought I'd try a different MCU such as the stm32L4r9 or stm32f469/f479 with their inbuilt gfx engine and MIPI DSI, but they are only 2 lane DSI :-/

I think the SSD2828 because it has no framebuffer though, would require a framebuffer constructing out of MCU memory, and, well, I think some sort of hardware graphics helper will help a lot.

So I am thinking (and have ordered some bits for), a module consisting of:

MCU SPI connection input -> RA8876 graphics / display controller + external 512MBit SDRAM -> SSD2828 which will convert RGB output from RA8876 to MIPI, which will then go into the ILI9981c that is inside the display.

I am feeling brave with the el-cheapo hot air soldering iron, and I hear you can get PCBs made cheap.

What do you think? Dreaming?

The screens are on order anyway, as are 0.4mm pitch QFP breakouts, and LCD FPC breakouts, etc.

RA8876: http://www.raio.com.tw/data_raio/Datasheet/RA887677/RA8876_Brief_DS_V11_Eng.pdf

SSD2828: https://datasheet.lcsc.com/szlcsc/SSD2828QN4_C48596.pdf

ILI9981c: http://en.startek-lcd.com/res/starteklcden/pdres/201706/20170617115241070.pdf
 
GRAM is RAM. Fast RAM for frame buffer purposes.

Yes that's what I thought.

I had another idea..

How about a processor with an LCD driver built in, e.g. stm32f767, possibly with external SRAM (but maybe not required), and put that directly into the SSD2828. Is that a good way to design an MCU display thing?

My project is a high end automotive gauge, obviously with a round display.

Most, if not all, high end displays are MIPI now, and the 800x800 3.4" round display I have on order is 3 lane MIPI, and no MCU supports that directly.

The RA8876 chip seems to be unavailable in the market as such... so, maybe just an MCU with an lcd controller built in, plus the SSD2828 to convert RGB to MIPI, is a more sensible solution.

It's a shame, but Amazon use the Mediatek MT8163V in their Echo Spot. It seems like I really should be looking at ARM A-series if I want to run a nice display, but then where is the friendly C++ framework? There's no arduino for anything bigger than M-series ARM, is there?

It seems like ARM A-series (what they call MPU.. micro-Processor-unit, instead of Controller) are only supported by full OS (e.g. Android), and only the M series are supported by microcontroller frameworks such as Arduino and mbed. I want my system to power-on-and-run, so Android or other OS are not the right choice. All my thing needs to do is offer up a nice GUI and read/write UART.
 
Last edited:
Hi carl0s
I have a Display board with RA8876+SSD2828 drivers, and I'm having hard time to even display any thing on it,
so please let me know. if you able to operate your display?
Thank you
 
Nice :) Have you seen the "7.84"1280x400 Display with Controller Board Datasheet" on that site? There you get the pinout of the module and on how to jumper-set the interface options.
Then in "Controller RA8876 Datasheet" you get the desription of the pins usable to connect this displkay to T4. That is, in the module pinout they just list DB0-DB15 which correspond to XDB0-XDB15 in the RA8876 datasheet, which shows in Section 4.2 the corresponding serial connections.

For Arduino a bunch of libraries to run RA8876 exist, so that is something you need to try which one fits your project.
 
I know about that, the controller board bast on RA8876 and SSD2828, here is the reply from BuyDisplay.com

Sorry we don't have arduino code for your reference.

It's complicated to make it working with arduino due board, RA8876 requires SPI for communication, On board SSD2828 also requires SPI to initialize the screen.

CTP requires I2C, You need to connect all of them and write the software.



I know how to handle RA8876, my problem is SSD2828.
Thank you
 
Hmm...
Actually, in contrast to normal RA8876 operation, they list a different way of connecting the display to the host in ER-TFTM0784-1_Interface.pdf. That is very confusing.
They seem to have routed the signals to a separate section in the module connector with all that many of jumper settings.
In ER-TFTM0784-1_Interface.pdf they show the SPI connection, which is the same on T4.
The SSD2828 does need to be connected if following that connection diagram.
In the In the 8051 Interfacing and Demo Code you find how to code all that. The code needs to be transcripted for T4 and connections, obviously.
 
Last edited:
If you have any luck with this, please let me know. I've lost all my hair as a result of spending so many hours on the same display/Teensy combo.
Buydisplay were no help......

My engineer said that 7.84'' TFT display is different and its original interface is MIPI but we switched the interface mode from MIPI to RGB by using a chip SSD2828, that means the pin configuration and software are different with ER-TFTM070-6 or ER-TFTM101-1. Meanwhile, we don't have Arduino example code for 7.84'' TFT LCD module, so you need to develop new hardware connection and software by yourself.
 
fyi I have the 7.84" display working but with an Arduino Due. The pins are different than the 10" so you cannot use the buydisplay TFT shield, the SSD2828 runs in parallel with the RA8876. You only need to send configuration Strings to the SSD2828 at startup but you need to connect it to the SPI bus with a CS line. I can send / share with you the libraries I modified (RA8876 I added the SSD2828 Strings) and also have the Touch Screen library. It is a very nice display once you get it to work :)... I have both the 10" and the 7.84" and the 7.84" is a much better screen. Also be aware that the 7.84 is really a 400 x 1280 so you need your own Fonts if you want to use it as a 1280 x 400 Display. BTW, I am new to the forum, I joined because I ran into this post looking for something else, since I struggled for 2 weekends trying to get this display to work I figured I could share the info. I didn't attach the libraries because I didn't see a link to do so, if somebody needs the libraries and tells me how to upload them I will be happy to share them. 20200507_190316.jpg
 

share the info. I didn't attach the libraries because I didn't see a link to do so, if somebody needs the libraries and tells me how to upload them I will be happy to share them.

Putting the code on github with a link here is one way.

ZIP and some other files can be uploaded. In the lower right of the post edit block is 'Go Advanced' - clicking that exposes more items on the edit block toolbar.

AdvancedTB.png

That image should look similar - with an arrow added to the 'Attachments' button that allows pointing to a ZIP file where AFAIK size is limited to something over 1GB.
 
Test Code

I sent the code directly to a couple of people that requested it, just in case somebody else needs it here's the test code with the libraries used. Some of the code is commented out as I am using two Touch Panels using the same Due. also as I mentioned it will not work using the buydisplay shield, half of the pinouts are different. Besides the code I included a background and font bin files, as long as they are in the SD card they are the images in the code and you will be able to test that something is displaying on the panelView attachment 7.84 Display TP test.zip. Good luck!!!
 
This seems like great work, can you please post a link to GitHub with code/schematics?
Thanks much!
 
I am still struggling getting this display to work .. I'm trying to integrate it with the teensy 4.1 ..
I have tried the fork for the 7.84" display under wwatson4506 (RA8876liteTeensy) .. I can get the backlight to work, the test code sends gibberish to the screen , lines which are torn
I know the test code is working as as the routines change the screen garbage changes too ...

Could use some help from those that have it running ..

Blackbetter has been helpful (glad for his support) .. but I'm still struggling ..

confirmed wiring to display is all good .. trying to run the demo code for the 7.84" display
had some miss-configured jumpers they are corrected.
I'm close but not there yet

Thanks
Keith
 
Could you share how you interfaced with the display?

I guess you could just post it in the thread here?

fyi I have the 7.84" display working but with an Arduino Due. The pins are different than the 10" so you cannot use the buydisplay TFT shield, the SSD2828 runs in parallel with the RA8876. You only need to send configuration Strings to the SSD2828 at startup but you need to connect it to the SPI bus with a CS line. I can send / share with you the libraries I modified (RA8876 I added the SSD2828 Strings) and also have the Touch Screen library. It is a very nice display once you get it to work :)... I have both the 10" and the 7.84" and the 7.84" is a much better screen. Also be aware that the 7.84 is really a 400 x 1280 so you need your own Fonts if you want to use it as a 1280 x 400 Display. BTW, I am new to the forum, I joined because I ran into this post looking for something else, since I struggled for 2 weekends trying to get this display to work I figured I could share the info. I didn't attach the libraries because I didn't see a link to do so, if somebody needs the libraries and tells me how to upload them I will be happy to share them.View attachment 20017
 
Status
Not open for further replies.
Back
Top