Nv3035 driver code



  • Paul_B


    TFTs typically have a digital RGB interface (essentially digital VGA) and are simply LCD panels that require pixel data (RGB data bus) and timing/synchronization signals (HSYNC, VSYNC, pixel clock).
    Using a TFT with a TFT controller, such as the SSD1963, allows for a standard MCU type interface (8/16 bit parallel data bus, control signals such as command/data selection, active LOW write, etc.)

    The TFT controller outputs the necessary 24bits of RGB, and the timing signals for you.  Some development boards / microcontrollers have TFT drivers/controllers built-in, and would therefore not need an external TFT controller such as the SSD1963.

    I recommend you reach out on STMicroelectronics forum / support page, I'm sure they will have some app notes available for the stm32f4.

  • eb1984

    The NV3035C is a built in driver ic of TFT panel, it is not an external controller. For initialization of TFT i think (but not sure), i will need spi commands of TFT panel, so i need spi command lists and usages of them. There are command descriptions on NV3035 pdf but i am not sure how to use them, maybe there is another detailed command list or any c code for this.


  • Paul_B

    Correct, the NV3035C is the displays built in driver. The SPI interface may be used to modify various registers, see page 19 in the drivers datasheet for the full "Register Table".


    Please note that no initialization via the SPI interface is required to get the display operational. By default the display is configured to achieve optimal settings.

    The NV3035C datasheet will list in detail how to properly communicate and set various registers. Unfortunately we do not have any example code available, however it is just communicating via 3-wire SPI.

  • eb1984

    Ok, i have one more question. According to NV3035 datasheet there are timings about sync's for width and heigth. I need to configure the TFT for the parameters below but i can not convert to pixels and lines, how can i calculate them.

    Horizontal sync. width : x pixels
    Horizontal back porch : x pixels
    Active width : 320 pixels
    Horizontal Front porch : x pixels

    Vertical sync. height : x lines
    Vertical back porch : x lines
    Active heigth : 240 lines
    Vertical front porch x lines.

  • Paul_B

    Please review the timing below which has worked for me in the past

    display-timings {
    + native-mode = <&timing0>;
    + /* Settings for NHD-3.5-320240MF-ATXL#-1: */
    + timing0: 320x240 {
    + clock-frequency = <8000000>;
    + hactive         = <320>;
    + vactive         = <240>;
    + hback-porch     = <22>;
    + hfront-porch    = <59>;
    + hsync-len       = <48>;
    + vback-porch     = <12>;
    + vfront-porch    = <23>;
    + vsync-len       = <2>;
    + };

    The timing characteristics can also be viewed on page 6 in the displays datasheet.


    Hope this helps!

  • eb1984

    I am using the parameter values below picture and i am not sure these are the right values. ( I will configure LTDC parameters by using the mcu gui program). Can you check it for me ?


Please sign in to leave a comment.