Blinking an External LED Using STM32CubeIDE on STM32 Black Pill

by Anjandeep Singh in Circuits > Microcontrollers

273 Views, 2 Favorites, 0 Comments

Blinking an External LED Using STM32CubeIDE on STM32 Black Pill

IMG_3005.jpg

This is an instructable for using STM32 Black Pill which uses STM32F401CCU6 micro-controller for controlling an external LED using ST's native IDE, STM32CubeIDE. This tutorial does not use ST-LINK.

Supplies

Hardware:

  • STM32 Black Pill board
  • Jumper wires
  • LED
  • USB-C
  • Breadboard (optional)

Software:

  • STM32CubeIDE
  • STM32CubeProgrammer

Create Project on STM32CubeIDE

stm32cubeide_iFNYRuPxPJ.png
  • Create new project on STM32CubeIDE by following the steps on the attachment.
  • Select the appropriate name for the task and press "Finish."

Select Appropriate Board

stm32cubeide_CJYrzHBtwc.png
  • Select the appropriate MCU from the MCU selector, you can also use the search menu like I did.
  • STM32 Black Pill uses either STM32F401CC or STM32F401CE micro-controller. Check the chip on your board to find out.

Select Pinout and Configure Clock

1400px-Black_pill_pinout.png
stm32cubeide_s6fQdMKHX3.png
  • Check any GPIO pin in the pinout view. Refer the attachment of STM32 Black Pill pinout.
  • I have chosen Port B, pin number 10 [PB10].
  • I used the default clock for this task.
  • Press Ctrl + S or Alt + K to generate code.

Write Code

stm32cubeide_SUZzrWXOMm.png
stm32cubeide_XB66Y2UZdK.png
  • Open "main.c" file.
  • Go to line 95, in "while(1)" write the code to send a HIGH [digital 1] output, then add a delay and send a LOW [digital 0] output to the LED.
  • Your code should look something like in the attachment.
  • You can also use toggle function.
  • Finally, press the debug button from the menu bar or use F11 shortcut key.

Interfacing of External LED

  • As I chose PB10 for GPIO, I'll connect the +ve terminal of the LED to it.
  • And connect -ve terminal of the LED to GND. You can check the pinout of ground from attachment shown above.

Setup STM32CubeProgrammer

javaw_MODih5pSe7.png
firefox_UHYbrh2SVt.png
javaw_xBd5Pxp5LM.png
javaw_wg277ARknJ.png
javaw_XCMB6vhBOu.png
javaw_b5d3BPjPBx.png
  • Choose USB as the connection method. [This tutorial does not use ST-LINK.]
  • Enter boot-loader mode by the steps in the attachment. Refresh until it shows up and press "Connect."

Your STM32 board should show up in the device manager under Universal Serial Bus devices if done correctly.

  • Press on "Open file" and choose the .elf file from STM32 project directory.
  • Press download.
  • Go to the download icon from the menu in the left and press browse. Again select the .elf file.
  • Once done, check the options as shown in the attachment.
  • Finally, press on "Start automatic mode."
  • Once a message saying "Please disconnect device n:1 and connect the next..." shows up reconnect your STM32 board.

Result

IMG_3027.png
IMG_3028.png

Congratulations, the external LED connected to your STM32 Black Pill board should successfully be blinking at the set interval.


Comment if you need any help.


Welcome!