Hardware DesignJLCPCB ReadyComplete BOM

Diseño de Circuito Mínimo RP2040: Construye Tu Propia Placa Personalizada (2025)

Guía completa para diseñar un circuito RP2040 mínimo. Cubre fuente de alimentación, oscilador de cristal, flash QSPI, USB-C, modo de arranque, desacople y diseño PCB con números de parte JLCPCB.

By Schemalyzer Team35 min read
Diseño de Circuito Mínimo RP2040 - Guía completa de diseño de hardware

Introducción

El RP2040 es el primer silicio de Raspberry Pi, y se ha vuelto increíblemente popular para proyectos de hardware personalizados. Mientras que la placa Raspberry Pi Pico es excelente para prototipado, muchos proyectos requieren factores de forma personalizados, diferentes configuraciones de I/O, o diseños optimizados en costo para producción.

Esta guía proporciona todo lo que necesitas para diseñar tu propia placa basada en RP2040 desde cero. Cubriremos el circuito mínimo requerido, explicaremos cada decisión de diseño, y proporcionaremos números de parte listos para JLCPCB para que puedas ir del esquemático a la placa ensamblada rápidamente.

Prerrequisitos: Esta guía asume familiaridad básica con herramientas de diseño de PCB (EasyEDA, KiCad o Altium) y conceptos fundamentales de electrónica como desacoplo y ruteo de señales.

¿Por qué diseñar con el RP2040?

Ventajas

  • +Dual ARM Cortex-M0+ núcleos @ 133MHz
  • +264KB SRAM (más que la mayoría de chips Cortex-M0)
  • +Máquinas de estado I/O programables (PIO)
  • +Programación UF2 arrastrar y soltar via USB
  • +Bajo costo (~$0.70-1.00 en volumen)
  • +Excelente documentación de Raspberry Pi

Consideraciones

  • !Sin flash interno - requiere QSPI externo
  • !Encapsulado QFN-56 requiere soldadura cuidadosa
  • !Solo bootloader USB (sin boot UART)
  • !Único pad GND bajo el chip - crítico soldar
  • !ADC de 12-bit (sin DAC, 4 canales)

Requisitos Mínimos del Circuito

A diferencia de muchos microcontroladores que pueden funcionar solo con alimentación y algunos capacitores, el RP2040 tiene requisitos específicos para un sistema funcional:

Componentes Requeridos

Esenciales

  • 1x Microcontrolador RP2040
  • 1x Flash QSPI externo (2MB-16MB)
  • 1x Cristal 12MHz + 2 capacitores de carga
  • 1x Regulador de voltaje 3.3V
  • 11x Capacitores de desacoplo 100nF
  • 2x Capacitores 1µF (VREG entrada/salida)

Para Programación USB

  • 1x Conector USB (Tipo-C recomendado)
  • 2x Resistores serie USB 27Ω
  • 2x Resistores CC 5.1kΩ (USB-C)
  • 1x Botón BOOTSEL
  • 1x Resistor BOOTSEL 1kΩ
  • 1x Protección ESD (recomendado)

Diagrama de Bloques del Sistema

Antes de profundizar en cada subsistema, aquí está cómo se conectan todas las piezas:

Diagrama de bloques del circuito mínimo RP2040 mostrando conexiones de alimentación, USB, flash y cristal

Diseño de Fuente de Alimentación

Visión General de la Arquitectura de Alimentación

El RP2040 requiere dos rieles de voltaje para operar:

  • IOVDD (3.3V) - Alimenta todos los I/O, USB PHY y periféricos
  • DVDD (1.1V) - Alimenta el núcleo digital (núcleos ARM, SRAM)

El RP2040 incluye un regulador lineal interno que genera 1.1V desde la alimentación de 3.3V. Esto simplifica el diseño de alimentación externa - solo necesitas proporcionar 3.3V.

Regulador Interno de 1.1V

El regulador interno requiere:

  • VREG_VIN - Conectar a 3.3V con capacitor 1µF
  • VREG_VOUT - Conectar a todos los pines DVDD con capacitor 1µF

Aplicaciones de Batería: El LDO interno es eficiente cuando el núcleo está dormido, pero para aplicaciones de batería con alta carga de trabajo, considera una fuente conmutada externa de 1.1V para mejor eficiencia.

