Adafruit Feather RP2040, gömülü sistem geliştiricileri ve prototipleme uzmanları için taşınabilir projelerin altın standartlarından biri olan Feather ekosistemine tam uyum sağlıyor. Kart; modern USB-C arayüzü, gelişmiş donanımsal LiPo/Li-Ion pil şarj desteği ve endüstri standardı haline gelen STEMMA QT hızlı bağlantı soketiyle öne çıkıyor. Ayrıca üzerinde yer alan 8 MB yüksek hızlı SPI flash belleği, orijinal Raspberry Pi Pico’nun sunduğu 2 MB kapasiteye kıyasla tam 4 kat daha geniş bir depolama alanı sağlayarak büyük veri günlükleme (data logging) ve kapsamlı CircuitPython kütüphane arşivleri için mükemmel bir zemin hazırlıyor.
Raspberry Pi Pico, Raspberry Pi Vakfı’nın kendi tasarımı olan RP2040 mikrodenetleyicisini kullanan ilk öncü geliştirme kartıydı. Ancak bu güçlü silikonun piyasaya çıkmasının ardından farklı üreticiler, kartı ek donanımsal özelliklerle donatarak kendi özel sürümlerini tasarlamaya başladılar. Bu incelememizde; kompakt yapısı, zengin modül desteği ve üst düzey malzeme kalitesiyle RP2040 ekosisteminin en seçkin örneklerinden biri olan Adafruit Feather RP2040 modelini mercek altına alıyoruz.
Gücünü Atmel (Microchip), Espressif veya STM32 gibi farklı SoC (System on Chip) işlemcilerden alan Adafruit Feather serisi, uzun yıllardır gömülü sistemler pazarında yer alıyor. Bu köklü geçmişin en büyük avantajı, FeatherWings olarak adlandırılan ve kartın üzerine doğrudan takılabilen (stackable) yüzlerce hazır genişletme kartına ve sensör modülüne anında erişim sunmasıdır.
Feather ekosistemine daha önce yatırım yapmamış olsanız dahi; gelişmiş güç yönetim sistemi, lehimsiz tak-çalıştır imkanı sunan STEMMA QT (Qwiic uyumlu) konnektörü, 8 MB flash belleği ve 4 adet 12-bit analog-dijital dönüştürücü (ADC) girişi gibi özellikler bu kartı cazip kılmaya yetiyor. Orijinal Pico’nun yaklaşık üç katı fiyat etiketine sahip olsa da, sunduğu zengin donanım bileşenleri bu fiyat farkını fazlasıyla haklı çıkarıyor.

Donanım Özellikleri
- 3.3V lojik seviyede çalışan 21 × çok fonksiyonlu GPIO pini
- 2 × SPI, 2 × I2C, 2 × UART ve donanımsal 4 × 12-bit ADC kanalı
- 16 × hassas PWM çıkış kanalı ve işlemciden bağımsız çalışan 8 × Programlanabilir I/O (PIO)
- Castellated (yarım delikli) PCB tasarımı sayesinde doğrudan SMD olarak lehimlenebilme özelliği
- Kart üzerinde yerleşik olarak bulunan WS2812B NeoPixel RGB akıllı LED
- Lehimsiz I2C haberleşmesi sunan STEMMA QT / Qwiic konnektörü
- Kesintisiz çalışmayı sağlayan otomatik geçişli LiPo ve Li-Ion pil şarj devresi (MCP73831)
- Modern ve dayanıklı USB Type-C konnektörü

- Çift çekirdekli ARM Cortex-M0+ işlemci mimarisi
- 133 MHz’e kadar esnek bir şekilde hız aşırtılabilen sistem saat frekansı
- 264 KB boyutunda ultra hızlı dahili SRAM ve 8 MB yerleşik harici QSPI Flash depolama
Adafruit Feather RP2040, 50.8 × 22.8 mm fiziksel ölçüleri ile standart bir Raspberry Pi Pico’dan (51 × 21 mm) boyutsal olarak çok küçük bir farkla ayrılır. Ancak pin yapısı ve yerleşim tasarımı açısından tamamen Feather standartlarını korur. Bu sayede tüm güncel FeatherWings modülleriyle tak-çalıştır şeklinde tam uyumluluk sunar.
Gelişmiş donanımsal özellikleri yerleştirebilmek ve standart form faktörünü koruyabilmek amacıyla, harici pin sayısı Pico’daki 40 pin yerine 21 GPIO piniyle sınırlandırılmıştır. Projenizde çok fazla paralel I/O hattına ihtiyaç duymuyorsanız, bu azaltılmış pin sayısı prototipleme konforunu artıran bir etkendir.
Kartın üzerindeki analog giriş yetenekleri oldukça gelişmiştir. Pico’da yer alan 3 adet 12-bit ADC kanalına karşılık Feather RP2040 üzerinde 4 adet aktif ADC pini bulunur. Ayrıca, kartın kendi güç hattına bağlı olan ek bir ADC kanalı sayesinde, harici bir voltaj bölücü direnç ağı kurmaya gerek kalmadan bağlı olan LiPo pilin doluluk oranını (gerilim seviyesini) yazılımsal olarak anlık takip edebilirsiniz. İletişim tarafında ise çift I2C, çift SPI ve çift donanımsal UART arayüzü sunulur. GPIO pinlerinden 16 adedi, motor sürücüler, servolar ve analog ses üretimi için PWM sinyal üreteci olarak konfigüre edilebilir.
Yazılımsal durum bildirimleri için CircuitPython veya MicroPython üzerinden tek bir kod satırıyla sürebileceğiniz yerleşik bir WS2812B NeoPixel RGB LED (GPIO 4 hattına bağlı) entegre edilmiştir. 8 MB’lık devasa flash depolama alanı, standart CircuitPython kurulumunun ardından geliştiriciye yaklaşık 7 MB’lık boş bir dosya sistemi alanı bırakır. Bu alan, büyük JSON veri kümelerini, özel yazı tiplerini ve ses dosyalarını saklamak için oldukça yeterlidir.
Gömülü projeler için gerçek hayattaki en büyük avantajı şüphesiz üzerinde yer alan JST-PH (2-pin) pil konnektörüdür. Kart, üzerine entegre edilmiş olan MCP73831 lityum şarj entegresi sayesinde, USB Type-C üzerinden 5V güç aldığında bağlı olan LiPo veya Li-Ion pili otomatik olarak 200mA akım limitiyle şarj eder. USB bağlantısı kesildiğinde ise sistem hiçbir kesintiye uğramadan enerjisini doğrudan bataryadan çekmeye devam eder.

Gelişmiş güç geçiş sistemi (Power Path), sistemi harici bir kesintisiz güç kaynağı (UPS) gibi çalıştırır. Testlerimizde, yerleşik NeoPixel LED’i rastgele renklerde süren döngüsel bir senaryo çalışırken USB kablosunu aniden çıkardık. Kart, mikrosaniyeler düzeyinde bir gecikme dahi yaşamadan LiPo pilden beslenerek kararlı çalışmasını sürdürdü. JST konnektörünün kapladığı fiziksel alan nedeniyle birkaç GPIO pininden feragat edilmiş olsa da, batarya yönetiminin sağladığı taşınabilirlik bu ödünü fazlasıyla telafi etmektedir.
Kartın üzerindeki bir diğer önemli bileşen olan STEMMA QT / Qwiic konnektörü, I2C tabanlı sensörlerin ve ekranların lehimsiz, jst kablolarla tak-çalıştır şeklinde bağlanmasını sağlar. Bu konnektör, donanımsal I2C veri hatlarından birine paralel olarak bağlıdır ve prototipleme sürecini inanılmaz derecede hızlandırır.
Son olarak kartta; bellenim güncellemeleri ve CircuitPython kurulumu için kullanılan klasik BOOTSEL butonunun yanı sıra, mikrodenetleyiciyi fiziksel olarak resetleyen ve USB kablosunu sürekli sök-tak yapma ihtiyacını ortadan kaldıran harika bir donanımsal RESET butonu yer almaktadır.
Adafruit Feather RP2040 ile Yazılım Dünyası
Feather RP2040 resmi bir Adafruit ürünü olduğundan, yazılım ekosisteminin merkezinde doğrudan Vakfın aktif olarak geliştirdiği CircuitPython yer alıyor. CircuitPython, standart MicroPython bellenimine kıyasla çok daha kullanıcı dostu bir dosya yönetim yapısına sahiptir.
Kartı bilgisayarınıza bağladığınızda anında harici bir flash bellek (mass storage) olarak algılanır. Kodlarınızı düzenlemek için harici bir derleyiciye veya özel bir IDE’ye ihtiyaç duymazsınız; bellek içerisindeki `code.py` dosyasını herhangi bir metin düzenleyiciyle (örneğin VS Code veya Mu Editor) düzenleyip kaydettiğiniz anda CircuitPython kodun değiştiğini algılar, kartı otomatik olarak yeniden başlatır ve yeni yazılımı saniyeler içinde koşturur. Adafruit’in devasa açık kaynaklı sensör kütüphanelerini (.mpy formatında) kartın içerisindeki `lib` klasörüne kopyalamanız, STEMMA QT sensörlerini saniyeler içinde çalıştırmanız için yeterlidir.
Yaptığımız ileri seviye donanım testlerinde, VS Code editörü üzerinden doğrudan seri port konsoluna (REPL) bağlanarak NeoPixel LED’leri kontrol eden gelişmiş animasyon kodlarını koşturduk. Kod dosyasını kaydettiğimiz anda sistemin anlık olarak güncellenmesi ve kararlı bir şekilde çalışması, gömülü yazılım geliştiriciler için harika bir konfor sunuyor.
STEMMA QT, I2C Donanımı ve Pull-Up Gerçekleri
Kartın üzerindeki STEMMA QT portunun I2C mimarisini derinlemesine incelediğimizde dikkat edilmesi gereken kritik bir detayla karşılaştık. Testlerimizde, STEMMA QT portuna bağlı olan bir MPR121 kapasitif dokunmatik kartı CircuitPython üzerinden saniyeler içinde sorunsuz bir şekilde çalıştırmayı başardık. Çünkü Adafruit’in STEMMA QT sensör kartlarının üzerinde yerleşik olarak 10kΩ I2C pull-up (yukarı çekme) dirençleri yer almaktadır.
Ancak, STEMMA QT portu yerine doğrudan standart GPIO pinlerini (SDA ve SCL) kullanarak klasik bir 16×2 karakter HD44780 LCD ekranı bağlamaya çalıştığımızda, Python REPL konsolunda sürekli I2C veri yolu hataları (Missing Pull-Up Resistors) aldık. Derinlemesine yaptığımız incelemede; Adafruit Feather RP2040’ın standart dış kenar GPIO pinlerinde donanımsal olarak yerleşik pull-up dirençlerinin bulunmadığını tespit ettik. Her ne kadar RP2040 entegresinin içerisindeki yazılımsal dahili pull-up dirençlerini (internal pull-ups) aktif edebilsek de, bu dahili dirençler yüksek frekanslı (400kHz Fast Mode) I2C haberleşmesinde sinyal kararlılığını sağlamak için yetersiz kalabilmektedir.
Çözüm olarak, SDA ve SCL hatları ile 3.3V güç hattı arasına iki adet harici 4.7K Ohm (veya 10K Ohm) pull-up direnci lehimlediğimizde, I2C veri yolunun mükemmel bir kararlılıkla çalıştığını ve tüm veri kayıplarının tamamen ortadan kalktığını doğruladık.
Feather RP2040; donanımsal OLED ekranlar, harici Wi-Fi yardımcı işlemcileri (co-processors), devasa RGB LED matrisleri ve analog joystick’li denetleyici kartları gibi zengin bir FeatherWing ekosistemine doğrudan erişim sağlayarak karmaşık IoT ve robotik projeleriniz için en güçlü, en kararlı ve en estetik geliştirme platformlarından biridir.

Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.
