Waveshare RP2040-Zero, Raspberry Pi RP2040 Tabanlı MCU Kartı
Waveshare RP2040-Zero, Raspberry Pi RP2040 Tabanlı MCU Kartı
Waveshare RP2040-Zero, Raspberry Pi tarafından geliştirilen RP2040 mikrodenetleyicisini son derece kompakt bir karta taşıyan, düşük maliyetli ve yüksek performanslı bir MCU geliştirme kartıdır. Çift çekirdekli Arm Cortex-M0+ işlemcisi, 264 KB SRAM belleği, 2 MB kart üstü Flash depolaması ve 133 MHz'e kadar çalışma frekansı sayesinde sensör okuma, motor kontrolü, USB cihazları, LED uygulamaları, veri toplama ve özel haberleşme protokolleri için güçlü bir temel sunar.
USB Type-C bağlantısı üzerinden enerji alabilir, programlanabilir ve RP2040'ın USB 1.1 host/device özelliklerinden yararlanabilir. BOOT ve RESET tuşları, sürükle-bırak UF2 programlama, kart üzerindeki adreslenebilir WS2812 RGB LED ve castellated kenar yapısı; kartı hem hızlı prototipleme hem de özel taşıyıcı PCB tasarımlarına doğrudan lehimleme için uygun hale getirir.
RP2040-Zero üzerinde Wi-Fi veya Bluetooth bulunmaz. Kablosuz haberleşme gereken projelerde harici bir Wi-Fi, Bluetooth, LoRa veya benzeri haberleşme modülü SPI, I2C ya da UART üzerinden eklenebilir. Kartın asıl avantajı; küçük hacimde yüksek GPIO esnekliği, çift çekirdekli işlem gücü, deterministik PIO birimleri ve geniş yazılım ekosistemidir.

Öne Çıkan Özellikler
- Raspberry Pi tarafından tasarlanan RP2040 mikrodenetleyici
- 133 MHz'e kadar çalışan çift çekirdekli Arm Cortex-M0+ işlemci
- 264 KB dahili SRAM ve 2 MB W25Q16 kart üstü NOR Flash
- USB Type-C üzerinden güç, veri ve UF2 programlama
- USB 1.1 device ve host desteği
- Kenar pinleri ve alt lehim noktalarıyla erişilebilen çok işlevli GPIO yapısı
- 2 x SPI, 2 x I2C, 2 x UART ve 4 x 12-bit ADC denetleyicisi
- 16 kontrol edilebilir PWM kanalı
- Özel ve zamanlama hassas protokoller için 8 PIO state machine
- Kart üzerinde programlanabilir WS2812 RGB LED
- BOOT ve RESET tuşlarıyla kolay firmware yükleme
- Castellated delikler sayesinde taşıyıcı PCB üzerine yüzey montajına uygun yapı
- MicroPython, C/C++ Pico SDK ve Arduino-Pico ekosistemiyle programlama
- Düşük güç sleep ve dormant çalışma modları

Teknik Özellikler
| Ürün modeli | Waveshare RP2040-Zero |
| Mikrodenetleyici | Raspberry Pi RP2040 |
| İşlemci mimarisi | Çift çekirdekli Arm Cortex-M0+ |
| Maksimum frekans | 133 MHz |
| SRAM | 264 KB |
| Flash | 2 MB W25Q16JV kart üstü NOR Flash |
| USB | USB 1.1 host/device, USB Type-C konnektör |
| Programlama | UF2 sürükle-bırak, USB bootloader, Arduino IDE, MicroPython, C/C++ SDK |
| GPIO | RP2040 üzerinde 30 GPIO; kartta 29 çok işlevli GPIO kaynağı, 20 GPIO kenar pinlerinden erişilebilir |
| Analog giriş | 4 x 12-bit ADC denetleyicisi |
| PWM | 16 kanal |
| Seri arayüzler | 2 x UART, 2 x SPI, 2 x I2C |
| PIO | 2 PIO bloğu, toplam 8 state machine |
| Kart üstü LED | 1 x WS2812 adreslenebilir RGB LED |
| Kontroller | BOOT ve RESET tuşları |
| Regülatör | ME6217 / 3.3 V LDO, üretici verisine göre 800 mA sınıfı |
| Kablosuz bağlantı | Dahili Wi-Fi ve Bluetooth bulunmaz |
| PCB yapısı | Castellated kenarlı kompakt modül |

