A Wearable MIPI display for STM32F769

Document created by M T on Jul 3, 2017Last modified by M T on Jul 19, 2017
Version 2Show Document
  • View in full screen mode

A Wearable MIPI display for STM32F769


About this project

It is a MIPI round display for STM32F769 Discovery Board


Project info


This initial phrase development is completed.  The display is working


It is a MIPI round display for STM32F769 Discovery Board

I always wonder why the information about using MCU to drive MIPI display is so little to run by.  A little effort after, I realized that was because most MCU don't support MIPI feature.  Now I found this STM32F769 has that support and here is what I came up with. If I can make it better, your feedback is welcome.



Things used in this project

Hardware components :

STM32F769 Discovery kit
MIPI adapter, DISP MIPI01
1.39" Round display 400x400 , model DLC0139AZOG.

Software Tools :

I tried to use Eclipse tool chain, but wihtout suceess.  I can't even make F769-DISCO board to blink its. (as of 05/2017)

So I use online compiler, mbed.org 


Further detail

see here


    1. Only 2 files and 12 lines,  needed to be modified.
    2. I believe there is a better way to do this than what is shown here. For now, this works.
    3. Changing the values as below.


    - @file otm8009a.h -
    #define OTM8009A_ORIENTATION_PORTRAIT ((uint32_t)0x01) /* Portrait orientation choice of LCD screen */ //Line 76
    #define OTM8009A_ORIENTATION_LANDSCAPE ((uint32_t)0x00) /* Landscape orientation choice of LCD screen */ //Line 77
    #define OTM8009A_480X800_WIDTH ((uint16_t)400) /* LCD PIXEL WIDTH */ //Line 91
    #define OTM8009A_480X800_HEIGHT ((uint16_t)400) /* LCD PIXEL HEIGHT */ //Line 92
    #define OTM8009A_800X480_WIDTH ((uint16_t)400) /* LCD PIXEL WIDTH */ //Line 95
    #define OTM8009A_800X480_HEIGHT ((uint16_t)400) /* LCD PIXEL HEIGHT */ //Line 96
    #define OTM8009A_480X800_HBP ((uint16_t)130) /* Horizontal back porch */ //Line 103
    #define OTM8009A_480X800_HFP ((uint16_t)130) /* Horizontal front porch */ //Line 104
    #define OTM8009A_480X800_VSYNC ((uint16_t)18) /* Vertical synchronization */ //Line 105
    #define OTM8009A_480X800_VBP ((uint16_t)18) /* Vertical back porch */ //Line 106
    #define OTM8009A_480X800_VFP ((uint16_t)18) /* Vertical front porch */ //Line 107

    - @file stm32f769i_discovery_lcd.c -
    /* Set number of Lanes */
    hdsi_discovery.Init.NumberOfLanes = DSI_ONE_DATA_LANE; // Line#333