Opciones de Alimentación Externa 3.3V

Para diseños alimentados por USB, necesitas convertir 5V USB a 3.3V:

ReguladorTipoCorrienteJLCPCBNotas
XC6206P332MRLDO200mAC5446Recomendado - Basic Part
AP2112K-3.3LDO600mAC51118Elección popular (SparkFun, Adafruit)
ME6211C33LDO500mAC82942Bajo dropout (100mV @ 500mA)

Evitar AMS1117: A pesar de su popularidad, el AMS1117 tiene alta corriente de reposo (~5mA), requiere capacitores grandes, y tiene bajo rendimiento con poca carga. Usa XC6206 o AP2112K en su lugar.

Capacitores de Desacoplo

El desacoplo adecuado es crítico para la estabilidad del RP2040. El chip tiene múltiples pines de alimentación que cada uno necesita su propio capacitor:

PinesCantidadValorPropósito
IOVDD (pines 1,10,22,33,42,49)6x100nFDesacoplo de alimentación I/O
DVDD (pines 23, 50)2x100nFDesacoplo de alimentación núcleo
USB_VDD (pin 48)1x100nFAlimentación USB PHY
ADC_AVDD (pin 43)1x100nFReferencia ADC
VREG_VIN (pin 44)1x1µFEntrada regulador
VREG_VOUT (pin 45)1x1µFSalida regulador

Layout Crítico: El RP2040 solo tiene una conexión de tierra - el pad grande en el centro del chip. Todos los capacitores de desacoplo deben tener el bucle más corto posible desde capacitor → pin de alimentación → a través del chip → pad GND central → de vuelta al capacitor. Usa vías directamente debajo de los capacitores al plano de tierra.

Oscilador de Cristal

Aunque el RP2040 tiene un oscilador interno, se requiere un cristal externo de 12MHz para timing USB preciso y operación estable.

Selección del Cristal

El cristal debe cumplir estas especificaciones:

  • Frecuencia: 12.000 MHz
  • Capacitancia de Carga: Típicamente 10-20pF
  • ESR: <100Ω recomendado
  • Tolerancia de Frecuencia: ±30ppm o mejor

Cristal Recomendado

Parte JLCPCB: C9002

12MHz, encapsulado 3225 (3.2mm × 2.5mm), capacitancia de carga 20pF, ±10ppm. Este es un JLCPCB Basic Part, manteniendo los costos de ensamblaje bajos.

Cálculo de Capacitores de Carga

Los capacitores de carga (CL1 y CL2) deben calcularse basándose en la capacitancia de carga especificada del cristal y la capacitancia parásita del PCB:

Fórmula de Capacitor de Carga
C_carga = (CL1 × CL2) / (CL1 + CL2) + C_parásita

Para capacitores iguales (CL1 = CL2 = C):
C = 2 × (C_carga - C_parásita)

Ejemplo con capacitancia de carga 20pF y 3pF parásita:
C = 2 × (20pF - 3pF) = 34pF

Valores estándar más cercanos: 33pF o 27pF

Guías de Layout del Cristal

  • Coloca el cristal lo más cerca posible de los pines XIN/XOUT (pines 20/21)
  • Mantén los capacitores de carga inmediatamente adyacentes a los pads del cristal
  • Rutea las pistas XIN/XOUT lejos de señales de alta velocidad (especialmente QSPI)
  • Considera un anillo de guarda de tierra alrededor del cristal para inmunidad al ruido
  • Mantén el cristal en el lado opuesto del chip al flash QSPI

Memoria Flash QSPI

El RP2040 no tiene memoria flash interna - todo el código del programa se ejecuta desde un chip flash QSPI externo. Este es un componente crítico que debe elegirse y conectarse cuidadosamente.

Selección del Chip Flash

El bootloader del RP2040 está optimizado para flash Winbond serie W25Q. Aunque otros chips pueden funcionar, Winbond es la opción más segura:

Número de ParteTamañoEncapsuladoJLCPCBNotas
W25Q16JVSNIQ2MBSOIC-8C131024Mínimo recomendado
W25Q32JVSSIQ4MBSOIC-8C179171Bueno para proyectos más grandes
W25Q128JVSIQ16MBSOIC-8C97521Máximo soportado

