Hardware DesignJLCPCB ReadyComplete BOM

RP2040 Minimal-Schaltungsdesign: Bauen Sie Ihre eigene Platine (2025)

Vollständige Anleitung zum Design einer minimalen RP2040-Schaltung. Behandelt Stromversorgung, Quarzoszillator, QSPI-Flash, USB-C, Boot-Modus, Entkopplung und PCB-Layout mit JLCPCB-Teilenummern.

By Schemalyzer Team35 min read
RP2040 Minimalschaltung - Kompletter Hardware-Design-Leitfaden

Einführung

Der RP2040 ist Raspberry Pis erster eigener Chip und hat sich für kundenspezifische Hardware-Projekte als äußerst beliebt erwiesen. Während das Raspberry Pi Pico Board hervorragend für Prototyping geeignet ist, erfordern viele Projekte individuelle Formfaktoren, andere I/O-Konfigurationen oder kostenoptimierte Designs für die Produktion.

Dieser Leitfaden bietet alles, was Sie benötigen, um Ihre eigene RP2040-basierte Platine von Grund auf zu entwerfen. Wir behandeln die minimal erforderliche Schaltung, erklären jede Design-Entscheidung und liefern JLCPCB-kompatible Teilenummern, damit Sie schnell vom Schaltplan zur bestückten Platine kommen.

Voraussetzungen: Dieser Leitfaden setzt grundlegende Vertrautheit mit PCB-Design-Tools (EasyEDA, KiCad oder Altium) und fundamentale Elektronik-Konzepte wie Entkopplung und Signalführung voraus.

Warum mit dem RP2040 entwerfen?

Vorteile

  • +Dual ARM Cortex-M0+ Kerne @ 133MHz
  • +264KB SRAM (mehr als die meisten Cortex-M0 Chips)
  • +Programmierbare I/O (PIO) Zustandsmaschinen
  • +UF2 Drag-and-Drop Programmierung via USB
  • +Niedrige Kosten (~0,70-1,00€ in Stückzahlen)
  • +Exzellente Dokumentation von Raspberry Pi

Zu beachten

  • !Kein interner Flash - erfordert externen QSPI
  • !QFN-56 Gehäuse erfordert sorgfältiges Löten
  • !Nur USB-Bootloader (kein UART-Boot)
  • !Einzelnes GND-Pad unter dem Chip - kritisch zu löten
  • !12-Bit ADC (kein DAC, 4 Kanäle)

Minimale Schaltungsanforderungen

Anders als viele Mikrocontroller, die nur mit Stromversorgung und ein paar Kondensatoren laufen können, hat der RP2040 spezifische Anforderungen für ein funktionierendes System:

Erforderliche Komponenten

Essentiell

  • 1x RP2040 Mikrocontroller
  • 1x Externer QSPI Flash (2MB-16MB)
  • 1x 12MHz Quarz + 2 Lastkondensatoren
  • 1x 3,3V Spannungsregler
  • 11x 100nF Entkopplungskondensatoren
  • 2x 1µF Kondensatoren (VREG Ein/Aus)

Für USB-Programmierung

  • 1x USB-Anschluss (Typ-C empfohlen)
  • 2x 27Ω USB-Serienwiderstände
  • 2x 5,1kΩ CC-Widerstände (USB-C)
  • 1x BOOTSEL-Taste
  • 1x 1kΩ BOOTSEL-Widerstand
  • 1x ESD-Schutz (empfohlen)

System-Blockdiagramm

Bevor wir in jedes Teilsystem eintauchen, hier eine Übersicht wie alles verbunden ist:

RP2040 Minimalschaltung Blockdiagramm mit Strom-, USB-, Flash- und Quarzverbindungen

Stromversorgungsdesign

Übersicht der Stromversorgungsarchitektur

Der RP2040 benötigt zwei Spannungsschienen zum Betrieb:

  • IOVDD (3,3V) - Versorgt alle I/O, USB PHY und Peripherie
  • DVDD (1,1V) - Versorgt den digitalen Kern (ARM-Kerne, SRAM)

Der RP2040 enthält einen internen Linearregler, der 1,1V aus der 3,3V-Versorgung erzeugt. Dies vereinfacht das externe Stromversorgungsdesign - Sie müssen nur 3,3V bereitstellen.

Interner 1,1V Regler

Der interne Regler erfordert:

  • VREG_VIN - Mit 3,3V und 1µF Kondensator verbinden
  • VREG_VOUT - Mit allen DVDD-Pins und 1µF Kondensator verbinden

