No announcement yet.

Pre-purchase questions about ULCD-35DT-ARa

  • Filter
  • Time
  • Show
Clear All
new posts

  • Pre-purchase questions about ULCD-35DT-ARa


    I'm looking for a display to use for a new test instrument I'm designing and I have some questions about this display device if you could help. At this stage I haven't determined whether to use just a display or a display in combination with an Arduino.
    1. What is the difference between a ULCD-35DT-AR and a GEN4-ULCD-35DT-AR?
    2. The 4D-UPA seems to be a device that can be used for programming the display but it could also provide an easier way of connecting the display's GPIOs to a PCB, via jump leads, rather than soldering on a ZIF connector?
    3. I'm a little confused about the difference between the Flash Banks and User RAM. I get that I could store 6 applications into the Flash Bank and switch between them - restarting the processor each time. This seems to be a useful way, say, of loading a menu-type application into Bank 1 and different applications into Banks 2-6. Can swap data between banks, but can't run more than one of these applications at a time. How does User RAM then come into play? Is each application copied in from the Flash Bank to execute in User RAM? It's not clear - the manual talks about sub-routines which seems to imply we could use both a Flash Bank app and executable code in User RAM at the same time.
    4. It I interface the display to an Arduino NANO/UNO/MEGA using the shield, I assume the display would be configured to run in SPE mode? Would there be any way of running a "native" application in the display and interfacing to the Arduino to interact with ICs on a PCB? E.g. I could have an application running on the Display and use UART to send commands to an Arduino that will then use I2C to send/receive from RTCC, ADC, DAC, EEPROM etc. Perhaps think of it as an application on the Display and firmware on the Arduino. This would give me 32KB for a user application and 32KB (or even more) for Firmware.
    5. From what I can tell, if I use an Arduino the connection is: Arduino+Arduino shield -> 5-way F2F/M2M adaptor cable -> 4D-UPA or Gen4-IB -> 30-way FFC cable -> Gen4 display. Is there anyway to shorten this path to make it easier to encase the display and Arduino? I think I could use shorter jump leads and forego the shields and 5-way cable.
    6. Is the USB on the 4D-UPA purely for programming or can it be used for UART communications to send commands from a PC host whilst an application is running?
    I did try and look to answer some of these in the documents but I encountered a lot of dead-end links unfortunately.



  • #2
    Hi Andrew,

    Please see below comments about your questions:
    1. GEN4-ULCD-35DT-AR is part of 4D System's gen4 series. Its main difference from the non-gen4 display is that the GPIO pins of the gen4 series are not attached on its back panel unlike the non-gen4 series. Instead, you can utilize the gen4 GPIOs using 4D-UPA.
    2. Yes, that's correct as I have mentioned in point 1.
    3. You may read this appnote about the difference of FLASH and RAM under the Choosing between Flash and RAM as the Destination section: General Downloading an Application Program to RAM or Flash Memory (
    4. There are 4 environments that you can use to program the display using Workshop4: (1) ViSi-Genie (2) ViSi (3) Designer (4)Serial. The simplest to use to integrate with an Arduino is the ViSi-Genie environment. It is designed without the need for coding and is a very fast GUI development tool. On the Arduino side, you may use the Arduino library called genieArduino which is developed specifically to communicate with the display programmed in ViSi-Genie Enviornment. Of course you may still use the other environments to communicate with the Arduino, but it would need manual coding on both display and Arduino.
    5. How about using a shorter FFC cable?
    6. You can send it to send commands from a PC host. One way to test this is using GTX Tool found on ViSi-Genie environment under the Tools section.

    For more information on connecting a display to an Arduino host, you may check this appnote: ViSi Genie Connecting a 4D Display to an Arduino Host (
    For a sample program of the display connected to an Arduino host, you may check this appnote: ViSi-Genie Writing to Genie Objects Using an Arduino Host (

    Hope this helps and Best Regards,


    • #3
      Thanks Eran, that's really useful.

      I like the way the Flash/RAM can interact for subroutines - I'm not sure I can do that given my application, but it's worth experimenting. The Visi-Genie/Arduino environment looks really good as well and seems to be what I want in terms of my Q4. I can even find a 50mm FFC cable that seems to meet the spec so there are options there too: 30-way, opposite side connectors, 0.5mm pitch.



      • #4
        Hi Andrew,

        I'm glad that I could be of help. If you need more help, please don't hesitate to ask.

        Best Regards,