RP2350 (genérico / placas basadas en RP2350)

Raspberry Pi LtdMCU 8-32 bitarduino

⚡ Lo esencial en 60 segundos

El RP2350 representa la segunda generación de microcontroladores de silicio desarrollados por Raspberry Pi Ltd, sucediendo al exitoso RP2040. Anunciado en agosto de 2024, este componente no debe confundirse exclusivamente con la placa Raspberry Pi Pico 2, sino que constituye el corazón de una vasta familia de tarjetas genéricas y de terceros, incluyendo formatos como Pro Micro, XIAO, Stamp y módulos compatibles con Pico-2. Su propuesta de valor radica en una combinación inusual de bajo costo, con precios que pueden descender a menos de un dólar en grandes volúmenes, y una longevidad garantizada por el fabricante, quien asegura la disponibilidad de la placa base hasta al menos el año 2040. Esta estabilidad a largo plazo lo convierte en una opción atractiva para proyectos industriales y educativos que requieren soporte sostenido.

La arquitectura del RP2350 es su característica más distintiva y compleja, ofreciendo una dualidad de núcleos de procesamiento que permite al desarrollador elegir entre dos mundos tecnológicos distintos. El chip integra dos núcleos que pueden configurarse para funcionar como procesadores Arm Cortex-M33, basados en la arquitectura Armv8-M con soporte para TrustZone-M y unidades de punto flotante, o alternativamente como núcleos RISC-V denominados Hazard3. Es crucial entender que ambos conjuntos de núcleos no funcionan simultáneamente en paralelo; el sistema permite cambiar la arquitectura activa mediante el registro ARCHSEL y un reinicio del núcleo, pero en cualquier instante dado, el par de núcleos opera bajo un único conjunto de instrucciones. Esta flexibilidad permite a los usuarios aprovechar el ecosistema maduro de Arm o explorar la eficiencia y apertura del conjunto de instrucciones RISC-V, todo operando a una frecuencia nominal de 150 MHz. Cabe destacar que, aunque los núcleos son más potentes, esta frecuencia es inferior a los 200 MHz del anterior RP2040, por lo que los portados de código no deben asumir una equivalencia directa en ciclos de reloj.

En cuanto a la memoria, el RP2350 no posee memoria flash interna para el almacenamiento del programa, dependiendo de memoria flash externa QSPI que puede alcanzar hasta 16 MB, con la posibilidad de añadir un segundo chip de 16 MB adicionales. Esto se complementa con 520 KB de memoria SRAM, organizada en diez bancos independientes accesibles en un solo ciclo, lo que duplica la capacidad del modelo anterior y mejora el rendimiento en tareas intensivas en datos. Además, incluye 8 KB de memoria de una sola escritura (OTP) para almacenar claves de seguridad o configuraciones únicas. La gestión de energía es sofisticada, integrando un regulador de modo conmutado (SMPS) para eficiencia y un LDO de bajo consumo para mantener el estado en modo sueño, operando en un rango de temperatura industrial de -40 a 85 grados Celsius.

La conectividad y los periféricos reflejan un enfoque en la flexibilidad de entrada/salida. El chip no incluye radio WiFi o Bluetooth integrados; las versiones con "W" en su nombre, como la Pico 2 W, añaden estas funciones mediante un chip de radio compañero externo. En su lugar, el RP2350 ofrece un controlador USB 2.0 de velocidad completa que puede actuar como dispositivo o anfitrión. Los pines de entrada/salida (GPIO) varían según el paquete: 30 pines para la variante RP2350A y 48 para la RP2350B, operando a voltajes de 1.8 a 3.3 V. Una mejora significativa respecto a su predecesor es la inclusión de tres bloques de periféricos PIO (Programmable I/O), con un total de doce máquinas de estado. Los PIO son pequeños procesadores especializados que permiten crear protocolos de comunicación personalizados o generar señales precisas sin intervenir la CPU principal, liberando recursos para otras tareas. También se incorpora un transmisor serie de alta velocidad HSTX, útil para salidas de video digital o datos de alta tasa.

El aspecto de seguridad es notablemente robusto para un microcontrolador de este precio. El soporte para Arm TrustZone-M se extiende a todos los periféricos, permitiendo asignar pines, canales DMA y recursos a dominios seguros o no seguros. Incluye aceleradores de hardware para SHA-256, un generador de números aleatorios verdaderos y mecanismos de arranque seguro con verificación de firma digital y protección contra retrocesos de versión. Sin embargo, es importante notar una limitación técnica: habilitar el arranque seguro fuerza el uso de los núcleos Arm Cortex-M33, deshabilitando la opción de ejecutar código en los núcleos RISC-V durante ese proceso de arranque.

