The URL to add [STM32](https://www.ampheo.com/search/STM32) board support to the Arduino IDE is:
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json

**Step-by-Step Guide to Adding STM32 Boards**
Here is how to use this URL in the [Arduino](https://www.ampheo.com/c/development-board-arduino) IDE:
1. Open the Arduino IDE.
2. Go to Preferences
* On Windows/Linux: Click File > Preferences.
* On macOS: Click Arduino IDE > Preferences.
3. Add the Board Manager URL
* Find the field labeled "Additional Boards Manager URLs".
* Click the icon to the right of the field (it looks like a small button with three dots ...).
* A new window will pop up. Paste the URL into this window:
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
* If you already have other URLs in this field, you can add this new one on a new line.
* Click OK, then OK again to close the Preferences window.
4. Open the Boards Manager
Click on Tools > Board > Boards Manager... in the main menu.
5. Install the STM32 Core
* In the Boards Manager window, type "STM32" in the search bar.
* The option "STM32 MCU based boards" by STMicroelectronics will appear.
* Select the latest version and click the Install button.
6. Select Your Board
* After installation is complete, close the Boards Manager.
* Now, when you go to Tools > Board, you will see a new category called "STM32 Boards (STM32Duino)".
* Select your specific STM32 board from the list (e.g., Nucleo-64, Generic [STM32F1](https://www.ampheo.com/search/STM32F1) series, etc.).
**Important Next Steps: Installing Drivers (Windows)**
For many STM32 boards (especially generic "Blue Pill" or "Black Pill" boards), you will need to install drivers for the USB-to-serial converter to allow the Arduino IDE to upload code.
* The most common chip is the ST-Link (on official Nucleo boards) or [CH340](https://www.ampheo.com/product/ch340t-27265631) / [CP2102](https://www.onzuu.com/search/CP2102) (on many generic boards).
* You can usually find the driver by searching for "CH340 driver" or "CP2102 driver" and downloading it from the manufacturer's website (e.g., SiLabs for CP2102, WCH for CH340).
**Basic Upload Method Configuration**
Once you have your board selected, you need to configure the right parameters in the Tools menu for your specific hardware setup:
* Board part number: (e.g., [Nucleo L452RE](https://www.onzuu.com/product/stmicroelectronics-nucleo-l452re-3235320), Generic F103C8, etc.)
* Upload method: This is critical. Common options are:
* STM32CubeProgrammer (DFU): For boards with a USB DFU bootloader (like many generic "Blue Pills").
* Serial: If you are using an external USB-to-Serial adapter (like FTDI or CP2102).
* ST-Link: If you have an official ST-Link debugger/programmer (either external or built-in on a Nucleo board).
* HID: For certain bootloaders like the one from Roger Clark.
* CPU Clock Speed: (e.g., 72MHz for a Blue Pill).
* Optimize: For debugging or application size.
**Example for a common "Blue Pill" ([STM32F103C8](https://www.ampheo.com/search/STM32F103C8)) board:**
* Board: Generic STM32F1 series
* Board part number: Generic F103C8
* Upload method: STM32CubeProgrammer (DFU)
* CPU Speed: 72MHz (Normal)
After this setup, you can write, compile, and upload sketches to your [STM32](https://www.ampheoelec.de/search/STM32) board just like any standard Arduino board. The massive number of GPIO pins, peripherals, and processing power of the STM32 will then be available to you within the familiar Arduino environment.