Advertencia: Macronix y algunos otros chips flash no funcionan como reemplazos directos. Usa la serie Winbond W25Q para compatibilidad garantizada.

Conexiones del Flash

Pin FlashPin RP2040Función
1 (/CS)QSPI_SS (pin 57)Selección de Chip
2 (DO/IO1)QSPI_SD1 (pin 53)Data Out / IO1
3 (/WP/IO2)QSPI_SD2 (pin 54)Protección Escritura / IO2
4 (GND)GNDTierra
5 (DI/IO0)QSPI_SD0 (pin 52)Data In / IO0
6 (CLK)QSPI_SCLK (pin 56)Reloj
7 (/HOLD/IO3)QSPI_SD3 (pin 55)Hold / IO3
8 (VCC)3.3VAlimentación (con cap 100nF)

Pull-up QSPI_SS: Agrega un resistor pull-up de 10kΩ desde QSPI_SS a 3.3V. Esto asegura que el chip-select del flash esté alto durante el encendido, evitando que el flash entre en un estado indefinido.

Guías de Layout del Flash

  • Coloca el flash lo más cerca posible de los pines QSPI del RP2040
  • Longitud máxima de pista: 20mm (más corto es mejor)
  • Ancho de pista recomendado: 0.15mm (6 mil)
  • Mantén la pista de reloj como la más larga entre todas las señales QSPI
  • Agrega capacitor de desacoplo 100nF directamente en el pin VCC del flash
  • Mantén plano de tierra sólido bajo el flash y las pistas

Interfaz USB

USB es la interfaz de programación principal para el RP2040, permitiendo la conveniente carga de firmware UF2 arrastrando y soltando.

Diseño del Conector USB-C

Para diseños modernos, USB-C se recomienda sobre Micro-USB debido a su reversibilidad y durabilidad. Conexiones clave:

Pin USB-CConexiónNotas
VBUS (A4, B4, A9, B9)Entrada 5VAl regulador de voltaje
D+ (A6, B6)RP2040 USB_DP via 27ΩUnir A6 y B6
D- (A7, B7)RP2040 USB_DM via 27ΩUnir A7 y B7
CC1 (A5)5.1kΩ a GNDDetección de dispositivo
CC2 (B5)5.1kΩ a GNDDetección de dispositivo
GND (A1, A12, B1, B12)TierraConectar todos los pines GND

Crítico: Tanto CC1 como CC2 deben tener resistores de 5.1kΩseparados a tierra. Nunca unas CC1 y CC2 - esto viola la especificación USB-C y causa problemas de detección. (Este fue el bug de lanzamiento del Raspberry Pi 4B.)

Protección ESD

Aunque no es estrictamente requerido, la protección ESD en las líneas USB es altamente recomendada para cualquier producto que será manejado por usuarios:

Protección ESD Recomendada

USBLC6-2SC6: Array de diodos TVS para líneas D+/D-

Parte JLCPCB: C7519

Protege contra descarga de contacto ±15kV y descarga de aire ±8kV. Baja capacitancia (0.5pF típ.) preserva la integridad de la señal.

Layout de Pistas USB

USB es una señal diferencial que requiere impedancia controlada:

  • Impedancia objetivo: 90Ω diferencial
  • Ancho de pista: 0.8mm (para espesor de placa 1.6mm)
  • Espaciado de pistas: 0.15mm entre D+ y D-
  • Resistores serie 27Ω: Colocar cerca de los pines del RP2040
  • Igualación de longitud: Mantener D+ y D- de igual longitud

Circuito de Modo Boot

El RP2040 usa un bootloader basado en ROM que verifica la condición BOOTSEL al encender. Entender la secuencia de boot es esencial para diseñar una interfaz de programación confiable.

Diseño del Botón BOOTSEL

La función BOOTSEL usa el pin QSPI_SS. Cuando QSPI_SS se mantiene bajo durante el reset, el RP2040 entra en modo de almacenamiento masivo USB para carga de firmware:

Circuito BOOTSEL
QSPI_SS (pin 57)
    |
    +--- Pull-up 10kΩ a 3.3V (opcional pero recomendado)
    |
    +--- Resistor serie 1kΩ --- Botón BOOTSEL --- GND