Batterieanwendungen: Der interne LDO ist effizient im Schlafmodus, aber für Hochlast-Batterieanwendungen sollten Sie einen externen Schaltregler für 1,1V für bessere Effizienz in Betracht ziehen.

Externe 3,3V Versorgungsoptionen

Für USB-versorgte Designs müssen Sie 5V USB auf 3,3V umwandeln:

ReglerTypStromJLCPCBHinweise
XC6206P332MRLDO200mAC5446Empfohlen - Basic Part
AP2112K-3.3LDO600mAC51118Beliebte Wahl (SparkFun, Adafruit)
ME6211C33LDO500mAC82942Niedriger Dropout (100mV @ 500mA)

AMS1117 vermeiden: Trotz seiner Beliebtheit hat der AMS1117 hohen Ruhestrom (~5mA), benötigt große Kondensatoren und hat schlechte Leistung bei niedriger Last. Verwenden Sie stattdessen XC6206 oder AP2112K.

Entkopplungskondensatoren

Richtige Entkopplung ist kritisch für die RP2040-Stabilität. Der Chip hat mehrere Strom-Pins, die jeweils einen eigenen Kondensator benötigen:

PinsAnzahlWertZweck
IOVDD (Pins 1,10,22,33,42,49)6x100nFI/O Strom-Entkopplung
DVDD (Pins 23, 50)2x100nFKern-Strom-Entkopplung
USB_VDD (Pin 48)1x100nFUSB PHY Strom
ADC_AVDD (Pin 43)1x100nFADC Referenz
VREG_VIN (Pin 44)1x1µFReglereingang
VREG_VOUT (Pin 45)1x1µFReglerausgang

Layout kritisch: Der RP2040 hat nur eine Masseverbindung - das große Pad in der Mitte des Chips. Alle Entkopplungskondensatoren müssen die kürzestmögliche Schleife von Kondensator → Strom-Pin → durch den Chip → zentrales GND-Pad → zurück zum Kondensator haben. Verwenden Sie Durchkontaktierungen direkt unter den Kondensatoren zur Massefläche.

Quarzoszillator

Obwohl der RP2040 einen internen Oszillator hat, ist ein externer 12MHz Quarz für genaues USB-Timing und stabilen Betrieb erforderlich.

Quarzauswahl

Der Quarz muss diese Spezifikationen erfüllen:

  • Frequenz: 12,000 MHz
  • Lastkapazität: Typisch 10-20pF
  • ESR: <100Ω empfohlen
  • Frequenztoleranz: ±30ppm oder besser

Empfohlener Quarz

JLCPCB-Teil: C9002

12MHz, 3225-Gehäuse (3,2mm × 2,5mm), 20pF Lastkapazität, ±10ppm. Dies ist ein JLCPCB Basic Part, was die Bestückungskosten niedrig hält.

Lastkondensator-Berechnung

Die Lastkondensatoren (CL1 und CL2) müssen basierend auf der spezifizierten Lastkapazität des Quarzes und der PCB-Streukapazität berechnet werden:

Lastkondensator-Formel
C_last = (CL1 × CL2) / (CL1 + CL2) + C_streu

Für gleiche Kondensatoren (CL1 = CL2 = C):
C = 2 × (C_last - C_streu)

Beispiel mit 20pF Lastkapazität und 3pF Streukapazität:
C = 2 × (20pF - 3pF) = 34pF

Nächste Standardwerte: 33pF oder 27pF

Quarz-Layout-Richtlinien

  • Platzieren Sie den Quarz so nah wie möglich an XIN/XOUT-Pins (Pins 20/21)
  • Halten Sie Lastkondensatoren direkt neben den Quarz-Pads
  • Führen Sie XIN/XOUT-Leiterbahnen weg von Hochgeschwindigkeitssignalen (besonders QSPI)
  • Erwägen Sie einen Masse-Schutzring um den Quarz für Störimmunität
  • Halten Sie den Quarz auf der gegenüberliegenden Seite des Chips vom QSPI-Flash

QSPI-Flash-Speicher

Der RP2040 hat keinen internen Flash-Speicher - der gesamte Programmcode läuft von einem externen QSPI-Flash-Chip. Dies ist eine kritische Komponente, die sorgfältig ausgewählt und verbunden werden muss.

Flash-Chip-Auswahl

Der RP2040-Bootloader ist für Winbond W25Q-Serie Flash optimiert. Während andere Chips funktionieren können, ist Winbond die sicherste Wahl:

TeilenummerGrößeGehäuseJLCPCBHinweise
W25Q16JVSNIQ2MBSOIC-8C131024Mindestempfehlung
W25Q32JVSSIQ4MBSOIC-8C179171Gut für größere Projekte
W25Q128JVSIQ16MBSOIC-8C97521Maximal unterstützt