El ecosistema de software es amplio y diverso. El SDK oficial de C/C++ de Raspberry Pi soporta plenamente el RP2350, aunque las placas genéricas requieren que el desarrollador proporcione un archivo de encabezado de placa personalizado si no está incluido en la versión estándar del SDK. Alternativamente, el núcleo Arduino-Pico de la comunidad ofrece soporte para todas las variantes, incluyendo una entrada "Generic RP2350" que simplifica el desarrollo para placas no oficiales. MicroPython y CircuitPython también tienen puertos oficiales que permiten el desarrollo rápido mediante arrastrar y soltar archivos en modo BOOTSEL. Para lenguajes de sistemas más modernos, existen crates de Rust como rp235x-hal y el framework asíncrono Embassy, que aprovechan las capacidades de concurrencia del hardware.

No obstante, los usuarios deben estar conscientes de ciertas erratas históricas. Las primeras revisiones de silicio, conocidas como stepping A2, presentaban un problema de fuga de corriente en los pines de entrada del Banco 0, que podía causar comportamientos erráticos en entradas flotantes. Este defecto fue corregido en las revisiones A3 y A4, lanzadas en julio de 2025. Por ello, al adquirir nuevos chips o placas, es recomendable verificar la revisión del silicio para evitar estos problemas de hardware. Asimismo, se han documentado vulnerabilidades de seguridad que fueron explotadas en desafíos de hacking mediante inyección de fallos láser, lo que llevó a Raspberry Pi a lanzar mitigaciones de firmware en las revisiones posteriores. En resumen, el RP2350 es una plataforma poderosa y versátil que equilibra rendimiento, seguridad y costo, ideal para aplicaciones que requieren personalización profunda de periféricos y una larga vida útil de producto.

Foro (1 tema) →

