Espressif Systems Rehberi: Devre Tasarımı

Kendi ESP32'nizi yapmak, sandığınızdan daha kolay..

Espressif Systems Rehberi: Devre Tasarımı

Espressif Systems, 2008 yılında Çin'de kurulan ve kısa sürede IoT dünyasında devrim yaratan bir şirkettir. Özellikle ESP8266 ve ESP32 mikrodenetleyicileriyle tanınan Espressif, bu çiplerin sunduğu düşük maliyet ve yüksek performans sayesinde, dünya genelinde bir milyardan fazla IoT cihazına güç sağlamaktadır.

ESP Serileri

1. ESP8266 Serisi (İlk Nesil, Wi-Fi)

  • ESP-01 → En küçük ESP8266 modülü, 2 GPIO pini var.
  • ESP-07Harici anten desteği (IPEX konektörü), daha fazla GPIO.
  • ESP-12E/F/SESP8266’nın en popüler versiyonu, 11 GPIO, ADC, SPI, I2C desteği.
  • ESP8285 → ESP8285, ESP8266 ile aynı özelliklere sahiptir ancak 1 MB entegre flaşa sahiptir ve harici flash eklenemez. Yani, ESP8285 kullanan bir modülde daha fazla flash bellek eklemek mümkün değildir.

📌 ESP8266 serisi Wi-Fi destekler, ancak Bluetooth içermez ve genellikle tek çekirdekli 80/160 MHz işlemci kullanır. ESP-12F ve ESP8266 tamamen aynı şey değildir, ancak ESP-12F, ESP8266 çipini kullanan bir modüldür.

Smart Lamp Design Using ESP-12F and WS2812 RGB LEDs
A Wi-Fi-controlled smart lamp using ESP-12F and WS2812 RGB LEDs, adjustable via mobile, PC, or the internet based on time. By Doğukan Sahil.

Örnek ESP12-F çalışması


2. ESP32 Serisi (Çift Çekirdek, Wi-Fi + Bluetooth)

  • ESP32-WROOM-32En yaygın ESP32 modülü, çift çekirdekli, Wi-Fi + Bluetooth 4.2 destekli.
  • ESP32-WROVERWROOM’dan farkı: 8 MB veya 16 MB PSRAM içerir (görüntü işleme, AI için ideal).
  • ESP32-PICO-D4Daha küçük boyutlu (Tüm bileşenleri tek bir çipte içerir).
  • ESP32-C3RISC-V tabanlı, Wi-Fi + Bluetooth 5, düşük güç tüketimli.
  • ESP32-S2Wi-Fi var ama Bluetooth yok, USB-OTG desteği var.
  • ESP32-S3ESP32-S2’nin geliştirilmiş hali, Bluetooth 5 desteği var.
  • ESP32-H2Wi-Fi yok, Zigbee ve Thread desteği var (IoT ve Mesh ağları için uygun).

📌 ESP32 serisi genellikle çift çekirdeklidir, Wi-Fi ve Bluetooth içerir ve daha güçlüdür.

ESP32, Espressif Systems tarafından geliştirilen güçlü, düşük maliyetli ve çok yönlü bir Wi-Fi ve Bluetooth destekli mikrodenetleyicidir. Gömülü sistemler, IoT (Internet of Things – Nesnelerin İnterneti), kablosuz iletişim ve otomasyon projeleri için yaygın olarak kullanılır.

  • İçinde "U" harfi varsa → Harici anten konnektörü (IPEX) bulunur. "U" olmayanlar PCB antenlidir.
  • Sonundaki sayı (örneğin, WROVER-8) → PSRAM kapasitesini gösterir. Örneğin, WROVER-8 → 8 MB PSRAM, WROVER-16 → 16 MB PSRAM içerir.
  • WROOM serisi genellikle PSRAM içermez, ancak WROVER modellerinde PSRAM bulunur.
  • CRISC-V mimarisi (ESP32-C3 gibi).
  • S → SP32-S3 ESP32 ile aynı GPIO sayısına sahiptir. Ancak bazı ek fonksiyonları nedeniyle farklı pin fonksiyonları olabilir. GPIO sayısı açısından bir artış yoktur. Sadece ekstra AI (yapay zeka) talimat setleri ve USB-OTG desteği eklenmiştir.
  • HZigbee, Thread gibi IoT protokolleri (ESP32-H2 gibi).

