🛠 Premier programme Arduino sur la Blue Pill (core officiel stm32duino)

STM32F103 "Blue Pill" (STM32F103C8T6) · debutant · Installer le core STM32 officiel, sélectionner BluePill F103C8 et faire clignoter la LED PC13 en tenant compte de sa logique inversée.

¿Por qué el core oficial?

La Blue Pill cuenta con soporte de primera clase por parte de stm32duino/Arduino_Core_STM32, el core Arduino respaldado por ST, basado en STM32Cube HAL/LL, CMSIS y el compilador GNU Arm GCC. El objetivo BLUEPILL_F103C8 es compatible desde la versión 1.2.0 del core. Atención: desde la versión 2.8.0 del core, solo se admite Arduino IDE 2. También existe un core comunitario histórico (rogerclarkmelbourne/Arduino_STM32, derivado de libmaple, para Arduino IDE 1.8.x), pero para empezar en 2026, se recomienda el core oficial.

Instalación paso a paso

  1. Abrir Arduino IDE 2, ir al Gestor de tarjetas y añadir la URL: https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json.
  2. Instalar « STM32F1 boards ».
  3. Seleccionar la tarjeta Generic STM32F1 series → BluePill F103C8.

El blink, versión Blue Pill

El LED de usuario está en PC13, en modo sink: LOW = encendido. Por lo tanto, el código siguiente parpadea « al revés » que un Arduino clásico, y esto es normal:

#include <Arduino.h>

void setup {
  pinMode(PC_13, OUTPUT);
  digitalWrite(PC_13, HIGH);   // LED ÉTEINTE (câblée au VCC)
  Serial1.begin(115200);       // USART1 : PA9=TX, PA10=RX
  analogRead(PA_0);            // ADC1_IN0, 12 bits sur F103
}

void loop {
  digitalWrite(PC_13, LOW);    // LED ALLUMÉE (logique active-basse)
  delay(250);
  digitalWrite(PC_13, HIGH);   // LED ÉTEINTE
  delay(750);
  Serial1.printf("ADC PA0=%u\r\n", analogRead(PA_0));
}

Qué hace este programa

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales