Newhaven + Matrix Orbital Display with On-board FTDI FT81X Embedded Video Engine

RaymanRayman Posts: 8,753
edited August 3 in Propeller 1 Vote Up0Vote Down
Just figured out how to make this work with Propeller in Spin :)
One trick is that you send addresses in big-endian format, but data in little-endian...
Anyway, here's code and photo showing one of the first examples in the programming guide with 7" LCD.

Note: This is work in progress, see end of thread for the latest, like this alpha channel overlay test with rotation and scaling thrown in:

Prop Info and Apps: http://www.rayslogic.com/
«13

Comments

  • 85 Comments sorted by Date Added Votes
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 22,028
    edited May 28 Vote Up0Vote Down
    Wow! I watched FTDI's video. These TFT modules, with their reasonable price points and built-in frame buffers, would seem to obviate any need for a P1 or P2 to be used as a direct video driver. Forget NTSC, VGA, even HDMI. And the graphics are stunning.

    -Phil
    “Perfection is achieved not when there is nothing more to add, but when there is nothing left to take away. -Antoine de Saint-Exupery
  • jmgjmg Posts: 12,087
    Wow! I watched FTDI's video. These TFT modules, with their reasonable price points and built-in frame buffers, would seem to obviate any need for a P1 or P2 to be used as a direct video driver. Forget NTSC, VGA, even HDMI. And the graphics are stunning.

    The P1 could struggle, but surely the P2 can compete head on with the FT813 etc ?
    The FT813 is not cheap at $6.09/250 ?

  • jmg wrote:
    The P1 could struggle, but surely the P2 can compete head on with the FT813 etc ?
    Struggle? The P1 couldn't handle what this chip does at all. But I'm looking at the whole Newhaven EVE2 display system, not just the driver chip:

    http://www.newhavendisplay.com/tft-modules-eve2-tft-modules-c-1_990_992.html

    Why bother rolling your own, when these are so reasonable?

    -Phil
    “Perfection is achieved not when there is nothing more to add, but when there is nothing left to take away. -Antoine de Saint-Exupery
  • jmgjmg Posts: 12,087
    jmg wrote:
    The P1 could struggle, but surely the P2 can compete head on with the FT813 etc ?
    Struggle? The P1 couldn't handle what this chip does at all. But I'm looking at the whole Newhaven EVE2 display system, not just the driver chip:

    http://www.newhavendisplay.com/tft-modules-eve2-tft-modules-c-1_990_992.html

    Why bother rolling your own, when these are so reasonable?

    Yes, modules have their place, but if the P2 can compete with FT813 series, someone will make modules using that, surely ?
    320x240 looks comfortable, but 800x480 is more a challenge for P2, but it could use the display-list approach ?
  • jmg wrote:
    ... but if the P2 can compete with FT813 series, someone will make modules using that, surely ?
    I'm not holding my breath. The Newhaven modules are fait accompli. The P2 would just be playing catch-up by the time it comes to market.

    -Phil
    “Perfection is achieved not when there is nothing more to add, but when there is nothing left to take away. -Antoine de Saint-Exupery
  • I am wondering if my TFP410 or ADV7125 could be used here to generate DVI/HDMI or VGA signals from EVE2...
    Prop Info and Apps: http://www.rayslogic.com/
  • jmgjmg Posts: 12,087
    Rayman wrote: »
    I am wondering if my TFP410 or ADV7125 could be used here to generate DVI/HDMI or VGA signals from EVE2...

    Depends on how well-paced those video signals are, and if there is sync-timeslot-control.
    LCDs are more tolerant of pauses in varying places - do you have one you can scope ?
  • The jpg decoder could work out nicely... I have some camera modules that can output VGA images as .jpg files...
    Prop Info and Apps: http://www.rayslogic.com/
  • RaymanRayman Posts: 8,753
    edited May 28 Vote Up0Vote Down
    I just figured out how to use the "Co-processor"...
    More complex than I thought, but very powerful.
    It can draw complex "widgets" for you. Things like buttons and dials and progress bars, etc.

    Here's my first test, doing a button.


    Before this, I was writing commands to the "Display List" directly.
    When you use the co-processor it writes to the Display List for you.
    It's just six 32-bit writes to generate this button with text!
    Prop Info and Apps: http://www.rayslogic.com/
  • Nice, I watched some YT videos about this chip as well. In a way, the idea kind of reminds me of 4DGL's Goldelox chips from years ago...like a much more modern/high end version.
    J/C - Is that an eval board they make or are you working on something around it?
  • RaymanRayman Posts: 8,753
    edited May 28 Vote Up0Vote Down
    The board is custom for another purpose...
    But, it happened to have a header with enough spare prop pins going to it...
    Also, it has 5V power for the backlight...
    Prop Info and Apps: http://www.rayslogic.com/
  • RaymanRayman Posts: 8,753
    edited May 28 Vote Up0Vote Down
    I'm starting to really like this EVE2 thing!

    The built in fonts look like they might be good enough.
    2016 x 1512 - 739K
    Prop Info and Apps: http://www.rayslogic.com/
  • Ray I’m really glad to see you having good luck with EVE2. I build some boards for this for the NH 7” but haven’t had time to program the machine and test it. Looking forward to trying this out. You can see the EVE2 and FPC40. This was on a P1 + P1V Max10 combo board that mounts on the back of the NH7 cap. Prettyy much the same schematic for EVE2 as their eval.
  • T Chap, I did see your post... It was the only result when I searched here for EVE2...
    Prop Info and Apps: http://www.rayslogic.com/
  • kuroneko gave me code to fix SPI_ASM for 32-bits and now it flies.
    I put the display update in a loop animate the gauge and it moves very fast now with SPI_ASM.
    Maybe I don't have to make a custom driver after all...

    Attached is code with new driver.
    Prop Info and Apps: http://www.rayslogic.com/
  • Rayman,
    Well done - keep it coming! I love your interface development commentary and code examples on this emerging hardware.
    This display seems to have a lot of potential for Prop projects.
    I wish there was more of these sort of threads on the forum!
  • I just populated a custom board for EVE2 display modules. It will make it easier to test things out...

    Looking at putting two displays on the same SPI bus...
    Will also let me test mixing EVE2 and Prop audio.
    Can also test out the GPIO...

    The board was designed in Eagle, it was mostly copied from my Nibbler project...

    Anyway, I'll post the Eagle files in case anybody else wants to try.
    2016 x 1512 - 1M
    Prop Info and Apps: http://www.rayslogic.com/
  • jmgjmg Posts: 12,087
    Rayman wrote: »
    The board was designed in Eagle, it was mostly copied from my Nibbler project...

    Anyway, I'll post the Eagle files in case anybody else wants to try.

    Great, thanks - I'll use those to test KiCad's Eagle Import.

    Looks like PCB imports fine, it reports this for my PCB NET out :
    #Comment KiCad NET export using PcbNew_Export_PcbNew_NET.py v1.03, from Kicad design: C:/KiCadFiles/Eagle/Eve2_Display1a_Eagle/Eve2_Display1a.kicad_pcb
    #Comment: Parts:113, Nets:171, PinsConected:569, TotalPads:608, Ref Skipped:0, SheetPath:0

    The SCH import has a couple of visual issues (maybe justify is lost on left facing net tags ?) - can you post a PDF if you get time, and I'll check again.
    I think the netlist export from SCH is ok
  • Here's a pdf of the schematic...
    Prop Info and Apps: http://www.rayslogic.com/
  • Nice board. I made a board for prop>EVE2 but have yet to find time to build it. Glad you are making progress. Hope to catch up to you soon. Nice work!
  • Rayman wrote: »
    I just populated a custom board for EVE2 display modules. It will make it easier to test things out...

    Looking at putting two displays on the same SPI bus...
    Will also let me test mixing EVE2 and Prop audio.
    Can also test out the GPIO...

    The board was designed in Eagle, it was mostly copied from my Nibbler project...

    Anyway, I'll post the Eagle files in case anybody else wants to try.
    I'm confused. You say that the interface to the EVE2 is over a SPI bus but there sure are a lot of wires connecting your board to the display. What are all of the other signals?

  • jmgjmg Posts: 12,087
    edited June 14 Vote Up0Vote Down
    Rayman wrote: »
    Here's a pdf of the schematic...

    thanks.
    Looks like Eagle -> KiCad import has the nets all correctly tagged, but in some cases the tag-name is moved (sometimes jumps to another corner) or rotated from the original.
    Small net tags are added, eg to Prop Xtal N$4 N$5 I think to preserve the net names (packages usually have varying auto/hidden net naming )
    Some also look to be redundant.
    Not sure I see any real bugs, and those labels may be insurance to ensure a netlist match - which is probably the more important design transfer priority. You want it right, before you want it pretty !
    They are easy enough to move/spin to a better cosmetic location.
    Rayman wrote: »
    Anyway, I'll post the Eagle files in case anybody else wants to try.
    checking the messages on net-import, I do see one minor effect on the PCB.
    On regulator IC5, there are two zones imported on copper layers, and not net tagged.
    As a result, the fill is slightly different - to correctly connect to pin4, pin 4 should have a net name, and the traces/vias/zones all match that net name.

    If I manually edit Pin4 to match the via's THERMAL net, and tag the fill zones as THERMAL net, set their priority to >GND, and add a trace IC5.4-Via, it all fills/connects as local-copper-cooling.

    Maybe Eagle allows looser rules here ?
  • RaymanRayman Posts: 8,753
    edited June 14 Vote Up0Vote Down
    4 pins for backlight power, 2 for power, 4 for spi, 1 for audio, 1 power down, 1 interrupt, 4 GPIO (2 can be used for SQI interface), and 3 NC
    Prop Info and Apps: http://www.rayslogic.com/
  • Rayman wrote: »
    4 pins for backlight power, 2 for power, 4 for spi, 1 for audio, 1 power down, 1 interrupt, 4 GPIO (2 can be used for SQI interface), and 3 NC
    So if you add a second EVE2 display you will only have to use one additional pin for another SPI CS? The rest can be shared?
  • It doesn't save that much, I'm just looking in case I run low on pins for intended application...
    Prop Info and Apps: http://www.rayslogic.com/
  • I've worked a bit today on turning this test program into a easily usable driver...

    The attached makes it easy to create a display list using either direct or co-processor method.

    The co-processor method is so much more powerful, that I don't think I'd actually use the direct method at this point...
    Prop Info and Apps: http://www.rayslogic.com/
  • Couple tweaks and can now do it with 3.5" display too :)

    Prop Info and Apps: http://www.rayslogic.com/
  • Are you selling the board yet? Nice work!
  • Can't sell, but I posted the Eagle source files...
    Want the Gerbers?
    Prop Info and Apps: http://www.rayslogic.com/
  • T ChapT Chap Posts: 3,848
    edited June 17 Vote Up0Vote Down
    I’ll look rig something up. I need to get in the NH parts this week.
Sign In or Register to comment.