Secuencia de Boot:
1. Presionar y mantener botón BOOTSEL
2. Aplicar alimentación (o presionar RESET mientras se mantiene BOOTSEL)
3. RP2040 ve QSPI_SS bajo → entra en modo boot USB
4. Soltar botón
5. Arrastrar archivo UF2 a la unidad USB

¿Por qué el resistor de 1kΩ? El resistor en serie limita la corriente cuando el pin QSPI_SS está siendo usado como salida durante operación normal. Sin él, presionar el botón durante operación cortocircuitaría la salida a tierra.

Circuito de Reset

El pin RUN (pin 26) es la entrada de reset del RP2040 (activo-bajo):

Circuito de Reset
RUN (pin 26)
    |
    +--- Pull-up 10kΩ a 3.3V
    |
    +--- Capacitor 100nF a GND (anti-rebote/filtro)
    |
    +--- Botón RESET --- GND

Uso típico:
1. Encendido: RUN se lleva a alto, chip inicia
2. Presionar RESET: RUN se lleva a bajo, chip se resetea
3. Soltar: RUN regresa a alto, chip reinicia
4. Para modo BOOTSEL: Mantener BOOTSEL, presionar RESET

Breakout de GPIO

El RP2040 proporciona 30 pines GPIO con mapeo de periféricos flexible. Para un diseño mínimo, considera cuáles GPIOs exponer:

GPIOPinFunciones Comunes
GPIO0-12, 3UART0 TX/RX, I2C0, SPI0
GPIO2-54-7SPI0, I2C1, PWM
GPIO6-98-11SPI0, I2C0/1, PWM
GPIO10-1312-15SPI1, I2C0/1, PWM
GPIO14-1716-19SPI1, I2C0/1, PWM
GPIO18-2124-27SPI0, I2C0/1, PWM
GPIO22-2529-32PWM, PIO, LED (GPIO25 en Pico)
GPIO26-2934-37ADC0-3, PWM

Consejo: Reserva GPIO0/GPIO1 para debugging UART - son los pines UART0 predeterminados y extremadamente útiles para salida serial durante el desarrollo.

Guías de Layout de PCB

Stackup de Capas

El diseño mínimo oficial usa una placa de 2 capas, pero se recomienda 4 capas para mejor rendimiento y ruteo más fácil:

2 Capas (Económico)

  • Capa 1: Señales + componentes
  • Capa 2: Plano de tierra + ruteo de alimentación
  • Desafío: Distribución de alimentación bajo RP2040
  • Rutear 1.1V y 3.3V en espacio restante

4 Capas (Recomendado)

  • Capa 1: Señales + componentes
  • Capa 2: Plano GND sólido
  • Capa 3: Plano de alimentación 3.3V
  • Capa 4: Señales + ruteo 1.1V
  • Mejor desacoplo y rendimiento EMI

Estrategia de Plano de Tierra

El pad central de tierra del RP2040 es la única conexión de tierrapara todo el chip. Esto hace crítico el diseño del plano de tierra:

  • Usa mínimo 9 vías bajo el pad de tierra para conexión térmica y eléctrica
  • Crea plano de tierra sólido directamente bajo el RP2040
  • Conecta todas las tierras de capacitores de desacoplo a este plano con vías
  • Mantén tierra continua bajo las pistas QSPI
  • Usa vías de costura de tierra alrededor del perímetro

Ruteo de Señales Críticas

Grupo de SeñalesLongitud MáxAncho PistaNotas
QSPI (flash)20mm0.15mmCLK más larga, GND sólido debajo
USB D+/D-50mm0.8mmPar diferencial, 0.15mm espaciado
Cristal XIN/XOUT5mm0.2mmMantener lejos de QSPI
Alimentación (3.3V, 1.1V)-0.3mm+Cortas a caps de desacoplo

Lista de Materiales

JLCPCB Basic Parts

Usar JLCPCB Basic Parts minimiza las tarifas de ensamblaje ($3 por tipo de parte Extended). Aquí están las partes básicas donde sea posible:

BOM Completo

