I am currently learning stm32, I have very little coding background, only some arduino. What is the best device to start learning on? I currently own a neucleo-f4 and must learn to program a stm32f303 for my project. Based on the videos on the STM32 website (stm32 F7, L4, L4+, and GO) which one would be best for me to watch and should I consider buying a new stm32 for learning purposes? Thanks.

  • 2
    \$\begingroup\$ They are all the same from the conceptual point of view. So use whatever you have. And better don't learn by watching videos, there are thousands of written resources. \$\endgroup\$ – Eugene Sh. Mar 5 '19 at 18:43
  • 1
    \$\begingroup\$ Blue-pill boards (stm32f103) are very cheap from the Chinese webshops. A separate programmer is required, but those are also very cheap. \$\endgroup\$ – Wouter van Ooijen Mar 5 '19 at 18:59
  • \$\begingroup\$ The F100's are the oddball family of still contemplatable STM32's with substantially different handling of peripheral functions so really only worth it for the cost. The on-hand F4 will be closer to the target F3. \$\endgroup\$ – Chris Stratton Mar 5 '19 at 20:05
  • \$\begingroup\$ the nucleos are good because you dont need additional hardware to get started, they show up like virtual thumb drives, you copy the .bin to this drive and it gets loaded into the target mcu and run. If you buy one with a removable debugger end you can use that end of the board to program other devices on your project board (you dont actually need to remove it you can remove jumpers, it wont do the copy the file thing but is a cheaper way to get an st-link debugger). \$\endgroup\$ – old_timer Mar 6 '19 at 1:31

The STM32F3DISCOVERY is a low cost board intended to introduce the features of the STM32F303. It has an on-board STLINK debugger. The Atollic TrueSTUDIO toolchain is free for STM32 users, as is the System Workbench for STM32 (SW4STM32). Both are good choices for a toolchain.

I believe your best start would be to use the STM32F3DISCOVERY board (same chip as your final project) to start learning how to blink LED's and read buttons. Then try to use the various peripherals your project will require. The Discovery boards have some additional peripherals connected on them that the nucleo boards usually don't have.

You could use the board you already have for some of the basics of learning how to use STM32 parts in general; however, if the final project will be a STM32F303 and you're willing to invest in a development board then why not use the same STM32 to learn as the final project will use?

ST has a software package called STM32CubeMX which can help create a C language framework and handle most of the basic settings of the STM32: things like internal RC, external crystal, or external clock and so on.

Start coding and make something happen. If it doesn't then you'll have an example of exactly what isn't working and can either debug it yourself or ask for help.


Not the answer you're looking for? Browse other questions tagged or ask your own question.