RP2040 İşlemci Mimarisi
RP2040, gerçek zamanlı mikrodenetleyici uygulamaları için tasarlanmış çift çekirdekli bir yapıya sahiptir. İki Cortex-M0+ çekirdeği aynı SRAM ve çevre birimi kaynaklarına erişebilir. Uygulama, tek çekirdekte klasik biçimde çalıştırılabileceği gibi; zaman açısından kritik görevler, kullanıcı arayüzü, sensör örnekleme veya haberleşme işlemleri iki çekirdek arasında ayrılabilir.
264 KB SRAM, fiziksel olarak birden fazla bellek bankasına bölünür. DMA denetleyicisi, işlemciyi meşgul etmeden çevre birimleri ile bellek arasında veri taşıyabilir. Bu yapı; ADC örnekleme, SPI ekran güncelleme, ses verisi aktarma ve seri haberleşme tamponlama gibi işlerde verim sağlar.
RP2040'ın ayırt edici özelliklerinden biri Programmable I/O, yani PIO sistemidir. Toplam sekiz state machine; WS2812, DVI, VGA, I2S, hassas pulse üretimi, özel seri protokoller veya normal çevre birimleriyle gerçekleştirilemeyen zamanlama ihtiyaçları için küçük ve deterministik programlar çalıştırabilir.
| Çekirdek sayısı | 2 |
| Çekirdek tipi | Arm Cortex-M0+, Thumb instruction set |
| DMA | 12 kanallı DMA denetleyicisi |
| Zamanlayıcı | 64-bit sayaç ve 4 alarm |
| Watchdog | Bağımsız watchdog ve tick üretimi |
| RTC | Dahili gerçek zaman saati işlevi |
| Sıcaklık sensörü | Çip içi sensör, yaklaşık sistem/çip sıcaklığı izleme için |
| Hızlandırılmış işlemler | Optimize edilmiş kayan nokta fonksiyon kitaplıkları |
Kart Üzerindeki Bileşenler
Kartın üst yüzünde RP2040 mikrodenetleyici, 2 MB W25Q16 NOR Flash, USB Type-C konnektör, BOOT ve RESET tuşları, WS2812 RGB LED ve 3.3 V regülatör bulunur. BOOT tuşu Flash üzerindeki boot seçimini kontrol eder; RESET tuşu ise RP2040'ın RUN hattını kullanarak sistemi yeniden başlatır.

Pinout ve Bağlantı Arayüzleri
RP2040'ın pin multiplexing yapısı sayesinde UART, I2C, SPI ve PWM işlevleri yalnızca tek bir sabit pin grubuna bağlı değildir. Yazılım ve kart pinout sınırları dahilinde uygun alternatif GPIO kombinasyonları seçilebilir. Bu esneklik, özel PCB tasarımında hatların daha kolay yönlendirilmesine yardımcı olur.
Kart üzerindeki çevresel sinyaller 3.3 V lojik seviyesinde çalışır ve GPIO pinleri 5 V toleranslı değildir. 5 V sensör, modül veya kontrol sinyali bağlanacaksa uygun seviye dönüştürücü veya gerilim bölücü kullanılmalıdır.

| Dijital GPIO | Giriş, çıkış, kesme ve alternatif çevre birimi işlevleri |
| ADC girişleri | GP26/ADC0, GP27/ADC1, GP28/ADC2 ve çipte GP29/ADC3 |
| I2C | Sensör, OLED, RTC, EEPROM ve I/O genişletici bağlantıları |
| SPI | LCD, SD kart, hızlı ADC/DAC ve haberleşme modülleri |
| UART | GPS, seri dönüştürücü, modem ve başka mikrodenetleyiciler |
| PWM | Servo kontrolü, LED parlaklığı, buzzer ve motor sürücü sinyalleri |
| VSYS / 5V hattı | Kartın USB besleme hattıyla doğrudan ilişkili güç girişi; ters akıma karşı harici koruma gerekebilir |
| 3V3 | Regüle 3.3 V güç hattı |
| GND | Ortak toprak bağlantısı |
Mekanik Yapı ve PCB Entegrasyonu
Kompakt kart, kenarlarında yarım delik biçimli castellated bağlantılar kullanır. Bu yapı RP2040-Zero'nun yalnızca pin header ile breadboard üzerinde kullanılmasını değil, bir modül gibi özel taşıyıcı PCB üzerine doğrudan lehimlenmesini de mümkün kılar. Kartın altında bulunan ek lehim noktaları, RP2040'ın kenarlara getirilemeyen bazı kaynaklarına erişim sağlar.
Taşıyıcı kart tasarlarken mekanik ölçüler, USB Type-C konnektörünün erişim boşluğu, BOOT/RESET tuşlarına erişim, alt pad geometrisi ve lehim maskesi açıklıkları resmi ölçü çizimi ve STEP dosyası üzerinden doğrulanmalıdır.