Warnung: Macronix und einige andere Flash-Chips funktionieren nicht als Drop-in-Ersatz. Bleiben Sie bei der Winbond W25Q-Serie für garantierte Kompatibilität.

Flash-Verbindungen

Flash-PinRP2040-PinFunktion
1 (/CS)QSPI_SS (Pin 57)Chip-Select
2 (DO/IO1)QSPI_SD1 (Pin 53)Data Out / IO1
3 (/WP/IO2)QSPI_SD2 (Pin 54)Schreibschutz / IO2
4 (GND)GNDMasse
5 (DI/IO0)QSPI_SD0 (Pin 52)Data In / IO0
6 (CLK)QSPI_SCLK (Pin 56)Takt
7 (/HOLD/IO3)QSPI_SD3 (Pin 55)Hold / IO3
8 (VCC)3,3VStrom (mit 100nF Kond.)

QSPI_SS Pull-up: Fügen Sie einen 10kΩ Pull-up-Widerstand von QSPI_SS nach 3,3V hinzu. Dies stellt sicher, dass der Flash-Chip-Select während des Einschaltens high ist, was verhindert, dass der Flash in einen undefinierten Zustand gerät.

Flash-Layout-Richtlinien

  • Platzieren Sie Flash so nah wie möglich an RP2040 QSPI-Pins
  • Maximale Leiterbahnlänge: 20mm (kürzer ist besser)
  • Empfohlene Leiterbahnbreite: 0,15mm (6 mil)
  • Halten Sie die Taktleitung als längste unter allen QSPI-Signalen
  • Fügen Sie 100nF Entkopplungskondensator direkt am Flash-VCC-Pin hinzu
  • Halten Sie solide Massefläche unter Flash und Leiterbahnen aufrecht

USB-Schnittstelle

USB ist die primäre Programmierschnittstelle für den RP2040 und ermöglicht den bequemen UF2 Drag-and-Drop-Firmware-Upload.

USB-C Stecker-Design

Für moderne Designs wird USB-C aufgrund seiner Reversibilität und Langlebigkeit gegenüber Micro-USB empfohlen. Wichtige Verbindungen:

USB-C PinVerbindungHinweise
VBUS (A4, B4, A9, B9)5V EingangZum Spannungsregler
D+ (A6, B6)RP2040 USB_DP via 27ΩA6 und B6 verbinden
D- (A7, B7)RP2040 USB_DM via 27ΩA7 und B7 verbinden
CC1 (A5)5,1kΩ nach GNDGeräteerkennung
CC2 (B5)5,1kΩ nach GNDGeräteerkennung
GND (A1, A12, B1, B12)MasseAlle GND-Pins verbinden

Kritisch: Sowohl CC1 als auch CC2 müssen separate5,1kΩ Widerstände nach Masse haben. Verbinden Sie CC1 und CC2 niemals miteinander - dies verletzt die USB-C-Spezifikation und verursacht Erkennungsprobleme. (Dies war der Raspberry Pi 4B Launch-Bug.)

ESD-Schutz

Obwohl nicht strikt erforderlich, wird ESD-Schutz auf USB-Leitungen für jedes Produkt, das von Benutzern gehandhabt wird, dringend empfohlen:

Empfohlener ESD-Schutz

USBLC6-2SC6: TVS-Dioden-Array für D+/D- Leitungen

JLCPCB-Teil: C7519

Schützt gegen ±15kV Kontaktentladung und ±8kV Luftentladung. Niedrige Kapazität (0,5pF typ.) erhält die Signalintegrität.

USB-Leiterbahn-Layout

USB ist ein differentielles Signal, das kontrollierte Impedanz erfordert:

  • Zielimpedanz: 90Ω differentiell
  • Leiterbahnbreite: 0,8mm (für 1,6mm Platinendicke)
  • Leiterbahnabstand: 0,15mm zwischen D+ und D-
  • 27Ω Serienwiderstände: Nahe an RP2040-Pins platzieren
  • Längenanpassung: D+ und D- gleich lang halten

Boot-Modus-Schaltung

Der RP2040 verwendet einen ROM-basierten Bootloader, der beim Einschalten den BOOTSEL-Zustand prüft. Das Verständnis der Boot-Sequenz ist essentiell für die Gestaltung einer zuverlässigen Programmierschnittstelle.

BOOTSEL-Taste-Design

Die BOOTSEL-Funktion verwendet den QSPI_SS-Pin. Wenn QSPI_SS während des Resets low gehalten wird, wechselt der RP2040 in den USB-Massenspeicher-Modus für Firmware-Upload:

