🛠 Série, ADC et chasse aux contrefaçons : diagnostiquer sa Blue Pill
El puerto serie útil: USART1
En la Blue Pill, el conector micro-USB no está conectado a ningún convertidor USB-serie: Serial (USB) no existe sin una pila USB. La ruta más sencilla es USART1 en PA9 (TX) / PA10 (RX), el mismo puerto que el bootloader ROM. Un adaptador FTDI de 3,3 V conectado a él proporciona una consola gratuita a 115200 8n1. El F103 dispone de tres USART (USART1–USART3), dos SPI, dos I2C y un controlador CAN, según la tabla de pines de la variante oficial del core de Arduino.
Los ADC de 12 bits (y la ausencia de DAC)
El chip incorpora ADC1 + ADC2, dos convertidores de 12 bits (entradas PA0..PA7 entre otras), controlados desde el lado de Arduino mediante analogRead; la variante oficial menciona explícitamente «No DAC»: para una salida analógica, será necesario un PWM + filtro RC o un circuito externo (tipo MCP4725 sobre I2C). El F103 también posee un controlador DMA de 7 canales y 7 temporizadores (según lo indicado por el wiki de land-boards).
¿Es auténtico tu chip?
Wikipedia es categórica: «lamentablemente, la mayoría de las tarjetas blue pill contienen ahora un falso STM32 chino». El wiki de Greaseweazle mantiene una «Galería de falsificaciones» de las imitaciones vendidas como STM32F103C8, con firmas de fallo muy concretas:
- programación imposible a la velocidad de 921600 (pero 115200 funciona);
- imposible iniciar el firmware desde el System Bootloader;
- el I2C se niega a aceptar CR1_ACK en la misma escritura que CR1_PE;
- el DMA genera interrupciones de fin parásitas y se bloquea;
- cortar el reloj del dominio de respaldo bloquea el chip;
- algunos clones corrigen el Erratum 2.3 de los chips auténticos (lectura de los registros de depuración) — lo cual se convierte en sí mismo en un truco de detección.
El proyecto Greaseweazle proporciona un firmware de diagnóstico «Blinky» que se ejecuta en tarjetas de la clase Blue Pill y realiza la clasificación en pocos segundos.
Por qué es importante
Un clon GD32F103 legítimo (GigaDevice, línea Cortex-M3 introducida en 2013) funcionará a menudo correctamente; una falsificación marcada como ST se comportará mal en los límites (velocidades altas, DMA, dominios de configuración). Prueba cada tarjeta nueva antes de integrarla en un proyecto, y mantén 115200 como velocidad serie por defecto.
> NO VERIFICADO: los nombres de las marcas CKS32 (CKS Semiconductor) y APM32 (Geehy), a menudo citadas como componentes de las Blue Pill, no han sido confirmados en las fuentes consultadas.
Otros tutoriales para esta placa
- Découvrir la Blue Pill : que trouve-t-on dans la boîte ?
- Premier programme Arduino sur la Blue Pill (core officiel stm32duino)
- Alimenter et flasher la Blue Pill : BOOT0, port série, ST-Link et DFU
- Dompter l'USB natif de la Blue Pill : CDC, DFU et la résistance rebelle
- Passer au niveau supérieur : STM32CubeIDE, HAL et LL sur F103
- Firmware libre sur Blue Pill avec libopencm3 et OpenOCD