ESP32-WROOM, standart ESP32 modülüdür ve genellikle 4-16 MB flash belleğe sahiptir. WROVER serisinin tamamında PSRAM olduğu varsayımı yanlış. Modeline göre değişiklik gösterir. WROVER serisi, daha fazla bellek ihtiyacı olan projeler (örneğin görüntü işleme veya büyük veri saklama) için daha uygundur. ESP32-WROOM, yalnızca dahili Flash belleğe sahip standart bir ESP32 modülü iken, ESP32-WROVER ek olarak 8MB PSRAM içerir, bu da büyük veri setleri, görüntü işleme ve yoğun bellek gerektiren uygulamalar için daha uygun hale getirir.

Model Çekirdek Sayısı Saat Hızı (MHz) Wi-Fi Desteği Bluetooth Desteği USB Desteği Güç Tüketimi (mA) Öne Çıkan Özellikler
ESP 8266 1 (Tensilica L106) 80/160 802.11 b/g/n Yok Yok 15-400 Düşük maliyet, Wi-Fi, IoT için yaygın
ESP 8285 1 (Tensilica L106) 80/160 802.11 b/g/n Yok Yok 15-400 ESP8266 ile benzer, dahili flash
ESP 32 2 (Xtensa LX6) 160/240 802.11 b/g/n BT 4.2/BLE Yok 10-240 Wi-Fi + BT, çift çekirdek, güçlü
ESP32-C3 1 (RISC-V) 160 802.11 b/g/n BT 5/BLE Yok 10-130 RISC-V, düşük güç, güvenlik geliştirilmiş
ESP32-S2 1 (Xtensa LX7) 240 802.11 b/g/n Yok USB-OTG 5-170 USB-OTG, yüksek GPIO sayısı, Wi-Fi
ESP32-S3 2 (Xtensa LX7) 240 802.11 b/g/n BT 5/BLE USB-OTG 5-240 ESP32-S2'ye ek olarak Bluetooth 5
ESP32-H2 1 (RISC-V) 96 Yok BT 5.2/BLE Yok 5-80 Bluetooth Mesh ve Zigbee desteği

Ayrıca yakın zamanda duyurulan ESP32-C5 serisi 5Ghz desteği sunarken, ESP32-C6 Wi-Fi 6, Bluetooth 5.3 ve Thread desteği sunuyor. ESP32-C3'ün geliştirilmiş versiyonu olarak düşünülebilir.

Ram farkı

Özellik PSRAM SRAM DRAM
Hız Orta (SRAM’den yavaş, DRAM’e yakın) Çok hızlı Daha yavaş
Yapı DRAM temelli, ancak kontrolü kolay Transistör tabanlı Kapasitör tabanlı
Kapasite 8 MB, 16 MB gibi düşük kapasiteler Küçük kapasiteli (KB-MB) GB seviyesine kadar çıkar
Güç Tüketimi Düşük Düşük Daha yüksek
Mikrodenetleyici Kullanımı Harici bellek olarak eklenebilir Genellikle entegre (ESP içinde) Genelde harici (PC’lerde)

ESP serilerinde kullanılan bellek yapıları, modeline göre değişiklik gösterir. ESP32-WROOM gibi standart modeller, dahili olarak 520 KB SRAM içerir ve genellikle harici PSRAM bulunmaz. Bu SRAM, ESP32’nin ana çalışma belleği olup, transistör tabanlıdır, hızlıdır ve yenileme gerektirmez. Ancak kapasitesi sınırlı olduğu için büyük veri işleme gerektiren projelerde yetersiz kalabilir. ESP32-C3 gibi RISC-V tabanlı modellerde 400 KB SRAM, ESP32-S3 gibi gelişmiş versiyonlarda ise 512 KB SRAM bulunur.