RefValorEncapsuladoParte JLCPCBTipo
Componentes Principales
U1RP2040QFN-56C2040Extended
U2W25Q16JVSNIQSOIC-8C131024Extended
U3XC6206P332MRSOT-23C5446Basic
Y112MHz3225C9002Basic
Capacitores
C1-C10100nF0402C1525Basic
C11-C121µF0402C52923Basic
C13-C1427pF0402C1557Basic
Resistores
R1-R227Ω0402C25100Basic
R3-R45.1kΩ0402C25905Basic
R5-R610kΩ0402C25744Basic
R71kΩ0402C11702Basic
Conectores y Botones
J1USB-C16-pinC2765186Extended
SW1-SW2Botón3x6mmC318884Basic

Costo estimado: ~$2-3 por placa para componentes (mínimo 5 placas), más ~$5 tarifa de ensamblaje + ~$3 por tipo de parte extended.

Errores Comunes a Evitar

1. Mala Conexión del Pad de Tierra

El pad central es la ÚNICA conexión de tierra. Si no se suelda correctamente con suficientes conexiones de vías, nada funciona. Usa soldadura reflow o aire caliente para asegurar conexión correcta.

2. Chip Flash Incorrecto

Usar chips flash que no son Winbond frecuentemente causa fallas de boot. Quédate con la serie W25Q. Si usas un chip diferente, asegúrate de que soporte exactamente el mismo conjunto de comandos y timing de encendido.

3. Pull-up QSPI_SS Faltante

Durante el encendido, QSPI_SS puede flotar brevemente. Sin un pull-up, el chip flash puede entrar en un estado indefinido, causando fallas de boot.

4. CC1/CC2 Unidos (USB-C)

Cada pin CC necesita su propio resistor de 5.1kΩ. Unirlos viola la especificación USB-C y causa problemas de detección intermitentes.

5. Cristal Muy Lejos del RP2040

Pistas largas agregan capacitancia parásita, cambiando la capacitancia de carga efectiva. Esto causa errores de frecuencia que rompen el timing USB.

Pruebas y Depuración

Después del ensamblaje, sigue esta secuencia de pruebas:

  1. Inspección visual: Verifica puentes de soldadura, especialmente en el RP2040 y conector USB. El encapsulado QFN-56 es propenso a puentes.
  2. Verificación de alimentación (sin USB): Mide los rieles 3.3V y 1.1V antes de conectar USB. Verifica que estén estables y con voltaje correcto.
  3. Prueba BOOTSEL: Mantén BOOTSEL, conecta USB. La computadora debería mostrar una nueva unidad USB llamada "RPI-RP2".
  4. Prueba de flash: Arrastra un archivo UF2 (como el ejemplo blink de Pico) a la unidad. Debería desaparecer y el código debería ejecutarse.
  5. Prueba UART: Conecta un adaptador USB-UART a GPIO0/GPIO1 y verifica que funcione la salida serial.

¿Placa atascada en modo BOOTSEL? Esto usualmente significa que el chip flash no está respondiendo - verifica conexiones del flash, alimentación y selección de chip. El bootloader solo entra en modo USB si no puede leer código válido del flash O si BOOTSEL se mantiene durante el reset.

Conclusión

Diseñar una placa RP2040 personalizada requiere atención al detalle en la fuente de alimentación, memoria flash, cristal y circuitos USB. Sin embargo, con la excelente documentación de Raspberry Pi y la creciente comunidad de diseños open-source, es un proyecto alcanzable para cualquiera con experiencia básica en diseño de PCB.

Los puntos clave a recordar:

  • Usa flash serie Winbond W25Q para compatibilidad garantizada
  • Presta especial atención a la conexión del pad de tierra central
  • Mantén las pistas QSPI cortas y el cristal cerca del chip
  • No escatimes en capacitores de desacoplo
  • Incluye botones BOOTSEL y RESET para programación fácil

Descarga los archivos de diseño mínimo KiCad oficiales de Raspberry Pi como punto de partida, y no dudes en referenciar otros proyectos RP2040 open-source para inspiración.

Fuentes y Referencias

Related Articles

Review Your RP2040 Schematic

Designed your RP2040 circuit? Upload your EasyEDA schematic to Schemalyzer for instant analysis and catch potential issues before ordering PCBs.

Try Schemalyzer Free