Where to get a I2C library for a display project on STM32F103rb from nucleo board?

Hello Dears,

I aim to code a I2C protocol for displaying something.
I use “STM32F103rb”," nucleo board" and have “Keil uvision” as a IDE.
Can someone let me know where I can have that library so that I code?
If possible, I wish someone to help me to make a choice on the display that can suit with my microcontroller.


You can use the STM32Cube Hardware abstraction layer (HAL) if you want to use libraries. You have to download and create a project in STM32CubeMX and then open the project in Keil IDE. All the libraries you needed will be in your project.

Is it impossible to have some of these libraries on stm32f103xx ?

So well, I will then buy it.

You don’t have to buy it, it’s free. You can download it from the below link.

Okay Thank you.
I make some research and I found that the blue-pill also contains librairies that Can help to display something via I2C. But since I have not used the blue-pill yet, please tell me If it is still necessary to download the stm32cube since I already have keil uvision as IDE.

I don’t think there is any abstraction library for STM32 in Keil MDK by default. The ARM toolchain provided by Keil is mostly for bare-metal programming. I am not familiar with Keil, so if I am wrong you can correct me.

STM32CubeMX is not a IDE. It’s a code generator software for the STM32 microcontroller. CubeMX has all the toolchains needed for the STM32 programming. Once installed, you can create a new project in CubeMx and you can open the project in Keil IDE. See the below video, to configure CubeMx with Keil.

Or, You may ditch Keil, and use STM32CubeIDE which is free and comes with an IDE and all the necessary tools for easy designing. See this video below, you will get an idea of, how to create a new project in STM32CubeIDE.

1 Like

Thank you so much Dear @Administrator. I will go for it.

Anyway you’re right by saying “there is any abstraction library for STM32 in Keil MDK by default”