ESP32-WROVER serisi, standart WROOM modellerine ek olarak harici PSRAM içerir. Bu PSRAM, kapasitör tabanlıdır ve DRAM’e benzer şekilde çalışır, yani daha büyük veri işleme kapasitesi sağlar ancak daha yavaştır ve yenileme gerektirir. WROVER-8 veya WROVER-16 gibi adlandırmalarda sondaki rakam, modülde bulunan PSRAM kapasitesini ifade eder (örneğin WROVER-8 = 8 MB PSRAM, WROVER-16 = 16 MB PSRAM). PSRAM sayesinde ESP32-WROVER modelleri, büyük veri işlemleri, görüntü işleme ve AI (yapay zeka) gibi yoğun bellek gerektiren işlemler için daha uygundur.

ESP serilerinde flash bellek de önemli bir unsurdur. Standart ESP32 modelleri harici SPI Flash kullanır, bu flash bellek genellikle 4 MB, 8 MB veya 16 MB kapasiteye sahiptir. ESP8266 gibi eski modellerde doğrudan harici SPI Flash bulunurken, ESP8285 gibi bazı özel versiyonlar 1 MB dahili flash içerir. SPI (Serial Peripheral Interface) üzerinden çalışan bu bellekler, genellikle programların ve statik verilerin saklandığı alandır. PSRAM’den farklı olarak, SPI Flash daha yavaş olsa da kalıcı veri depolamak için kullanılır. Büyük uygulamalar ve sık veri erişimi gerektiren projeler için SPI Flash kapasitesi önemli bir faktördür.

Özetle, ESP32’nin ana çalışma belleği SRAM’dir, ancak gelişmiş modellerde harici PSRAM desteği eklenerek daha büyük veri işlemleri mümkün hale gelir. Flash bellek ise kod ve kalıcı verileri saklamak için kullanılır ve genellikle harici SPI Flash olarak gelir. Bu bellek yapılarını anlamak, ESP modülleriyle çalışırken hangi modelin hangi projeye daha uygun olduğunu belirlemede kritik bir rol oynar.

Programlama

  • ESP32-S2 (USB OTG): USB On-The-Go (OTG) desteği vardır. Hem USB cihazı hem de USB host olarak çalışabilir. USB üzerinden doğrudan programlanabilir, yani harici USB-UART dönüştürücüye gerek yoktur. USB
  • ESP32-S3 (USB OTG): USB OTG desteği vardır. Hem USB cihazı hem de host olarak çalışabilir. USB üzerinden doğrudan programlanabilir ve HID cihazları (klavye, fare vb.) simüle edebilir. USB

Eğer ESP32’de dahili USB (OTG veya Serial/JTAG) desteği yoksa, programlama için harici bir USB-UART dönüştürücü kullanmak gerekir. En yaygın kullanılan çeviriciler CH340, CP2102, FTDI FT232RL ve PL2303 gibi entegrelerdir. Bu dönüştürücüler, ESP32’nin UART (TX/RX) pinleri üzerinden bilgisayarla haberleşmesini sağlar. Programlama sırasında BOOT (GPIO0) pini düşük seviyeye çekilerek ESP32 flash moduna alınır ve yazılım yüklenir. Alternatif olarak, bazı geliştirme kartları (örneğin ESP32 DevKit) üzerinde otomatik programlama devresi bulunur, böylece manuel mod değiştirmeye gerek kalmadan doğrudan yazılım yüklenebilir.

USB-Seri Dönüştürücü Çip: CH340
Elektronik ve bilişim dünyasında, cihazlar arasındaki iletişimi sağlamak için çeşitli protokoller ve arayüzler kullanılır. USB (Universal Serial Bus), bu protokoller arasında en yaygın olanlardan biridir ve modern bilgisayarların vazgeçilmez bir parçasıdır. Ancak, mikrodenetleyiciler ve diğer gömülü sistemler genellikle UART (Universal Asynchronous Receiver-Transmitter), RS232 veya RS485 gibi seri iletişim protokollerini kullanır.