BOOTSEL-Schaltung
QSPI_SS (Pin 57)
    |
    +--- 10kΩ Pull-up nach 3,3V (optional aber empfohlen)
    |
    +--- 1kΩ Serienwiderstand --- BOOTSEL-Taste --- GND

Boot-Sequenz:
1. BOOTSEL-Taste drücken und halten
2. Strom anlegen (oder RESET drücken während BOOTSEL gehalten wird)
3. RP2040 sieht QSPI_SS low → wechselt in USB-Boot-Modus
4. Taste loslassen
5. UF2-Datei auf das USB-Laufwerk ziehen

Warum der 1kΩ Widerstand? Der Serienwiderstand begrenzt den Strom, wenn der QSPI_SS-Pin während des normalen Betriebs als Ausgang betrieben wird. Ohne ihn würde das Drücken der Taste während des Betriebs den Ausgang kurzschließen.

Reset-Schaltung

Der RUN-Pin (Pin 26) ist der Reset-Eingang des RP2040 (aktiv-low):

Reset-Schaltung
RUN (Pin 26)
    |
    +--- 10kΩ Pull-up nach 3,3V
    |
    +--- 100nF Kondensator nach GND (Entprellen/Filter)
    |
    +--- RESET-Taste --- GND

Typische Verwendung:
1. Einschalten: RUN wird high gezogen, Chip startet
2. RESET drücken: RUN wird low gezogen, Chip resettet
3. Loslassen: RUN kehrt auf high zurück, Chip startet neu
4. Für BOOTSEL-Modus: BOOTSEL halten, RESET drücken

GPIO-Breakout

Der RP2040 bietet 30 GPIO-Pins mit flexibler Peripherie-Zuordnung. Für ein minimales Design sollten Sie überlegen, welche GPIOs herausgeführt werden:

GPIOPinHäufige Funktionen
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 auf Pico)
GPIO26-2934-37ADC0-3, PWM

Tipp: Reservieren Sie GPIO0/GPIO1 für UART-Debugging - sie sind die Standard-UART0-Pins und extrem nützlich für serielle Ausgabe während der Entwicklung.

PCB-Layout-Richtlinien

Lagenaufbau

Das offizielle Minimal-Design verwendet eine 2-Lagen-Platine, aber 4 Lagen werden für bessere Leistung und einfacheres Routing empfohlen:

2-Lagen (Budget)

  • Lage 1: Signale + Bauteile
  • Lage 2: Massefläche + Stromführung
  • Herausforderung: Stromverteilung unter RP2040
  • 1,1V und 3,3V im verbleibenden Platz routen

4-Lagen (Empfohlen)

  • Lage 1: Signale + Bauteile
  • Lage 2: Solide GND-Fläche
  • Lage 3: 3,3V Versorgungsfläche
  • Lage 4: Signale + 1,1V Routing
  • Bessere Entkopplung und EMV-Verhalten

Masseflächenstrategie

Das zentrale Masse-Pad des RP2040 ist die einzige Masseverbindungfür den gesamten Chip. Dies macht das Masseflächen-Design kritisch:

  • Verwenden Sie mindestens 9 Vias unter dem Masse-Pad für thermische und elektrische Verbindung
  • Erstellen Sie eine solide Massefläche direkt unter dem RP2040
  • Verbinden Sie alle Entkopplungskondensator-Massen mit dieser Fläche über Vias
  • Halten Sie durchgehende Masse unter QSPI-Leiterbahnen aufrecht
  • Verwenden Sie Masse-Stitch-Vias um den Umfang

Kritisches Signal-Routing

SignalgruppeMax. LängeLeiterbahnbreiteHinweise
QSPI (Flash)20mm0,15mmCLK am längsten, solide GND darunter
USB D+/D-50mm0,8mmDifferentielles Paar, 0,15mm Abstand
Quarz XIN/XOUT5mm0,2mmWeg von QSPI halten
Strom (3,3V, 1,1V)-0,3mm+Kurz zu Entkopplungskond.

Stückliste

JLCPCB Basic Parts

Die Verwendung von JLCPCB Basic Parts minimiert Bestückungsgebühren ($3 pro Extended-Teile-Typ). Hier sind Basic Parts wo möglich:

Komplette Stückliste

RefWertGehäuseJLCPCB-TeilTyp
Kernkomponenten
U1RP2040QFN-56C2040Extended
U2W25Q16JVSNIQSOIC-8C131024Extended
U3XC6206P332MRSOT-23C5446Basic
Y112MHz3225C9002Basic
Kondensatoren
C1-C10100nF0402C1525Basic
C11-C121µF0402C52923Basic
C13-C1427pF0402C1557Basic
Widerstände
R1-R227Ω0402C25100Basic
R3-R45,1kΩ0402C25905Basic
R5-R610kΩ0402C25744Basic
R71kΩ0402C11702Basic
Stecker & Taster
J1USB-C16-PinC2765186Extended
SW1-SW2Taster3x6mmC318884Basic

Geschätzte Kosten: ~2-3$ pro Platine für Bauteile (5 Platinen Minimum), plus ~5$ Bestückungsgebühr + ~3$ pro Extended-Teile-Typ.

Häufige Fehler vermeiden

1. Schlechte Masse-Pad-Verbindung

Das zentrale Pad ist die EINZIGE Masseverbindung. Wenn es nicht richtig gelötet wird mit ausreichenden Via-Verbindungen, funktioniert nichts. Verwenden Sie Reflow-Löten oder Heißluft-Nacharbeit für korrekte Verbindung.

2. Falscher Flash-Chip

Die Verwendung von Nicht-Winbond Flash-Chips verursacht oft Boot-Fehler. Bleiben Sie bei der W25Q-Serie. Bei Verwendung eines anderen Chips stellen Sie sicher, dass er exakt den gleichen Befehlssatz und Power-Up-Timing unterstützt.

3. Fehlender QSPI_SS Pull-up

Während des Einschaltens kann QSPI_SS kurz floaten. Ohne Pull-up kann der Flash-Chip in einen undefinierten Zustand geraten und Boot-Fehler verursachen.

4. CC1/CC2 zusammengebunden (USB-C)

Jeder CC-Pin benötigt seinen eigenen 5,1kΩ Widerstand. Sie zusammenzubinden verletzt die USB-C-Spezifikation und verursacht intermittierende Erkennungsprobleme.

5. Quarz zu weit vom RP2040

Lange Leiterbahnen fügen Streukapazität hinzu und ändern die effektive Lastkapazität. Dies verursacht Frequenzfehler, die das USB-Timing stören.

Test und Debugging

Nach der Bestückung folgen Sie dieser Test-Reihenfolge:

  1. Visuelle Inspektion: Prüfen Sie auf Lötbrücken, besonders am RP2040 und USB-Stecker. Das QFN-56-Gehäuse neigt zu Brücken.
  2. Stromprüfung (ohne USB): Messen Sie 3,3V und 1,1V Schienen bevor Sie USB anschließen. Prüfen Sie auf stabile und korrekte Spannung.
  3. BOOTSEL-Test: BOOTSEL halten, USB verbinden. Der Computer sollte ein neues USB-Laufwerk namens "RPI-RP2" anzeigen.
  4. Flash-Test: Eine UF2-Datei (wie das Pico Blink-Beispiel) auf das Laufwerk ziehen. Es sollte verschwinden und der Code sollte laufen.
  5. UART-Test: Einen USB-UART-Adapter an GPIO0/GPIO1 anschließen und serielle Ausgabe verifizieren.

Board hängt im BOOTSEL-Modus? Dies bedeutet normalerweise, dass der Flash-Chip nicht antwortet - prüfen Sie Flash-Verbindungen, Strom und Chip-Auswahl. Der Bootloader wechselt nur in den USB-Modus, wenn er keinen gültigen Code vom Flash lesen kann ODER wenn BOOTSEL während des Resets gehalten wird.

Fazit

Das Design einer eigenen RP2040-Platine erfordert Aufmerksamkeit für Details bei Stromversorgung, Flash-Speicher, Quarz und USB-Schaltungen. Mit der exzellenten Dokumentation von Raspberry Pi und der wachsenden Community von Open-Source-Designs ist es jedoch ein machbares Projekt für jeden mit grundlegender PCB-Design-Erfahrung.

Die wichtigsten Punkte zum Merken:

  • Verwenden Sie Winbond W25Q-Serie Flash für garantierte Kompatibilität
  • Achten Sie besonders auf die zentrale Masse-Pad-Verbindung
  • Halten Sie QSPI-Leiterbahnen kurz und Quarz nah am Chip
  • Sparen Sie nicht bei Entkopplungskondensatoren
  • Fügen Sie BOOTSEL- und RESET-Tasten für einfache Programmierung hinzu

Laden Sie die offiziellen KiCad Minimal-Design-Dateien von Raspberry Pi als Ausgangspunkt herunter und zögern Sie nicht, andere Open-Source RP2040-Projekte als Inspiration zu verwenden.

Quellen & Referenzen

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