### Introduction

STM32CubeMX is a graphical tool for 32-bit ARM® Cortex® STM32 microcontrollers. It is part of STMCube" initiative and is available either as a standalone application or as an Eclipse plug-in for integration in Integrated Development Environments (IDEs).
STM32CubeMX has the following key features:

- Easy microcontroller selection covering whole STM32 portfolio.
- Board selection from a list of STMicroelectronics boards.
- Easy microcontroller configuration (pins, clock tree, peripherals, middleware) and generation of the corresponding initialization C code.
- Easy switching to another microcontroller belonging to the same series by importing a previously-saved configuration to a new MCU project.
- Generation of configuration reports.
- Generation of IDE ready projects for a selection of integrated development environment tool chains. STM32CubeMX projects include the generated initialization C code, STM32 HAL drivers, the middleware stacks required for the user configuration, and all the relevant files needed to open and build the project in the selected IDE.
- Power consumption calculation for a user-defined application sequence.
- Self-updates allowing the user to keep the STM32CubeMX up-to-date.
- Download and update of STM32Cube" embedded software required for user application development (see Appendix E: STM32Cube embedded software packages for details on STM32Cube embedded software offer).

### Installing and running STM32CubeMX 5.3.0

#### Supported operating systems and architectures

- Windows® 7: 32-bit (x86), 64-bit (x64)
- Windows® 8: 32-bit (x86), 64-bit (x64)
- Windows® 10: 32-bit (x86), 64-bit (x64)
- Linux®: 32-bit (x86) and 64-bit (x64) (tested on RedHat, Ubuntu and Fedora)
  Since STM32CubeMX is a 32-bit application, some versions of Linux 64-bit
  distributions require to install 32-bit compliant packages such as ia32-libs.
- MacOS: 64-bit (x64) (tested on OS X Yosemite)

#### Software requirements

The Java Run Time Environment 1.8 must be installed.
Note that Java 9 and Java 10 are not supported and there is limited validation done with Java 11.
After Oracle announcement related to ‘End of Public Updates for Oracle JDK 8’, you can access OpenJDK 8 via https://adoptopenjdk.net/.

#### Installing STM32CubeMX standalone version

To install STM32CubeMX, follow the steps below:

- Download STM32CubeMX installation package from www.st.com/stm32cubemx.
- Extract (unzip) the whole content of the the latest STM32CubeMX installation package from http://www.st.com/stm32cubemx into the same directory
- Check your access rights and launch the installation wizard:

- on Windows

- Make sure you have administrators rights
- Double click on the SetupSTM32CubeMX-5.3.0.exe file to launch the installation wizard

- On Linux

- Make sure you have access rights to the target installation directory. You can run the installation as root (or sudo) to install STM32CubeMX in shared directories
- Do "chmod 777 SetupSTM32CubeMX-5.0.0.linux" to change the properties, so that the file is executable.
- Double click on the SetupSTM32CubeMX-5.3.0.linux file or launch it from the console window.

- On MacOS

- Make sure you have administrators rights.
- Double click on the SetupSTM32CubeMX-5.3.0 application file to launch the wizard.
  In case of error, launch the exe file with the following command :
  sudo java -ar SetupSTM32CubeMX-4.14.0.exe

- Upon successful installation of STM32CubeMX on Windows, STM32CubeMX icon is displayed on your desktop and STM32CubeMX application is available from the Program menu. STM32CubeMX .ioc files are displayed with a cube icon. Double-click them to open up them using STM32CubeMX.
- Delete the content of the zip from your disk.

Please refer to the STM32CubeMX user manual for more details on System requirements or other possible installations.

#### Running STM32CubeMX as standalone application

- To run STM32CubeMX as a standalone application on Windows:

- Select STM32CubeMX from Program Files > ST Microelectronics > STM32CubeMX.
- Or double-click STM32CubeMX icon on your desktop.

- To run STM32CubeMX as a standalone application on Linux, launch the STM32CubeMX executable from STM32CubeMX installation directory
- To run STM32CubeMX as a standalone application on macOS®, launch the STM32CubeMX application from the launchpad.

#### Uninstalling STM32CubeMX standalone version

##### Uninstalling STM32CubeMX on macOS

> To uninstall STM32CubeMX on macOS use the following command line:
> java -jar STM32CubeMX installation path/Uninstaller/uninstaller.jar.

##### Uninstalling STM32CubeMX on Linux

> There are two different ways to uninstall STM32CubeMX on Linux:
> - By using the following command line java -jar STM32CubeMX installation path/Uninstaller/uninstaller.jar.
> - Through a Windows Explorer window:
> - Use a file explorer.
> - Go to the Uninstaller directory of STM32CubeMX installation.
> - Double-click the start uninstall desktop shortcut.

##### Uninstalling STM32CubeMX on Windows

> There are three different ways to uninstall STM32CubeMX on Windows:
> - By using the following command line java -jar STM32CubeMX installation path/Uninstaller/uninstaller.jar.
> - Through a Windows Explorer window:
> - Use a file explorer.
> - Go to the Uninstaller directory of STM32CubeMX installation.
> - Double-click the start uninstall desktop shortcut.
> - Through the Windows Control Panel:
> - Select Programs and Features from the Windows Control Panel to display the list of programs installed on your computer.
> - Right-click STM32CubeMX and select uninstall.