ESP32-S2 ve ESP32-S3'ün USB-OTG desteği var, ancak tam teşekküllü bir USB host (ev sahibi) olarak kullanımı bazı kısıtlamalara sahip. ESP32-S2 ve ESP32-S3'ün USB-OTG desteği sayesinde doğrudan USB üzerinden programlanması mümkündür. Yani, harici bir USB-UART dönüştürücü (CH340, CP2102, FTDI vs.) kullanmadan bilgisayara bağlanarak yazılım yüklenebilir. Ancak bazı detaylara dikkat etmek gerekiyor. ESP32-S2 ve ESP32-S3, USB host olarak çalışabilir ama sadece bazı temel cihazları destekler.

  • Klavyeler, fareler, bazı seri cihazlar gibi davranabilir.
  • USB bellek, harici disk, web kamera, ses kartı gibi cihazlar henüz doğrudan desteklenmiyor.

ESP32’ye OTA (Over-the-Air) ile doğrudan programlama yapabilmek için, ilk başta cihazın OTA destekleyen bir firmware ile programlanması gerekir. Yani, OTA'yı kullanarak bir güncelleme yapmadan önce, ESP32’ye en az bir kez kablolu bağlantı (USB veya UART) ile OTA destekli bir yazılım yüklenmelidir.

ESP32, Arduino IDE, ESP-IDF, PlatformIO, MicroPython ve CircuitPython gibi farklı geliştirme ortamlarıyla programlanabilir. Arduino IDE, basit projeler ve hızlı geliştirme için popülerdir, ancak ESP32’nin tüm özelliklerini kullanmak için Espressif’in resmi geliştirme ortamı olan ESP-IDF daha uygundur. PlatformIO, hem Arduino hem de ESP-IDF ile uyumludur ve gelişmiş proje yönetimi sunar. MicroPython ve CircuitPython, Python ile programlama yapmak isteyenler için idealdir. Ayrıca, Eclipse ve VS Code gibi IDE’ler de ESP-IDF eklentileriyle kullanılabilir.

Tasarım

Dahili anten içeren ESP kartları PCB'ye yerleştirilirken sağ-sol ve antenin bulunduğu kısmın yukarısında 15'er milimetre boşluk bırakılmasını önermektedir Donanım Tasarımı Yönergeleri .

ESP32’nin dahili bir osilatörü olsa da, ana sistem saatini sağlamak için harici bir kristal osilatöre ihtiyaç duyar. Dahili 40 MHz’lik bir harici kristal kullanılır ve bu, sistemin ana saat kaynağı olarak görev yapar. ESP32 ayrıca 32.768 kHz’lik bir harici RTC kristalini destekler, ancak bu isteğe bağlıdır; RTC (Real-Time Clock) düşük güç modlarında çalışırken saat bilgisini koruyabilir. Eğer harici RTC kristali kullanılmazsa, RTC saati dahili RC osilatörüne dayanarak çalışabilir, ancak bu daha az kararlıdır. Ethernet kullanımı durumunda ise 50 MHz’lik harici bir saat kaynağı (örneğin bir osilatör veya RMII PHY üzerinden sağlanan saat sinyali) gerekebilir. PCB tasarımında kristal bağlantılarının kısa ve simetrik olması, yük kapasitörlerinin doğru seçilmesi sinyal bütünlüğü açısından kritik öneme sahiptir.

Sığaç
Sığaç (kapasitör veya kondansatör) , elektrik devrelerinde temel enerji depolama birimleridir ve enerjiyi kısa süreliğine depolama ve serbest bırakma görevini yerine getirirler. Elektronik dünyasında bu bileşenler, basit bir devredeki gürültü önlemeden yüksek hassasiyetli sinyal işleme ve enerji depolama sistemlerine kadar pek çok alanda kullanılır. * Kondansatör: Bu terim, Fransızca “condensateur” kelimesinden türetilmiştir.

ESP32 Hardware Design Guidelines belgesinde decoupling (dekupaj) kapasitörleri hakkında şu önemli noktalar belirtilmiş:

