Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 13 of 13

Thread: Ported a driver for a 7.84" 1280x400 bar-style IPS display

  1. #1
    Junior Member
    Join Date
    Sep 2019
    Posts
    10

    Ported a driver for a 7.84" 1280x400 bar-style IPS display

    Hi Everybody.

    I've been playing with this display, and it is very nice. They run down to 3.3V,
    drawing only 300 mA (in my case), and can connect via Parallel, SPI, or I2C.

    It has a RA8876 (gfx driver), SSD2828 (mipi bridge), GT911 cap. touch,
    16MB SDRAM with DMA, font rom.

    Their provided example code is written for the old 8051 MCU, and it only
    demonstrates the 16-bit parallel bus connection method.

    Unfortunately, they went out of stock after I bought mine and ported the Lib, but
    hopefully it will return.

    I ported it (poorly) to Arduino and added SPI. Mine is working at 42 MHz with fairly long jumper wires.

    Product page:

    https://www.buydisplay.com/spi-1280x...ve-touch-panel

    Library:

    https://github.com/caiannello/ER-TFTM0784-1

    Cheers,
    Craig
    Last edited by caiannello; 04-20-2020 at 07:34 PM.

  2. #2
    Senior Member blackketter's Avatar
    Join Date
    May 2015
    Location
    San Francisco
    Posts
    283
    Looks great, Craig. I hope they come back into stock!

  3. #3
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    7,122
    FYI - I ordered one of their 7" RA7786 displays.

    Which shipped and is somewhere between here and there.
    I believe your display was mentioned in a few other threads including: https://forum.pjrc.com/threads/58565...sy-T36-and-T40
    And I believe they also did a driver for it.

  4. #4
    Junior Member
    Join Date
    Sep 2019
    Posts
    10
    Quote Originally Posted by KurtE View Post
    FYI - I ordered one of their 7" RA7786 displays.

    Which shipped and is somewhere between here and there.
    I believe your display was mentioned in a few other threads including: https://forum.pjrc.com/threads/58565...sy-T36-and-T40
    And I believe they also did a driver for it.
    This post from 2017 is asking for help with one. https://forum.pjrc.com/threads/59273...998#post227998

    In the thread you mentioned, I did try wwatson's code, and I think we were working from a very similar example code, but the displays were too different. I think the RA8876 controller is common between the two, but not the mipi bridge, which in my case requires several hundred bytes of configuration data on powerup.

  5. #5
    Senior Member
    Join Date
    Aug 2017
    Posts
    300
    Quote Originally Posted by caiannello View Post
    This post from 2017 is asking for help with one. https://forum.pjrc.com/threads/59273...998#post227998

    In the thread you mentioned, I did try wwatson's code, and I think we were working from a very similar example code, but the displays were too different. I think the RA8876 controller is common between the two, but not the mipi bridge, which in my case requires several hundred bytes of configuration data on powerup.
    You are right, a 10.1" display (ER-TFTM101-1) without the SSD2828 (mipi bridge) and not a 7" bar style display has many differences. My code is based on the Ra8876_Lite driver published by RAIO. Some of the code is also based on other driver examples published by RAIO, mostly the pip functions, user defined chararters and graphic cursor usage. I think the biggest thing to keep in mind is the initialization of the two devices. After that functionality of the RA8876 should be the same based on the driver code and parameters.
    As @KurtE and @MJS have stated before there should be a standard API for using these displays, if possible.
    It's late here and I need the ZZZ's for work tomorrow.

  6. #6
    Junior Member
    Join Date
    Sep 2019
    Posts
    10
    Quote Originally Posted by wwatson View Post
    As @KurtE and @MJS have stated before there should be a standard API for using these displays, if possible.
    I first tried just sticking the SSD2828 init into your lib and changing the 8876 init, but no good. I must have overlooked something.

    It would be nice to combine stuff into an efficient, clean, generic library, but I know I would have trouble doing it.

    The 16-bit parallel methods in my code are terrible! I don't know how to handle IO lines in parallel in a portable way, so I did it all bit-wise, effectively serializing a parallel bus!

    If it were guaranteed to be for AVR only, one could do stuff like

    PORTB=0xff;
    uint8_t foo = PINA;

    But I know that doesn't work on the Due or Teensy... at least not as-is. Maybe some of my lockdown time can go towards finding the best way.

    I thought to save IO on the teensy, I might throw a little AVR on the board just to init the 2828 and free up those pins.

    Stay Safe,
    Craig
    Last edited by caiannello; 04-21-2020 at 08:10 PM. Reason: nit-picking

  7. #7
    Senior Member
    Join Date
    Aug 2017
    Posts
    300
    @caiannello - Is the SSD2828 the same one used by the Techtoys device? You have my curiosity peeked on this one. I would really like to check this out but right now with the new T4.1 and doing my work with MSC4 I probably do not have the time to work with it for a while. I wonder if there is way to create a high speed shift register that could do the 16 bit parallel addressing that is needed. And I suppose control signals. I have not had enough time to check it out. Retirement looms 6 months away I am not even sure if any body has the same display I have and has tested my library

  8. #8
    Junior Member
    Join Date
    Oct 2017
    Location
    Roskilde, Denmark
    Posts
    13
    Hi everybody in the thread.
    I just received an email from EastRising stating the 7.84" as more or less obsolete, since the supplier if the glass (panel) CPT is out of business (bankrupt).
    I asked if they expect new panels in this format / size, no answer yet.

    Br Rasmus

  9. #9
    Junior Member
    Join Date
    Sep 2019
    Posts
    10
    Quote Originally Posted by Gigabyte View Post
    the 7.84" as more or less obsolete
    Dang, that is a disappointment. The panel and controller are really well-made.

    I've long searched for an affordable bar-display to do a modern refresh of the
    venerable old TRS-80 Model 100 laptop with a focus on sound and music,
    and this one is perfect. I'm glad I bought two of them.

    Click image for larger version. 

