Endpreise in CHF – Versand inklusive Schweizer Unternehmen · 076 792 63 50 (WhatsApp/SMS)
Kurse › Arduino › Stufe 33
Arduino · Advanced · Stufe 33 / 40

RP2040 with the Arduino Core and Choosing the Right MCU

Use the RP2040's dual cores, programmable I/O and USB features and select the best microcontroller family for a given product.

Advanced freischalten · CHF 29.90 Stufen 27–40, einmalig, kein Abo

10 Lektionen in dieser Stufe

  1. RP2040 Architecture and Its Arduino Core
    Describe the dual Cortex-M0+ design, external flash and available cores for the IDE. · Lab: Install the core, upload Blink and print chip and flash information.
  2. UF2 Drag-and-Drop, BOOTSEL and Recovering a Board
    Use the mass-storage bootloader and recover from firmware that blocks USB. · Lab: Flash by drag and drop, then by the IDE, then recover a board running a deliberately broken sketch.
  3. Using Both Cores: setup1, loop1 and Safe Data Exchange
    Run code on the second core and exchange data without races. · Lab: Scan inputs on one core and drive a display on the other, passing events through a FIFO.
  4. Programmable I/O: Writing a First PIO Program
    Explain PIO state machines and write a small program that generates a precise signal. · Lab: Generate a square wave of exact frequency in PIO and verify on the logic analyzer.
  5. Custom Protocols with PIO State Machines
    Implement a timing-critical serial protocol in PIO with FIFO data transfer. · Lab: Drive addressable LEDs from PIO while the processor does unrelated work.
  6. Building a USB HID Device
    Create keyboard, consumer-control and custom HID functions. · Lab: Build a three-key pad that sends shortcuts and a volume knob.
  7. Flash Filesystem and Emulated EEPROM on RP2040
    Store settings and files in external flash and understand commit behaviour. · Lab: Save a key map in the filesystem and reload it at start-up.
  8. RP2040 ADC Limits, Reference Pin and Noise
    Work around the converter's noise and offset quirks. · Lab: Characterise ADC noise with different regulator modes and averaging.
  9. Wi-Fi on RP2040 Boards with a Radio Module
    Reuse your networking knowledge on a different platform. · Lab: Publish a sensor value by MQTT from an RP2040 board with Wi-Fi.
  10. Choosing Between AVR, ESP32, STM32 and RP2040 for a Product
    Compare families by power, connectivity, peripherals, cost, availability and toolchain. · Lab: Score the four families against three written product briefs and justify each choice.

Abschlussprojekt

A USB macro keypad with rotary encoder and addressable LEDs that uses PIO for LED timing, the second core for input scanning and stores its key map in flash.

Teile für diese Stufe

  • 1 × RP2040 development board
  • 1 × RP2040 development board with Wi-Fi
  • 2 × USB cable matching the board
  • 1 × Solderless breadboard 830 points
  • 1 × Jumper wire set male-male and male-female
  • 9 × Tactile push button
  • 1 × Rotary encoder module with push switch
  • 1 × WS2812 addressable LED strip 30 LEDs
  • 1 × Potentiometer 10 kilohm
  • 1 × USB logic analyzer 8 channel
  • 1 × OLED display 0.96 inch I2C 128x64
  • 1 × Resistor 330 ohm

In jeder Lektion legst du die passenden Teile direkt in den Warenkorb. Arduino-kompatibel →

Voraussetzung: Levels 1–32: multi-core concepts from the ESP32, USB device basics, timing-critical protocols and PlatformIO.

🔒 Sichere Zahlung · 3D Secure 🔐 SSL-verschlüsselt 🚚 Versand in die ganze Schweiz 🇨🇭 Schweizer Unternehmen