1. Dijital Güç İçin Dekupaj Kapasitörleri

  • VDD3P3_CPU (ESP32'nin ana dijital güç kaynağı) için:
    • 0.1 µF kapasitör doğrudan bu pine yakın yerleştirilmeli.
    • Bu kapasitör, güç dalgalanmalarını azaltarak ESP32'nin kararlı çalışmasını sağlar.
  • VDD_SDIO (ESP32'nin harici flash/PSRAM için güç çıkışı) için:
    • 1 µF veya 4.7 µF kapasitör öneriliyor.
    • Kullanılan bileşenlerin gerilimine bağlı olarak değişebilir.

2. Analog Güç İçin Dekupaj Kapasitörleri

  • VDD3P3 (ESP32'nin analog bileşenleri için güç kaynağı) için:
    • 10 µF kapasitör eklenmeli.
    • Ek olarak bir 1 µF kapasitör de konulabilir.
    • Bu, ESP32'nin RF ve ADC gibi hassas bileşenlerinin stabil çalışmasını sağlar.
  • Ek olarak, LC devresi (indüktör + kapasitör) kullanılması öneriliyor:
    • Bu, yüksek frekanslı gürültüyü baskılar ve daha temiz bir güç hattı sağlar.

3. RTC Gücü İçin Dekupaj Kapasitörleri

  • VDD3P3_RTC (Gerçek Zamanlı Saat - RTC için güç kaynağı) için:
    • 0.1 µF kapasitör eklenmeli.
    • Bu kapasitör, RTC'nin düşük güç modlarında stabil kalmasını sağlar.

1. EN (Enable) Butonu (Reset Butonu)

  • ESP32'nin resetlenmesini sağlar.
  • CHIP_PU (CHIP Power Up) pinine bağlıdır.
  • EN butonu aslında bir reset butonu değildir. ESP32’nin çalışmasını etkinleştirmek için CHIP_PU (Power Up) pinine bağlıdır. Düşük seviyeye çekildiğinde ESP32 kapanmaz, sadece bekleme moduna girer. Bırakıldığında tekrar çalışmaya başlar. Fiziksel olarak bir reset butonu gibi çalışsa da, aslında sadece çipi "yeniden etkinleştirir".
  • 10 kΩ pull-up direnci ve 1 µF kapasitör ile RC gecikmesi sağlanarak düzgün bir reset işlemi yapılır.

2. BOOT Butonu (Download Mode Butonu)

  • ESP32'yi "Bootloader Mode" yani "Firmware Yükleme Moduna" alır.
  • GPIO0 pinine bağlıdır.
  • Normalde HIGH durumundadır, basıldığında LOW olur.
  • USB veya UART üzerinden yeni firmware yüklemek için gereklidir.
  • 10 kΩ pull-up direnciyle sabit HIGH tutulur.

ESP32'nin Butonlarla Çalışma Mantığı

ESP32'nin doğru şekilde çalışabilmesi için BOOT ve EN butonlarının kombinasyonu kullanılır:

EN (Reset) Butonu BOOT Butonu (GPIO0) Mod
Serbest (HIGH) Serbest (HIGH) Normal Çalışma (SPI Boot)
Basılı (LOW) Serbest (HIGH) Reset Durumu
Serbest (HIGH) Basılı (LOW) Firmware Yükleme (Bootloader Mode)

ESP32'yi Flash Moduna Alma (Firmware Yükleme)

  1. BOOT butonuna basılı tut.
  2. EN (Reset) butonuna basıp bırak.
  3. BOOT butonunu bırak.
  4. ESP32 artık firmware yükleme modunda.

ESP32'de OTA (Over-The-Air) Güncelleme yapacaksan, BOOT ve EN butonlarına ihtiyacınız yok. Çünkü OTA güncellemeleri, ESP32’nin mevcut yazılımı üzerinden kablosuz (Wi-Fi) veya kablolu (Ethernet) olarak yapılır.

Kaynaklar

Espressif Systems. Technical Documents. Espressif Systems, www.espressif.com/en/support/documents/technical-documents. Accessed 12 Feb. 2025.