Name:	maxresdefault.jpg 
Views:	5 
Size:	106.9 KB 
ID:	19830


    Also, @wwatson, I don't know about the techtoys device, but here's a datasheet for the SSD2828. It supports MIPI displays with up to 4 lanes and offers parallel and SPI interfaces.

  10. #10
    Just a heads up, it looks like this display is available again.

    https://www.buydisplay.com/spi-1280x...ve-touch-panel

    I've managed to get the due code from Craig running on the teency but its either long wires or timing errors as I'm getting artifacts. I too tried to use the new ra8876 library using the ssd2828 lib from Craigs but I seem to be missing something too. Ive changed the widths and heights in the registers and lib files and the sdram page splits but still treated to a black screen.
    Would love to get it working. My last project used a RA8875 and Sumotoys library and that was great.

  11. #11
    Member MorganS's Avatar
    Join Date
    Apr 2015
    Location
    Northern Nevada
    Posts
    63
    If the screen is black, check you're driving the backlight correctly.

  12. #12
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    7,122
    Note: if this display display is like the 9" RA8876 display I purchased from them, it was setup (jumper options) that you had to use an external IO pin connected to the backlight pin.

    I have since then changed mine to not require that, but it then requires you to output some stuff to enable the internal PWM signal to turn on the backlight.

    Our RA8876 library mentioned in other thread has setup to do so. But not sure about your display, how it works. Does it require using the ssd2828 stuff or can it talk directly to the RA8876...

  13. #13
    Hi guys thanks for the replies. My display is set to use external input to drive the backlight at the moment so thats OK, and I've brought across the ssd2828 code and its initialising. I think its something to do with the display size now. Ive gone through and corrected the sizes for the ram pages ect to match that of this display. It worked well using craigs due code but as this lib you guys are working on is better for the teensy it would be great to use that.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •