Raspberry Pi Pico RP2040 2MB Flash Mikrodenetleyici Geliştirme Kartı
Raspberry Pi Pico RP2040 2MB Flash Mikrodenetleyici Geliştirme Kartı
Raspberry Pi Pico, Raspberry Pi tarafından geliştirilen RP2040 mikrodenetleyici yongasını temel alan, kompakt ve esnek bir geliştirme kartıdır. Bu kart, klasik Raspberry Pi bilgisayarları gibi Linux çalıştırmak için değil; sensör okuma, motor ve LED kontrolü, veri toplama, USB cihaz uygulamaları, hızlı prototipleme ve zaman hassasiyetli giriş/çıkış projeleri için tasarlanmıştır.
Düz Raspberry Pi Pico modeli, RP2040'ın sunduğu çift çekirdekli Arm Cortex-M0+ mimarisini, 264 KB SRAM'i, 2 MB dahili QSPI flash belleği ve 26 adet çok işlevli GPIO pinini uygun maliyetli bir kart üzerinde sunar. MicroPython ile başlangıç seviyesinde hızlı denemeler yapılabilir; C/C++ SDK ile daha profesyonel ve performans odaklı uygulamalar geliştirilebilir.
Bu sayfa, Raspberry Pi Pico'yu yalnızca kısa bir ürün tanıtımı olarak değil, Türkçe okunabilir bir teknik rehber olarak ele alır. Güç pinleri, GPIO yapısı, ADC, PWM, UART, SPI, I2C, PIO ve USB gibi temel donanım blokları aşağıda pratik kullanım notlarıyla birlikte özetlenmiştir.

Genel Teknik Özellikler
| Özellik | Değer |
| Ürün | Raspberry Pi Pico, düz headersiz model |
| Mikrodenetleyici | Raspberry Pi RP2040 |
| CPU | Çift çekirdekli Arm Cortex-M0+ |
| Saat frekansı | 133 MHz'e kadar esnek saat yapısı |
| SRAM | 264 KB on-chip SRAM |
| Flash | 2 MB dahili QSPI flash |
| GPIO | 26 adet çok işlevli GPIO pini |
| Analog giriş | 3 adet harici 12-bit ADC girişi |
| Dahili ADC kaynakları | Dahili sıcaklık sensörü ve VSYS izleme hattı için ek ADC kullanımı |
| Dijital arayüzler | 2x UART, 2x SPI, 2x I2C, 16 PWM kanalı |
| PIO | 2 adet PIO bloğu, toplam 8 state machine |
| DMA | 12 kanallı DMA denetleyici |
| USB | USB 1.1 device ve host desteği, Micro-USB B port |
| Programlama | USB mass storage üzerinden sürükle-bırak UF2, MicroPython, C/C++ SDK |
| Besleme | USB VBUS veya VSYS pini; VSYS için 1.8 V - 5.5 V DC aralığı |
| GPIO lojik seviyesi | 3.3 V |
| Kart boyutu | 21 mm x 51 mm |
| Çalışma sıcaklığı | -20°C ile +85°C |
| Kart yapısı | 40 pinli kenar dizilimi, castellated delikler, lehimsiz header yapısı |
RP2040 Mimarisi Neden Önemli?
RP2040, Raspberry Pi'nin mikrodenetleyici dünyası için geliştirdiği ilk yongadır. Pico kartında bu yonga, harici 2 MB QSPI flash bellek, güç regülasyonu, USB bağlantısı, BOOTSEL butonu ve kenar pinleriyle kullanıma hazır hale getirilmiştir.
Çift çekirdekli Cortex-M0+ yapısı, bir çekirdekte ana uygulama kodu çalışırken diğer çekirdekte zamanlama, veri işleme veya arka plan görevleri çalıştırmak için elverişlidir. Bu, basit hobi projelerinde zorunlu olmasa da gelişmiş uygulamalarda kartın esnekliğini artırır.
RP2040'ın en dikkat çeken taraflarından biri PIO, yani Programmable I/O bloklarıdır. PIO sayesinde standart UART, SPI veya I2C dışında kalan özel sinyal zamanlamaları, LED şerit protokolleri, paralel veri aktarımı veya basit özel haberleşme yapıları CPU'yu fazla meşgul etmeden oluşturulabilir.
Bellek ve Program Depolama
Pico üzerindeki RP2040 yongasında 264 KB SRAM bulunur. Bu bellek programın çalışma sırasında kullandığı değişkenler, tamponlar ve veri yapıları için kullanılır. SRAM'in birden fazla bankaya ayrılmış olması, doğru yazılım mimarisiyle çekirdekler ve DMA arasındaki erişim yoğunluğunu daha verimli yönetmeye yardımcı olur.
Kart üzerinde ayrıca 2 MB QSPI flash bellek vardır. MicroPython firmware'i, Python dosyaları, C/C++ ile derlenmiş UF2 uygulamaları ve proje kaynakları bu flash alanda saklanır. Daha büyük dosya sistemi veya aşırı büyük uygulama ihtiyacı olan projelerde bu kapasite dikkate alınmalıdır.
Güç Girişi ve Besleme Yapısı
| Pin / Hat | Açıklama |
| VBUS | Micro-USB portundan gelen 5 V hattıdır. USB bağlıyken bu hatta USB beslemesi bulunur. |
| VSYS | Kartın ana sistem besleme girişidir. Harici besleme için 1.8 V - 5.5 V DC aralığı kullanılabilir. |
| 3V3(OUT) | Kart üzerindeki regülatörden elde edilen 3.3 V çıkıştır. Düşük akımlı harici devreleri beslemek için kullanılabilir. |
| 3V3_EN | 3.3 V regülatör etkinleştirme hattıdır. Düşük güç senaryolarında dikkatli kullanılmalıdır. |
| GND | Dijital devreler için ortak toprak hattıdır. |
| AGND | Analog ölçümlerde kullanılan ayrı referans toprak hattıdır. |
| ADC_VREF | ADC referans gerilimi hattıdır. Hassas analog ölçümlerde önemlidir. |
Kart USB üzerinden beslendiğinde VBUS hattından gelen gerilim kartın güç devresine ulaşır. Harici kaynak kullanılacaksa genellikle VSYS ve GND pinleri tercih edilir. VSYS hattına uygulanacak gerilim, datasheet'te belirtilen 1.8 V - 5.5 V DC aralığında tutulmalıdır.
Dikkat: GPIO pinleri 3.3 V lojik seviyesinde çalışır. Pico'nun besleme girişi belirli aralıkta daha yüksek gerilim kabul edebilse de GPIO pinlerine 5 V sinyal doğrudan uygulanmamalıdır. 5 V lojik seviyeli modüllerle kullanımda seviye dönüştürücü kullanmak güvenli yaklaşımdır.
Pinout Genel Bakış
Raspberry Pi Pico'nun iki uzun kenarında toplam 40 pin bulunur. Bu pinlerin 26 tanesi kullanıcı tarafından GPIO olarak kullanılabilir. Kartın castellated kenar delikleri, Pico'nun hem pin header ile breadboard üzerinde kullanılmasına hem de uygun taşıyıcı PCB üzerine lehimlenmesine imkan verir.
Düz Pico modelinde kart üzerindeki dahili LED GP25 pinine bağlıdır. GP25 kart kenarında dışarı alınmamıştır; bu pin özellikle LED denemeleri ve basit durum göstergeleri için kullanılır.
40 Pin Görev Tablosu
| Fiziksel pin | Temel görev / not |
| 1 | GP0, UART0 TX, I2C0 SDA, SPI0 RX |
| 2 | GP1, UART0 RX, I2C0 SCL, SPI0 CSn |
| 3 | GND |
| 4 | GP2, I2C1 SDA, SPI0 SCK |
| 5 | GP3, I2C1 SCL, SPI0 TX |
| 6 | GP4, UART1 TX, I2C0 SDA, SPI0 RX |
| 7 | GP5, UART1 RX, I2C0 SCL, SPI0 CSn |
| 8 | GND |
| 9 | GP6, I2C1 SDA, SPI0 SCK |
| 10 | GP7, I2C1 SCL, SPI0 TX |
| 11 | GP8, UART1 TX, I2C0 SDA, SPI1 RX |
| 12 | GP9, UART1 RX, I2C0 SCL, SPI1 CSn |
| 13 | GND |
| 14 | GP10, I2C1 SDA, SPI1 SCK |
| 15 | GP11, I2C1 SCL, SPI1 TX |
| 16 | GP12, UART0 TX, I2C0 SDA, SPI1 RX |
| 17 | GP13, UART0 RX, I2C0 SCL, SPI1 CSn |
| 18 | GND |
| 19 | GP14, I2C1 SDA, SPI1 SCK |
| 20 | GP15, I2C1 SCL, SPI1 TX |
| 21 | GP16, UART0 TX, I2C0 SDA, SPI0 RX |
| 22 | GP17, UART0 RX, I2C0 SCL, SPI0 CSn |
| 23 | GND |
| 24 | GP18, I2C1 SDA, SPI0 SCK |
| 25 | GP19, I2C1 SCL, SPI0 TX |
| 26 | GP20, UART1 TX, I2C0 SDA, SPI0 RX |
| 27 | GP21, UART1 RX, I2C0 SCL, SPI0 CSn |
| 28 | GND |
| 29 | GP22, genel amaçlı GPIO |
| 30 | RUN, RP2040 reset / enable hattı |
| 31 | GP26, ADC0 |
| 32 | GP27, ADC1 |
| 33 | AGND, analog toprak |
| 34 | GP28, ADC2 |
| 35 | ADC_VREF |
| 36 | 3V3(OUT) |
| 37 | 3V3_EN |
| 38 | GND |
| 39 | VSYS, ana besleme girişi |
| 40 | VBUS, USB 5 V hattı |
GPIO Kullanımı
Pico'daki GPIO pinleri dijital giriş, dijital çıkış, PWM, UART, SPI, I2C ve PIO fonksiyonları için kullanılabilir. Bir pinin hangi fonksiyonda kullanılacağı yazılım tarafından belirlenir. Aynı fiziksel pin farklı projelerde farklı görevler üstlenebilir.
Dijital girişlerde buton, limit switch, optokuplör çıkışı veya lojik sinyal okunabilir. Dijital çıkışlarda LED, transistör, MOSFET gate sürme devresi, röle modülü veya başka bir lojik giriş kontrol edilebilir. Ancak GPIO pinleri doğrudan yüksek akımlı yük sürmek için kullanılmamalıdır.
from machine import Pin
from time import sleep
led = Pin(25, Pin.OUT)
while True:
led.value(1)
sleep(0.5)
led.value(0)
sleep(0.5)
ADC ve Analog Ölçüm
Raspberry Pi Pico üzerinde kullanıcıya ayrılmış 3 adet analog giriş bulunur: GP26/ADC0, GP27/ADC1 ve GP28/ADC2. Bu girişler 12-bit ADC donanımı ile okunur. MicroPython tarafında ADC okuması genellikle 0 - 65535 aralığında ölçeklenmiş olarak döner.
Potansiyometre, LDR, analog sıcaklık sensörü, basit batarya izleme devresi veya analog çıkışlı sensörler bu pinlerle okunabilir. ADC girişlerine uygulanacak gerilim 3.3 V seviyesini aşmamalıdır. Daha yüksek gerilimlerin ölçülmesi gerekiyorsa uygun direnç bölücü veya sinyal şartlandırma devresi kullanılmalıdır.
from machine import ADC, Pin
from time import sleep
pot = ADC(Pin(26))
while True:
value = pot.read_u16()
voltage = value * 3.3 / 65535
print(value, voltage)
sleep(0.5)
PWM ile LED, Servo ve Motor Kontrolü
RP2040, 16 adet PWM kanalı sunar. PWM, LED parlaklığı kontrolü, pasif buzzer tonu üretme, servo sinyali oluşturma veya motor sürücü devrelerine hız komutu verme gibi uygulamalarda kullanılır.
Pico'nun GPIO pinleri motoru veya yüksek akımlı LED'i doğrudan sürmek için uygun değildir. PWM sinyali genellikle MOSFET, transistör, motor sürücü kartı veya LED sürücü devresi gibi bir ara katmana uygulanmalıdır.
from machine import Pin, PWM
from time import sleep
pwm = PWM(Pin(15))
pwm.freq(1000)
while True:
for duty in range(0, 65535, 1024):
pwm.duty_u16(duty)
sleep(0.01)
for duty in range(65535, 0, -1024):
pwm.duty_u16(duty)
sleep(0.01)
UART Seri Haberleşme
Pico üzerindeki RP2040 yongasında 2 adet UART denetleyici bulunur. UART; GPS modülleri, seri ekranlar, Bluetooth seri modülleri, bazı sensörler, USB-UART dönüştürücüler veya başka mikrodenetleyicilerle haberleşmek için kullanılabilir.
UART bağlantısında TX hattı karşı cihazın RX hattına, RX hattı karşı cihazın TX hattına bağlanır. Ortak GND bağlantısı unutulmamalıdır. Seviye uyumluluğu kontrol edilmeli; 5 V TTL seri sinyal doğrudan Pico GPIO pinine uygulanmamalıdır.
from machine import UART, Pin
from time import sleep
uart = UART(0, baudrate=9600, tx=Pin(0), rx=Pin(1))
while True:
uart.write("Pico UART test\r\n")
sleep(1)
I2C ile Sensör ve Ekran Bağlantısı
I2C, az pin kullanarak birden fazla sensör veya ekran modülünü aynı veri yoluna bağlamak için kullanılan yaygın bir haberleşme arayüzüdür. Pico'da 2 adet I2C denetleyici vardır ve farklı GPIO pinleri üzerinden kullanılabilir.
OLED ekranlar, BME280/BMP280 basınç sensörleri, MPU6050 IMU modülleri, RTC modülleri ve I/O genişleticiler I2C ile sık kullanılır. I2C hattında SDA ve SCL için pull-up dirençleri gerekir; birçok hazır modülde bu dirençler kart üzerinde bulunur.
from machine import Pin, I2C i2c = I2C(0, scl=Pin(1), sda=Pin(0), freq=400000) print(i2c.scan())
SPI ile Hızlı Veri Aktarımı
SPI, ekranlar, SD kart modülleri, ADC/DAC entegreleri, RF modülleri ve yüksek hızlı sensörlerle haberleşmek için kullanılan senkron bir seri arayüzdür. Pico'da 2 adet SPI denetleyici bulunur.
SPI hattında genellikle SCK, MOSI, MISO ve her cihaz için ayrı CS/CSn hattı bulunur. Birden fazla SPI cihazı aynı saat ve veri hatlarını paylaşabilir; her cihaz ayrı chip select piniyle seçilir.
PIO: Pico'nun Esnek I/O Motoru
PIO, Raspberry Pi Pico'yu pek çok klasik mikrodenetleyiciden ayıran en önemli donanım bloklarından biridir. Her PIO state machine, basit ve deterministik komutlarla GPIO pinlerini hassas zamanlamayla kontrol edebilir. Bu sayede CPU, her bit zamanlamasını yazılımla tek tek takip etmek zorunda kalmaz.
PIO; WS2812/NeoPixel LED şeritleri, özel tek telli protokoller, paralel veri çıkışları, basit VGA benzeri sinyal denemeleri veya standart dışı haberleşme protokolleri için kullanılabilir. Bu özellik, Pico'yu eğitim amaçlı kart olmanın ötesine taşıyıp ciddi prototipleme projelerinde de ilgi çekici hale getirir.
USB Kullanımı
Raspberry Pi Pico, USB 1.1 device ve host desteği sunan bir USB denetleyicisine sahiptir. Standart kullanımda Micro-USB portu hem besleme hem de programlama için kullanılır. BOOTSEL modunda kart bilgisayara bir USB depolama aygıtı gibi görünür ve UF2 dosyası sürüklenip bırakılarak program yüklenebilir.
Gelişmiş projelerde Pico, USB seri cihaz, HID klavye/fare benzeri aygıt, MIDI cihazı veya TinyUSB tabanlı özel USB uygulamaları için kullanılabilir. USB host uygulamalarında güç beslemesi ve VBUS yönetimi ayrıca dikkat gerektirir.
BOOTSEL, UF2 ve Yazılım Yükleme
- Pico'yu bilgisayara bağlamadan önce BOOTSEL butonuna basılı tutun.
- Buton basılıyken Micro-USB kabloyu takın.
- Kart bilgisayarda RPI-RP2 benzeri bir USB depolama birimi olarak görünür.
- MicroPython firmware UF2 dosyasını veya C/C++ ile oluşturulan UF2 uygulamasını bu sürücüye kopyalayın.
- Kopyalama tamamlandığında kart otomatik olarak yeniden başlar ve yüklenen program çalışır.
MicroPython ile çalışmak isteyenler için Thonny gibi editörler pratik bir başlangıç sağlar. C/C++ tarafında ise Raspberry Pi Pico SDK, daha düşük seviyeli ve performans odaklı projeler için tercih edilir.
SWD Debug Bağlantısı
Pico'nun alt kenarında SWDIO, GND ve SWCLK padleri bulunur. Bu padler, Raspberry Pi Debug Probe veya uyumlu SWD araçlarıyla hata ayıklama yapmak için kullanılabilir. SWD, kodu adım adım çalıştırma, breakpoint kullanma ve bellek/register durumunu izleme gibi profesyonel geliştirme imkanları sunar.
SWD padlerinde ayrı bir güç pini yoktur. Debug sırasında Pico'nun USB veya VSYS üzerinden ayrıca beslenmesi gerekir.
Mekanik Yapı ve Montaj
Raspberry Pi Pico 21 mm x 51 mm boyutundadır. İki kenardaki 20'şer pinlik dizilim breadboard kullanımı için uygundur. Düz Pico modelinde pin header lehimli gelmediği için kullanım senaryosuna göre erkek header, dişi header veya doğrudan kablo lehimlenebilir.
Castellated delik yapısı, kartın taşıyıcı PCB üzerine modül gibi lehimlenmesine de imkan verir. Bu özellik, prototipten küçük seri üretime geçişte Pico'yu pratik bir kontrol kartı olarak kullanmayı kolaylaştırır.
Başlangıç İçin Önerilen Malzemeler
- 1 adet Raspberry Pi Pico
- Veri aktarımı destekleyen Micro-USB kablo
- Breadboard ve jumper kablolar
- 2.54 mm erkek pin header veya uygun soket
- LED, direnç, buton ve potansiyometre gibi temel deneme elemanları
- I2C veya SPI tabanlı sensör / OLED ekran modülü
Kullanım Alanları
- MicroPython ve C/C++ eğitim projeleri
- Sensör okuma, veri kaydetme ve basit otomasyon uygulamaları
- PWM ile LED parlaklığı, servo ve motor sürücü kontrolü
- I2C, SPI ve UART tabanlı modül denemeleri
- USB seri cihaz, HID veya TinyUSB tabanlı projeler
- PIO ile özel protokol ve hassas zamanlama uygulamaları
- Taşıyıcı PCB üzerinde kalıcı kontrol kartı olarak kullanım
- STEM, robotik, elektronik ve gömülü sistem eğitimi
Sık Karşılaşılan Durumlar
| Durum | Kontrol / çözüm |
| Kart bilgisayarda görünmüyor | Micro-USB kablonun veri destekli olduğunu kontrol edin. Yalnızca şarj kabloları programlama için yeterli değildir. |
| BOOTSEL moduna girmiyor | BOOTSEL butonuna basılı tutarken USB kabloyu takın ve kartın USB depolama olarak görünmesini bekleyin. |
| LED örneği çalışmıyor | Düz Pico modelinde dahili LED GP25 pinindedir. Farklı kart varyantlarında LED pini değişebilir. |
| ADC değeri kararsız | ADC_VREF ve AGND bağlantılarına dikkat edin; uzun kablo, gürültülü besleme ve eksik filtreleme analog okumaları etkileyebilir. |
| Harici modül haberleşmiyor | GND ortaklığını, lojik seviyeyi, SDA/SCL veya TX/RX hatlarının doğru bağlandığını kontrol edin. |
Dikkat Edilmesi Gerekenler
- GPIO pinlerine 5 V lojik sinyal doğrudan uygulanmamalıdır.
- Motor, röle, yüksek güçlü LED veya bobinli yükler doğrudan GPIO pininden sürülmemelidir.
- VSYS hattına uygulanacak gerilim 1.8 V - 5.5 V DC aralığında kalmalıdır.
- ADC girişlerinde 3.3 V seviyesi aşılmamalı; gerekirse direnç bölücü veya sinyal şartlandırma kullanılmalıdır.
- Headersiz model breadboard'a takılacaksa pin header lehimlenmelidir.
- USB ile bilgisayara bağlıyken harici besleme devresi tasarımı dikkatli yapılmalıdır.
Paket İçeriği
- 1 adet Raspberry Pi Pico RP2040 2MB Flash mikrodenetleyici geliştirme kartı
Pico Modelleri Arasındaki Kısa Farklar
Bu sayfadaki ana ürün düz Raspberry Pi Pico modelidir. Aşağıdaki tablo, aynı ailedeki kartları karıştırmamak için yalnızca temel farkları özetler.
| Model | Kısa fark |
| Raspberry Pi Pico | RP2040 tabanlı, kablosuz olmayan, headersiz standart model. |
| Raspberry Pi Pico H | RP2040 tabanlıdır; lehimli pin header ve JST-style debug konnektörü ile gelir. |
| Raspberry Pi Pico W | RP2040 tabanlıdır; 2.4 GHz WiFi ve Bluetooth desteği bulunan kablosuz modeldir. |
| Raspberry Pi Pico 2 | Yeni nesil RP2350 yongasını kullanır; bu sayfadaki düz Pico ile aynı ürün değildir. |