AttrEspecificacionesverificado
mcu_cpudual-core, selectable architecture: two Arm Cortex-M33 (Armv8-M, Security/TrustZone-M, DSP, single-precision FPU + double-precision coprocessor) or two Hazard3 RISC-V cores (RV32IMAC). Only one architecture runs at a time per core pair; cores can be swapped live via the ARCHSEL register plus core reset (datasheet §1.1, §3; also Clock: 150 MHz nominal.✔
gpunone (no display engine; HSTX is a digital serial transmitter, see below).? sin verificar
ram520 KB SRAM in 10 independently accessible banks, single-cycle access (datasheet §1.1).? sin verificar
storageno internal flash. 8 KB one-time-programmable (OTP) memory. External QSPI flash/PSRAM up to 16 MB with execute-in-place (XIP) + optional second chip select for another 16 MB. RP2354 adds 2 MB in-package flash.? sin verificar
connectivityno WiFi/Bluetooth on-chip. 1× USB controller: USB 2.0 Full-Speed device (12 Mb/s), Full/Low-Speed host (integrated USB 1.1 PHY) (datasheet §12 USB). Wireless on "W" boards (e.g. Pico 2 W) comes from an add-on radio companion chip.? sin verificar
gpio_peripherals- 30 GPIO (RP2350A) or 48 GPIO (RP2350B); IO voltage IOVDD 1.8–3.3 V (datasheet §1.2 pin description tables). - ADC: 12-bit SAR, 500 kSPS, 4 channels (A) / 8 channels (B) + internal temperature channel (datasheet; No DAC. - PWM: 8 (A) / 12 (B) dual-channel slices = 16/24 channels ( - 2× UART, 2× SPI, 2× I²C, 1× QSPI (XIP), 1× HSTX high-speed serial transmitter (output-only, 8 pins, DDR — Wikipedia cites 300 Mb/s per pin). - PIO: 3 blocks, 12 state machines total (vs 2 blocks / 8 SMs on RP2040), with 2 dedicated IRQs per block (PIO0/1/2_IRQ_0/1) vs one shared pair on RP2040 (datasheet §3.2 interrupt table, p.81–82). - DMA: 16 channels, 4 IRQ outputs (datasheet interrupt table DMA_IRQ_0–3; comparison table in - Interrupts: 52 IRQ inputs per core, all routed to both cores (datasheet §3.2).✔
poweron-chip SMPS (buck, up to 200 mA, VOUT 0.55–3.3 V, nominal 1.1 V core) + low-quiescent LDO mode (up to 1 mA for state retention in sleep); VREG_VIN 2.7–5.5 V; USB_OTP_VDD and ADC_AVDD 3.3 V (datasheet §1.1, §6.3, §14.9.6).? sin verificar
temperatureambient operating range −40 to 85 °C (datasheet §14.9.3, Table 1682); regulator over-temperature shutdown, junction threshold configurable 100–150 °C (datasheet §6.3.6).? sin verificar
process_package40 nm ( 5.3×5.3 mm die in QFN-60EP or QFN-80EP, 0.4 mm pitch (Wikipedia).✔
rp2040_relationshipthe RP2350 is software-compatible with the RP2040 (same SDK family, PIO heritage) per At board level, Pico-2-format boards keep the original Pico's 40-pin, 51×21 mm, 0.1″-castellation format (Pico 2 Datasheet, mechanical spec). The chip package itself (QFN-60/80) is not pin-identical to RP2040's QFN-56 — compatibility is at SDK/board level, not silicon footprint.✔
  • Fabricante: Raspberry Pi Ltd (Reino Unido). El RP2350 es el segundo microcontrolador de silicio de Raspberry Pi, después del RP2040. Esta ficha cubre el chip en sí y las muchas placas "generic RP2350" de terceros construidas alrededor de él (módulos compatibles con Pico-2, Pro Micro, XIAO, Stamp, etc.), no específicamente la placa Raspberry Pi Pico 2.
  • Anunciado: 8 de agosto de 2024, lanzado con la Raspberry Pi Pico 2 a 5 US$; el chip RP2350 en sí cuesta desde 0,80 US$ a volumen ( consultado el 2026-10-13).
  • Estado: Activo. Raspberry Pi garantiza la disponibilidad de la placa Pico 2 al menos hasta enero de 2040 (Raspberry Pi Pico 2 Datasheet, "Availability", consultado el 2026-10-13).
  • Variantes (chip): RP2350A (30 GPIO, QFN-60 7×7 mm), RP2350B (48 GPIO, QFN-80 10×10 mm), RP2354A/RP2354B — mismos encapsulados con flash NOR QSPI de 2 MB apilada dentro del encapsulado sobre la matriz ( RP2350 Datasheet §1.1, Revisiones de silicio A2 → A3 → A4 (A4 identificada por CHIP_ID.REVISION = 0x3; datasheet Apéndice C, consultado el 2026-10-13).
  • Formatos de placa comunes que lo usan: Raspberry Pi Pico 2 / Pico 2 W; SparkFun Pro Micro RP2350 & Thing Plus RP2350; Seeed XIAO RP2350; Solder Party RP2350 Stamp (XL); Waveshare RP2350 Core/Zero/Plus/PiZero; Pimoroni PicoPlus2 / Tiny2350 / Plasma2350; Adafruit Metro RP2350 / Feather RP2350; Olimex Pico2XL/XXL; entradas "Generic RP2350" en el core Arduino-Pico ( consultado el 2026-10-13).

+ Puntos fuertes

  • Arquitectura de CPU seleccionable en tiempo de ejecución: doble Cortex-M33 o doble Hazard3 RISC-V a 150 MHz, conmutables sin cortar la alimentación (ARCHSEL + reset del núcleo) — único en este rango de precio (datasheet §1.1; Wikipedia).
  • Pila de seguridad inusual para silicio de 1 $: Arm TrustZone-M extendido a todo el sistema — periféricos, GPIO y canales DMA asignables individualmente a dominios Secure/Non-secure; 8 regiones SAU + 8+8 regiones MPU por núcleo; secure boot (SHA-256 + ECDSA secp256k1, huella de clave pública OTP, antirretroceso); claves de arranque cifradas en OTP; acelerador hardware SHA-256; TRNG (bloque IP de Arm); coprocesador de redundancia (RCP) y detector de glitch como mitigaciones de inyección de fallos (datasheet §10, §3.6.3, §12.12–12.13).
  • Triple PIO: 3 bloques PIO / 12 SMs con IRQ por bloque, más HSTX para salida digital de alta velocidad tipo vídeo — filosofía compatible con RP2040, potencia de E/S duplicada (datasheet §1.1, §3.2).
  • 520 KB de RAM en 10 bancos (2× el RP2040), 8 KB de OTP, QSPI direccionable 16+16 MB.
  • Económico y de larga vida: desde 0,80 $ a volumen; disponibilidad de placas garantizada hasta 2040 (Wikipedia; Pico 2 Datasheet).
  • Amplio soporte de lenguajes: C/C++, MicroPython, CircuitPython, Arduino, Rust (embassy/rp-hal), Free Pascal, ensamblador (Wikipedia; READMEs del ecosistema más arriba).

− Puntos débiles

  • RP2350-E9 — Fuga de entrada GPIO del Banco 0 (el grande). Chips tempranos (stepping A2): los pines configurados como entrada suministran ~120 µA cuando la entrada se sitúa entre niveles lógicos, y las entradas flotantes suben hacia ~2,2 V; documentado originalmente como errata "latching pull-down", reclasificado como "increased leakage current on Bank 0 GPIO when pad input is enabled". Reportado por usuarios, incluidos los desarrolladores de Bus Pirate. Corregido en los steppings A3/A4 anunciados en julio de 2025. Referencias: ; ;
  • RP2350-E3 (solo QFN-60): GPIO_NSMASK0 aplica los permisos Non-secure de PADS a los pads equivocados porque la asignación del registro ignora el remapeo de pads del QFN-60 — afecta al uso de TrustZone de los registros PADS en el RP2350A (datasheet Apéndice D.1.1).
  • Erratas del bootrom corregidas en steppings posteriores: E13 (bloques IMAGE_DEF inválidos arrancan), E14 (connect_internal_flash ignora el pin CS1), E15 (permisos de las páginas OTP 62/63), E18 (un patrón ECC erróneo en el campo de partición OTP inutiliza el arranque), E22–E23, E25 — ver datasheet Apéndices C/D (changelists del bootrom A3/A4).
  • Hallazgos de inyección de fallos del reto de hacking de DEF CON 32: el reto de lectura OTP de $10k→$20k fue ganado en enero de 2025 (4 ganadores) mediante inyección de fallos por láser sobre el secure boot y lectura OTP por haz de iones focalizados; Raspberry Pi envió las mitigaciones como erratas E20/E21/E24/E26 (cambios de bootrom en A3/A4). ; datasheet Apéndices C.2–C.3.
  • El secure boot deshabilita RISC-V: la aplicación de firmas reside en la ruta de arranque del Cortex-M33, así que activar SB fuerza los núcleos Arm (Wikipedia, citando la datasheet §10).
  • Las placas genéricas necesitan un encabezado de placa SDK personalizado: el master de pico-sdk incluye los encabezados pico2/pico2_w pero ningún encabezado "generic RP2350"; las placas de terceros o bien incluyen un encabezado (el core Arduino sí lo hace) o hay que escribir uno (
  • 150 MHz frente a los 200 MHz del RP2040: el reloj del RP2350 es más bajo que los 200 MHz del RP2040 a pesar de los núcleos más rápidos — no dé por sentada la portabilidad del conteo de ciclos al migrar código RP2040 (Wikipedia, tabla comparativa).
  • Retour d'expérience expert expert — expert-microcontroleur
    • Retour d'experience sur les cartes generiques RP2350. Le selcteur d'architecture entre Cortex-M33 et Hazard3 RISC-V a 150 MHz est reellement utile et fonctionne sans réinitialisation materielle. Par contre attention aux steppings. Les puces A2 souffrent de l'errata RP2350-E9 sur la fuite en entrée … — expert-microcontroleur
    • Salut, je confirme pour le E9 sur mon Stamp RP2350. J'ai passe des heures a diagnostiquer pourquoi mes entrées analogiques etaient faussees par les numériques voisines. En mettant des résistances de pull-down externes sur chaque ligne sensible, j'ai stabilise la lecture, mais ça consomme de la plac… — maker-bidouilleur-42
    • Interessante remarque sur le E9. Pour ma part, j'utilise surtout le mode RISC-V Hazard3 pour des taches de calcul vectoriel et la bascule dynamique est fluide. Par contre, je n'ai pas rencontre le E3 sur mes cartes Pico-compatible, mais je suppose que ce n'est pas du QFN-60 ? Si tu as un module Pro… — dev-embedded-riscv

Opiniones y proyectos de la comunidad

  • Official pico-examples

    pico-examples oficiales — demos blinky, hello_world, PIO, HSTX que se compilan (unverified au 2026-10-13) — interno alojado en sitio interno, estado en vivo verificado el 2026-10-13. Proyecto documentado en la ficha rp2350-generic (MCU 8-32 bit); rol: profund…

Contenido no disponible todavía.

  • RP2350-E9 — Fuga de entrada GPIO del Banco 0 (el grande). Chips tempranos (stepping A2): los pines configurados como entrada suministran ~120 µA cuando la entrada se sitúa entre niveles lógicos, y las entradas flotantes suben hacia ~2,2 V; documentado originalmente como errata "latching pull-down", reclasificado como "increased leakage current on Bank 0 GPIO when pad input is enabled". Reportado por usuarios, incluidos los desarrolladores de Bus Pirate. Corregido en los steppings A3/A4 anunciados en julio de 2025. Referencias: ; ;
  • RP2350-E3 (solo QFN-60): GPIO_NSMASK0 aplica los permisos Non-secure de PADS a los pads equivocados porque la asignación del registro ignora el remapeo de pads del QFN-60 — afecta al uso de TrustZone de los registros PADS en el RP2350A (datasheet Apéndice D.1.1).
  • Erratas del bootrom corregidas en steppings posteriores: E13 (bloques IMAGE_DEF inválidos arrancan), E14 (connect_internal_flash ignora el pin CS1), E15 (permisos de las páginas OTP 62/63), E18 (un patrón ECC erróneo en el campo de partición OTP inutiliza el arranque), E22–E23, E25 — ver datasheet Apéndices C/D (changelists del bootrom A3/A4).
  • Hallazgos de inyección de fallos del reto de hacking de DEF CON 32: el reto de lectura OTP de $10k→$20k fue ganado en enero de 2025 (4 ganadores) mediante inyección de fallos por láser sobre el secure boot y lectura OTP por haz de iones focalizados; Raspberry Pi envió las mitigaciones como erratas E20/E21/E24/E26 (cambios de bootrom en A3/A4). ; datasheet Apéndices C.2–C.3.
  • El secure boot deshabilita RISC-V: la aplicación de firmas reside en la ruta de arranque del Cortex-M33, así que activar SB fuerza los núcleos Arm (Wikipedia, citando la datasheet §10).
  • Las placas genéricas necesitan un encabezado de placa SDK personalizado: el master de pico-sdk incluye los encabezados pico2/pico2_w pero ningún encabezado "generic RP2350"; las placas de terceros o bien incluyen un encabezado (el core Arduino sí lo hace) o hay que escribir uno (
  • 150 MHz frente a los 200 MHz del RP2040: el reloj del RP2350 es más bajo que los 200 MHz del RP2040 a pesar de los núcleos más rápidos — no dé por sentada la portabilidad del conteo de ciclos al migrar código RP2040 (Wikipedia, tabla comparativa).

Biblioteca de código — ejemplos escritos para esta placa

  • clignotante.py Python

    El primer programa MicroPython: el LED parpadea una vez por segundo con seguimiento en la consola serie. Muestra Pin como salida, value() y time.sleep, la base de todo script embebido en la placa.

  • bouton-interruption.py Python

    El botón cableado a GP15 alterna el LED mediante una interrupción hardware (irq): no se pierde ningún ciclo de CPU escrutando el pin. Un filtro de 50 ms dentro del handler elimina los rebotes mecánic…

  • pwm-servo.py Python

    El servo de ángulo barre de 0 a 180° y vuelve, controlado por PWM a 50 Hz con machine.PWM. La función angle() convierte los grados en un impulso de 0,5 a 2,5 ms mediante duty_u16, la técnica estándar…

  • lecture-adc.py Python

    Dos medidas analógicas de 12 bits en un solo script: una tensión externa en GP26 (ADC0) y el sensor térmico integrado del chip convertido a grados con los parámetros de la ficha técnica. Ideal para v…

  • neopixel.py Python

    Una cabeza blanca seguida de una estela roja recorre una tira de 12 NeoPixel (WS2812B), controlada nativamente por MicroPython con machine.NeoPixel. Cada LED recibe su color en una trama única enviad…

  • oled-i2c.py Python

    Una pantalla OLED SSD1306 de 0,96" (128x64) conectada por I2C muestra texto y un contador. El script primero escanea el bus para confirmar la presencia del módulo y luego usa el driver ssd1306.py inc…

  • capteur-dht.py Python

    El módulo dht incluido en MicroPython controla sensores DHT11/DHT22 en cualquier pin. El script mide cada 2 s (cadencia mínima del sensor), captura errores de trama e imprime temperatura y humedad.

  • journalisation.py Python

    MicroPython expone la flash interna como sistema de archivos: este script escribe allí un CSV de temperatura cada 5 s, en modo append para no sobrescribir nunca los datos. El archivo se recupera lueg…

  • uart-commandes.py Python

    Un mini servidor de órdenes en UART0 (GP0/GP1): los módulos serie clásicos (GPS, módem celular, otro microcontrolador) pueden alternar el LED, leer la temperatura o consultar la placa con líneas de t…

  • taches-cooperatives.py Python

    Tres tareas periódicas (LED 2 Hz, pitido 1 Hz, medida cada 5 s) se ejecutan en un mini planificador cooperativo de 15 líneas. Este patrón sustituye a los delay() anidados en cuanto un proyecto anima …

Ejemplos y repositorios encontrados en línea