Blinking an External LED Using STM32CubeIDE on STM32 Black Pill

by Arshjottt in Circuits > Microcontrollers

14 Views, 0 Favorites, 0 Comments

Blinking an External LED Using STM32CubeIDE on STM32 Black Pill

FGO8FM0LUSE5PE3.jpg

The following instructable will show you how to make blinking LED strand with STM32 black pill based on STM32F401CCU6 micro-controller which is programmed in native STM32CubeIDE. This couldn't be more distant a tutorial from ST-LINK.

Supplies

Hardware:

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

Software:

  • STM32CubeIDE
  • STM32CubeProgrammer

Create Project on STM32CubeIDE

Screenshot 2024-05-06 224222.png
Screenshot 2024-05-06 224253.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

Screenshot 2024-05-06 224427.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

Screenshot 2024-05-06 224710.png
Screenshot 2024-05-06 224734.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

Screenshot 2024-05-06 224956.png
Screenshot 2024-05-06 225016.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

7cf523c0-f303-449a-a676-dce0839e830d.png
a22bd7d6-f5d1-4b95-8993-d88067080cdf.png
d6d8f600-b219-46c8-a994-9e15cef26e30.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.

OUTPUT

Screenshot 2024-05-06 225531.png