Got the TFT LCD + STM32F103VE MCU Up and Running !

Hi All,

I was working to interface 320×240 pixel TFT LCD based on ILI9325 controller with my 32 bit ARM MCU (STM32F103VE). Got to digest the whole datasheet of ILI9325, Learn about the FSMC (Flexible Static Memory Controller). Finally succeeded in initializing the LCD and writing to the GRAM. Then ported a part of ProGFX (Text and Font unit) to this new platform. Finally was able to write text on the LCD Screen.

This is part of a bigger project to port BASIC language for STM32 MCU based single board computer with on board LCD and SD card. The user then can program in BASIC language, store .BAS files on SD card and execute on board. Something like a power packed Arduino for the modern world (TFTs, SD Card and Multimedia!)

Now the next part is to get a basic GUI up and running to view and load BAS files from SD card. After that main task of porting basic begins!

JLCPCB Prototype: $2 for 10 pcs PCBs, 48 Hours Quick Turn

China’s Largest PCB Prototype Enterprise, 300,000+ Customers & 10,000+ Online Orders Per Day

Get quote online easily: quote

Facing problem with your embedded, electronics or robotics project? We are here to help!
Post a help request.


Avinash Gupta is solely focused on free and high quality tutorial to make learning embedded system fun !

More Posts - Website

Follow Me:
FacebookLinkedInGoogle Plus

Hobby Robotics Wheels

19 thoughts on “Got the TFT LCD + STM32F103VE MCU Up and Running !

  • By Victor Borah - Reply

    Wow Great Work !!! I love large LCDs !! Keep it Up !

  • By Binu - Reply

    What’s the BASIC compiler you are using for ARM Micros?

  • By Avinash - Reply


    I am NOT using a BASIC compiler. I am “designing” a BASIC interpreter for a single board computer based on ARM CPU. The computer with have tightly coupled units like CPU, LCD, Touch Screen, File System, Audio etc. And a tight OS that manage all these and run Basic, Lua and C Scripts.

  • By Prateek - Reply

    Wow…Great work 🙂

  • By Mahesh - Reply

    Dear Avinash,

    1) what is the cost of 320×240 pixel TFT LCD based on ILI9325 controller (In indian rupees)

    2) can PIC uC’s be used to interface it with ?

    3) What are the cheaper 320×240 pixel LCD’s. (some around Rs. 500) Monochrome LCD’s will do.

    Please reply.

    Thanks in advance.

    • By Avinash - Reply

      QVGA @ Rs. 500 NOT possible.

      My Clients have deep pockets so I don’t look at the price tag.

  • By Mahesh - Reply

    Dear Avinash,

    Thanks for the reply.

    “QVGA @ Rs. 500 NOT possible”
    1) So, what is the cost for QVGA display module?
    2) Is a monochrome TFT (320×240) available anywhere in India?

    I would be grateful if you provide some details.

    Please reply.

    • By Avinash - Reply

      Monochrome QVGA are more costly.

  • By Mahesh - Reply

    Dear Avinash,

    “Monochrome QVGA are more costly.”

    1) Price for Color QVGA display ?
    2) Will Color QVGA be available on this site?


  • By Raluca - Reply

    You seem to be using the same development board as I am, with the same LCD.
    So far, it was impossible for me to make the LCD display anything at all and it is driving me crazy. I have double checked (actually, I checked a thousand times) the ILI9325 settings, the FSMC and the internal clocks of the stm, but nothing seems wrong to me…
    If you have any idea, or any tips, please share!

    • By Avinash - Reply


      Which debugger(J-LINK or Ulink) and IDE you are using ?

      • By Raluca -

        I’m using J-Link and IAR EWARM.
        I am not sure of the FSMC settings, because I had a hard time understanding the timing computations presented in the application note about TFT LCD interfacing with the
        high-density STM32F10xxx FSMC.
        Also, I tried only turning the display ON, by setting the value 0x0133 to reg 7 of the ILI9325 controller. Of course, it didn’t work…

      • By Raluca -

        Any advice or indications are more than welcome!

  • By Raluca - Reply

    I don’t think I was clear enough in my post. I believe the LCD does work since I can turn the backlight on (by setting PD13), I just can’t seem to get anything show up on the LCD, not even a different background color. It is just white…
    This is very frustrating!

    • By Avinash - Reply


      I thought I should give you my files. But I was not able to find them (though I keep file in organised manner!). Then from the morning I became busy with work. I will post as soon as I find them.

      • By Raluca -

        Thank you!

  • By Ajit - Reply

    Can anyone post me hindi font const array

  • By Ajit - Reply

    I’m working on displaying hindi fonts on TFT. Now I had done displaying with english fonts. I had written a function in C such that it reads individual characters from the const array of english fonts. Now I’m supposed to hindi fonts. Can any one provide if hindi font const array is available or else let me know where is it available

  • By Lee - Reply

    I am a college student in South Korea.
    Being studied have the same product.
    STM32F103VE + TFT LCD
    Schematic and source code for this please.
    We just need to send mail to thank you so much.
    Mail address is
    Please ask

Leave a Reply

Your email address will not be published. Required fields are marked *

6 + nine =

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>