Programlama Seçenekleri
MicroPython: Başlangıç, eğitim, sensör denemeleri ve hızlı prototipler için uygundur. Thonny IDE üzerinden seri REPL kullanılabilir ve Python dosyaları karta aktarılabilir.
Arduino IDE: Geniş kütüphane desteği ve bilinen Arduino programlama yapısıyla kartı hızlı biçimde kullanmayı sağlar. RP2040 için Arduino-Pico core kurulmalıdır.
Raspberry Pi Pico C/C++ SDK: Donanım kaynaklarına daha doğrudan erişim, PIO, multicore, DMA ve performans odaklı uygulamalar için resmi geliştirme yoludur.
CircuitPython: Desteklenen kart tanımı ve uygun firmware kullanıldığında USB cihaz ve Python tabanlı eğitim projeleri için alternatif bir ortam sunabilir.
İlk Firmware Yükleme
- Veri aktarımını destekleyen bir USB Type-C kablo hazırlayın.
- BOOT tuşuna basılı tutarak kartı bilgisayara bağlayın. Alternatif olarak BOOT ve RESET'e birlikte basıp önce RESET'i, ardından BOOT'u bırakın.
- Bilgisayarda RPI-RP2 isimli çıkarılabilir sürücünün görünmesini bekleyin.
- Uygun .uf2 firmware dosyasını bu sürücüye kopyalayın.
- Dosya tamamlandığında kart otomatik olarak yeniden başlar ve yeni firmware'i çalıştırır.
Not: RPI-RP2 sürücüsü normal bir USB bellek değildir. UF2 dosyası kopyalandığında içerik Flash belleğe programlanır ve sürücü kaybolarak kart yeniden başlar. Sürücüye kopyalanan sıradan dosyalar kalıcı depolama amacıyla kullanılmaz.
MicroPython GPIO Blink Örneği
Aşağıdaki örnekte GP0 pinine seri direnç üzerinden bağlanan harici LED saniyede bir durum değiştirir. LED'in anot bacağı GPIO'ya, katot bacağı GND'ye bağlanmalıdır.
from machine import Pin
from time import sleep
led = Pin(0, Pin.OUT)
while True:
led.toggle()
sleep(0.5)
MicroPython ADC ile Potansiyometre Okuma
10 kOhm potansiyometrenin iki dış ucu 3.3 V ve GND'ye, orta ucu GP26/ADC0 pinine bağlanabilir. ADC girişine hiçbir koşulda 3.3 V üzerinde gerilim uygulanmamalıdır.
from machine import ADC
from time import sleep
adc = ADC(26)
while True:
raw = adc.read_u16()
voltage = raw * 3.3 / 65535
print("ADC:", raw, "Gerilim:", voltage, "V")
sleep(0.5)
MicroPython I2C Tarama Örneği
Bu örnek I2C0 arayüzünü GP4 SDA ve GP5 SCL pinleriyle başlatır, bağlı cihazların adreslerini tarar. Sensör ve ekran modüllerinde uygun pull-up dirençlerinin bulunduğundan emin olunmalıdır.
from machine import Pin, I2C
i2c = I2C(0, sda=Pin(4), scl=Pin(5), freq=400000)
devices = i2c.scan()
if devices:
for address in devices:
print("I2C cihazı: 0x%02X" % address)
else:
print("I2C cihazı bulunamadı")
Arduino IDE PWM LED Örneği
GP1 pinine bağlanan harici LED'in parlaklığı PWM ile kademeli olarak artırılıp azaltılır. Arduino-Pico core içinde kart seçimi yapılırken RP2040 uyumlu genel kart profili kullanılabilir.
const int ledPin = 1;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
for (int value = 0; value <= 255; value++) {
analogWrite(ledPin, value);
delay(5);
}
for (int value = 255; value >= 0; value--) {
analogWrite(ledPin, value);
delay(5);
}
}
Kart Üstü WS2812 RGB LED Örneği
RP2040-Zero üzerindeki adreslenebilir RGB LED için Arduino IDE'ye Adafruit NeoPixel kütüphanesi kurulabilir. Yaygın RP2040-Zero kart revizyonunda RGB veri pini GP16'dır; farklı revizyon veya kart tanımında Waveshare pinout bilgisi doğrulanmalıdır.
#include#define RGB_PIN 16 #define RGB_COUNT 1 Adafruit_NeoPixel pixel(RGB_COUNT, RGB_PIN, NEO_GRB + NEO_KHZ800); void setup() { pixel.begin(); pixel.setBrightness(40); } void loop() { pixel.setPixelColor(0, pixel.Color(255, 0, 0)); pixel.show(); delay(500); pixel.setPixelColor(0, pixel.Color(0, 255, 0)); pixel.show(); delay(500); pixel.setPixelColor(0, pixel.Color(0, 0, 255)); pixel.show(); delay(500); }
Örnek Proje Fikirleri
- USB makro klavyesi: RP2040'ın native USB device özelliğiyle özel tuş takımı, medya kontrolü veya HID kumanda.
- Adreslenebilir LED kontrolcüsü: PIO ile uzun WS2812/SK6812 şeritlerini hassas zamanlamayla sürme.
- Mini veri kaydedici: I2C sensörleri, SPI microSD modülü ve RTC ile sıcaklık, basınç veya titreşim kaydı.
- Robot kontrol kartı: PWM ile servo, motor sürücü ve enkoder işleme; ikinci çekirdekte haberleşme görevleri.
- USB-MIDI cihazı: Buton, potansiyometre ve rotary encoder girişlerini bilgisayara MIDI komutu olarak gönderme.
- Özel protokol köprüsü: PIO kullanarak tek kablolu veya zamanlama hassas bir protokolü UART/SPI arayüzüne dönüştürme.
- Taşınabilir ölçüm cihazı: ADC girişleri ve harici OLED ile analog sensör göstergesi.
- Akıllı aydınlatma: Ortam sensörü, PWM çıkışları ve RGB LED ile masaüstü ışık otomasyonu.
- Retro oyun kumandası: USB HID, buton matrisi ve analog joystick ile özel kontrolcü.
- Taşıyıcı PCB modülü: Kartı özel bir ürüne castellated kenarlardan lehimleyerek hazır RP2040 çekirdeği olarak kullanma.

