> For the complete documentation index, see [llms.txt](https://voltbro.gitbook.io/en-vbcores/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://voltbro.gitbook.io/en-vbcores/software/arduino-ide/arduino-ide-setup.md).

# Arduino IDE setup

First of all lets install [Arduino IDE 2.x.x](https://www.arduino.cc/en/software). Download and install version for your OS.&#x20;

{% hint style="info" %}
Linux users are advised to follow the [tutorial](https://raspberrytips.com/install-arduino-ide-on-ubuntu/).\
DO NOT use **apt**. It contains outdated release.
{% endhint %}

STM32 are usually programmed via the SWD interface, which is not native to the Arduino IDE. To solve this problem, we will use [STM32CubeProgrammer](https://www.st.com/en/development-tools/stm32cubeprog.html) tool. Please [download](https://disk.yandex.ru/d/3NU5JG2_HueeNQ) and install it. Keep default settings. Allow drivers install.

Now we're ready to configure Arduino IDE. [STM32duino](https://github.com/stm32duino) is a set of libraries providing STM32 support in Arduino. To install it do the following:\
Open Arduino IDE, click “*File”*, then “*Preferences”* and populate the “*Additional Boards Manager URLs*” with the following line:

```
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
```

Press OK.

<figure><img src="https://content.gitbook.com/content/liPblHHYVNdK0NqFTupF/blobs/TdsswVBqJdZiczqKATwn/image.png" alt=""><figcaption></figcaption></figure>

<figure><img src="https://content.gitbook.com/content/liPblHHYVNdK0NqFTupF/blobs/3guDrmaEJOVbFyVnjSpM/image.png" alt=""><figcaption></figcaption></figure>

In the main window click "**Tools**"->"**Board**"->"**Boards manager**". In the search field type "**STM32**". The "**STM32 MCU based boards**" package should appear. Click "**Install**". Close the **Boards manager** window.
