Showing results for 
Search instead for 
Did you mean: 

What hardware & software tools are needed for STM32 development?

Associate II

Eyes rolling back in my head with all the choices for doing STM32 development... need help.

I'm trying to setup for embedded processor programming and testing using the STM32 devices... like the STM32H747... for a variety of upcoming projects...

  • and I'm lost in the jungle of options and web links and pages describing this 1,000 bladed pocket knife... and all of its associated stuff...
  • and yes, I've done embedded processor development work before but it has been awhile and I'm trying to catch up with the world as it is today.
  • So thanks to any kind soul for helping me get my initial dev setup and operating.

The Question... What specific items do I need for a complete STM32 development system?

A - Are these devices all that I need?
Nucleo-32 or Nucleo-64 or Nucleo-144 board? 

B - Or do I need all  this? 

- Hardware:
STM32H747I-DISCO Discovery kit with STM32H747XI MCU

- Software: (STM32 Software Development Tools)

C - And if "A" above which software to work with it?

I anticipate "it all depends on what you are trying to do" as a response but...

right now, to get familiar with the capabilities and practical applications of the STM32 products, I would like to setup a rather complete development environment with all the appropriate hardware and software for the STM32 series...
and get started learning and experimenting with the STM32 uP's.

Thanks in advance for any time saving help as I've drilled down online on this topic so long that... well, I need help.





The H747 is not available on a NUCLEO board, it has DSI, and anticipated to have a display attached, and likely SDRAM in support of that. The DISCO or EVAL boards might make a suitable proxy for your own.

For your own design you'd want to facilitate the connection of a ST-LINK/V3 debugger or some sort. The V2's would work but would be slower as the design expands. Segger and other vendors have alternative debug/programming pods.

The Dual Core H7 is available on NUCLEO boards via H745 or H755 models.

IAR, GHS and KEIL have alternative Compiler / IDE. Depends on the tools you currently use, customers request, or regulatory demands.

Your Option#B basically enumerates an ALL ST approach, it will at least get you to the point you're able to make other decisions that suit you better.

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
Lead II

In my experience you can build a free and efficient development configuration with ST tools:

CubeMX is also accessible from CubeIDE but it is slow...

CubeMX is useful for defining the hardware configuration (assigning pins), and generating sometimes complicated pieces of code (initializing clocks).

It can also be used to generate an application skeleton (.ioc file) with HAL or LL. But it imposes a particular architecture on the application.

In development and debugging CubeProgrammer is less useful (unless you use an "external loader" for external flash).

Never used Cube Monitor.


Choose a Nucleo or Discovery board with an MCU close to the one you will use in your application (e.g. H755). They have an integrated ST-LINK interface, nothing to add.

Once the knowledge is acquired, changing the MCU is easy. But for your specific card you will need a programming/debug probe like  STLINK_V3SET or STLINK_V3MODS.

ST Employee

Hi @Will_iii 

  • Board selection depends on your design requirements, but for getting started with STM32 boards, a Nucleo board is sufficient
  • You can start by any STM32 family (STM32F4 for example), then you can refine your choice according to your needs (high perf, ultra low-power, mainstream, wireless or MPU). There is a dedicated product selector that can help you to refine your choice (STM32 MCU product selector - STMicroelectronics  or  STM32 Microcontrollers (MCUs) - STMicroelectronics)
  • As tools no specification as explained by Tesla. In my opinion you can start using the STM32CubeIDE (All in one tool allowing code generator, debugger + wave viewer and device programming). In addition it is an ST open source.
  • For training, I suggest to start with a set of MOOC from the ST site (STM32 MOOCs (Massive Open Online Courses) - STMicroelectronics). 

Overall, I suggest this MOOC on STM32CubeIDE based on the Nucleo-G071RB board. It covers main peripherals programming with hands-on: STM32CubeIDE basics - STMicroelectronics

If you find it very basic, we can point you to more advanced trainings. 

Best Regards,


Pavel A.
Evangelist III

The ramp is quite high indeed. Good news is that you don't have to suffer with "eyes rolling back". Get help for your  whole project, or any part of it, here. You can request to choose and set up an IDE (this likely will be CubeIDE because it's free and popular), other tools, bring up some evaluation board, interpret ST technical manuals, review design of custom board, select 3rd party components.

> I anticipate "it all depends on what you are trying to do" as a response

Correct. This question is anticipated from your helpers and you should know the answer.


Andrew Neil
Chief III

@Will_iii wrote:
  • I've done embedded processor development work before but it has been awhile and I'm trying to catch up with the world as it is today.

For context/background, it might help to say what you used back then? What processor(s) were you using?