A Wearable MIPI display for STM32F769

Description:

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.

Hardware:

STM32F769 Discovery kit.

MFT MIPI adapter, DISP MIPI01 (v0.0.1 06/2017) or MIPI02 (v0.2 08/2017) available here 

1.39" Round display 400x400 , model DLC0139AZOG. Also a compatible and better display at ebay. Or here for straight version of display.

Development IDE:

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

So I use online compiler, mbed.org 

 

Result:

 

Some more information:

  1. Word to html BOM

  2. BOM.JPG
  3. replace text Gerber Image

 

  1. gibberish Assembled

 

  1. gibberish Software

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

             

step 1

Step 2

Step 3

- @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

 

Next version?

I might work on the next version soon if I can gether enough interest or inquiry from others.  The material cost for this project is not attractive at all.  The Display and the Samtec board connector are the 2 major factors.  Sending your feedback to "JOB . . . at . . . MFT . . . COM".

02/2018:

Model: DISP MIPI01 v0.2 PCB was out on Aug, 2017. It is available on EBay. This version works with both "straight" and "diagonal" OLED.

01/2019:

Model: DISP MIPI01 v0.3 PCB was out on Jan, 2019. It is available on EBay. This version works with 3 kind of OLED displays. Round "straight" , Round "diagonal" and Square 320x360 OLED OLED.

06/2020:

Demo .bin file is available here for testing the display.. Connecting your STM32F769DISC board to your PC with the USB cable. The PC should see the Discover Board as a USB drive. Drag/copy the downloaded .bin file to the root/top directory of the drive. Press "RESET" button on the Discovery Board. The display should now show the picture as below.

That is all!

Enjoy!