Güç Besleme ve Güvenlik Notları
- GPIO ve ADC pinleri 3.3 V seviyesinde çalışır; 5 V sinyal doğrudan uygulanmamalıdır.
- Kart USB Type-C üzerinden veya uygun güç pininden beslenebilir. Aynı anda birden fazla güç kaynağı bağlanacaksa ters akım ve ortak toprak koşulları değerlendirilmelidir.
- RP2040-Zero üzerinde Li-Po şarj, aşırı şarj, aşırı deşarj veya pil koruma devresi bulunmaz.
- 3.7 V Li-Po pili doğrudan rastgele bir güç pinine bağlamak uygun değildir. Harici regülatör, şarj ve koruma devresi kullanılmalıdır.
- Waveshare açıklamasına göre VSYS/5V hattı USB beslemesine doğrudan bağlıdır; harici beslemede geri akımı önlemek için diyot veya uygun güç OR-ing çözümü gerekebilir.
- Kartın 3.3 V regülatörünün teorik akım değeri, harici modüllere ayrılabilecek akımın tamamı değildir. RP2040, Flash, RGB LED ve çalışma koşullarının tüketimi hesaba katılmalıdır.
- Motor, röle, solenoid ve yüksek akımlı LED doğrudan GPIO'dan sürülmemelidir; MOSFET, transistor veya uygun sürücü modülü kullanılmalıdır.
- Kart üzerinde kullanıcıya ayrılmış SWD pin header bulunmadığından klasik SWD hata ayıklama bağlantısı hazır olarak sunulmaz.
Sık Sorulan Sorular
Bu kart Raspberry Pi Pico ile aynı mıdır?
Aynı RP2040 mikrodenetleyici ailesini kullanır ancak fiziksel pin dizilimi, kart boyutu, güç devresi ve kart üstü donanım farklıdır. Pico için hazırlanmış fiziksel eklentiler doğrudan uyumlu kabul edilmemelidir.
Wi-Fi ve Bluetooth var mı?
Hayır. Bunlar harici modüllerle eklenebilir. Dahili kablosuz bağlantı gerekiyorsa RP2040 tabanlı kablosuz farklı kart modelleri değerlendirilmelidir.
Program yükledikten sonra RPI-RP2 sürücüsü neden kayboluyor?
Bu normal davranıştır. Geçerli UF2 dosyası Flash belleğe yazıldıktan sonra kart uygulamayı çalıştırmak üzere yeniden başlar ve USB boot sürücüsü kapanır.
Arduino kodu çalıştırabilir mi?
Evet. Arduino IDE'ye RP2040 uyumlu Arduino-Pico core kurulduğunda GPIO, PWM, I2C, SPI, UART, USB ve çok sayıda Arduino kütüphanesi kullanılabilir.
Taşıyıcı PCB'ye lehimlenebilir mi?
Evet. Castellated kenarlar bunun için tasarlanmıştır. Seri üretim öncesinde resmi mekanik çizim, pad ölçüleri ve lehimleme profili örnek kart üzerinde doğrulanmalıdır.

Paket İçeriği
- 1 x Waveshare RP2040-Zero MCU kartı
Pin header, USB Type-C kablo ve diğer aksesuarlar seçilen ürün varyantına veya satıcı paketine göre değişebilir. Satın alınan varyantın paket içeriği ayrıca kontrol edilmelidir.
Kaynaklar ve Teknik Belgeler
- Waveshare RP2040-Zero Wiki ve Başlangıç Rehberi
- Waveshare RP2040-Zero Resmi Ürün Sayfası
- Waveshare RP2040-Zero Devre Şeması
- Raspberry Pi RP2040 Datasheet
- RP2040-Zero Hızlı Teknik Belge
Bu ürün açıklaması Waveshare kart dokümantasyonu ve RP2040 teknik belgeleri temel alınarak Türkçe, e-ticaret odaklı ve açıklayıcı bir yapıda hazırlanmıştır. Kritik güç, pin ve mekanik tasarım kararlarında güncel resmi şema ve kart revizyonu esas alınmalıdır.