ESP32-S3 1.64″ AMOLED Dokunmatik Ekranlı WiFi ve Bluetooth Geliştirme Kartı Waveshare
ESP32-S3 1.64″ AMOLED Dokunmatik Ekranlı WiFi ve Bluetooth Geliştirme Kartı Waveshare
ESP32-S3 1.64″ AMOLED Dokunmatik Ekranlı Geliştirme Kartı; yüksek çözünürlüklü renkli ekran, kapasitif dokunmatik kontrol, WiFi, Bluetooth Low Energy, hareket algılama, hafıza kartı ve lityum pil desteğini tek bir kompakt platformda birleştiren güçlü bir insan-makine arayüzü geliştirme kartıdır. Kart; dokunmatik kontrol paneli, akıllı saat veya bileklik prototipi, kablosuz sensör ekranı, taşınabilir veri kaydedici, ev otomasyon kumandası, mini gösterge paneli, makine durumu izleme terminali ve IoT kullanıcı arayüzü gibi projeleri ayrı ekran ve sensör modülleri bağlamadan geliştirmeyi sağlar.
Kartın merkezinde 240 MHz'e kadar çalışan çift çekirdekli Xtensa LX7 işlemcili ESP32-S3R8 bulunur. 16 MB Flash ve 8 MB PSRAM; grafik dosyaları, LVGL widget'ları, ağ yığınları ve daha büyük ekran tamponları için geniş çalışma alanı sunar. 280 x 456 piksel çözünürlüklü 1.64 inç AMOLED panel, CO5300 sürücü üzerinden QSPI ile kontrol edilir. FT3168 dokunmatik denetleyici I2C üzerinden dokunma konumlarını iletir; QMI8658C IMU ise üç eksenli ivmeölçer ve üç eksenli jiroskop verileri sağlar.
USB Type-C bağlantısı; güç, program yükleme ve seri hata ayıklama için kullanılır. Kart üzerindeki TF/microSD yuvasına resimler, fontlar, ses veya kayıt dosyaları konabilir. 3.7 V lityum pil konnektörü ve kart üzerindeki şarj/güç yönetimi devresi sayesinde taşınabilir projeler geliştirilebilir. İki adet 11 pin, 2.54 mm aralıklı bağlantı grubu; UART, I2C, USB ve çoklanabilir GPIO sinyallerini harici donanımlara açar.

Öne Çıkan Özellikler
- 240 MHz'e kadar çift çekirdekli 32-bit Xtensa LX7 işlemci
- ESP32-S3R8, 512 KB dahili SRAM ve 384 KB ROM
- 16 MB kart üstü Flash ve 8 MB PSRAM
- 1.64 inç, 280 x 456 piksel, 16.7 milyon renk AMOLED ekran
- CO5300 ekran sürücüsü ve hızlı QSPI görüntü arayüzü
- FT3168 I2C kapasitif dokunmatik denetleyici
- 350 cd/m² parlaklık, 60000:1 kontrast ve 178° geniş görüş açısı
- 2.4 GHz WiFi 802.11 b/g/n ve Bluetooth 5 Low Energy
- QMI8658C altı eksenli IMU: üç eksen ivmeölçer + üç eksen jiroskop
- TF/microSD kart yuvası; resim, font, veri ve dosya depolama
- 3.7 V lityum pil için MX1.25 şarj/deşarj konnektörü
- USB Type-C üzerinden besleme, firmware yükleme ve debug
- RST ve programlanabilir BOOT düğmeleri
- Dahili PCB anteni; donanım değişikliğiyle harici anten seçeneği
- UART, I2C, USB ve çoklanabilir GPIO genişleme hatları
- LVGL grafik arayüzleri için yeterli PSRAM ve resmî demo desteği
- Arduino IDE ve profesyonel ESP-IDF geliştirme ortamı desteği
- Ekranı çevreleyen CNC işlenmiş metal koruma çerçevesi
Teknik Özellikler
| Ürün modeli | Waveshare ESP32-S3-Touch-AMOLED-1.64 |
| Ürün kodu | SKU 31197 |
| Ana kontrolcü | ESP32-S3R8 |
| İşlemci | Çift çekirdekli Xtensa 32-bit LX7 |
| Saat frekansı | 240 MHz'e kadar |
| Dahili bellek | 512 KB SRAM, 384 KB ROM ve 16 KB RTC SRAM |
| Harici PSRAM | 8 MB |
| Flash bellek | 16 MB W25Q128 sınıfı kart üstü Flash |
| Kablosuz ağ | 2.4 GHz WiFi 802.11 b/g/n |
| Bluetooth | Bluetooth 5 Low Energy ve Bluetooth Mesh |
| Dahili anten | PCB anten; lehim direnci değiştirilerek harici IPEX/U.FL yoluna geçiş imkânı |
| Ekran türü | AMOLED |
| Ekran boyutu | 1.64 inç |
| Çözünürlük | 280 x 456 piksel |
| Renk derinliği | 16.7 milyon renk; uygulamada yaygın olarak RGB565, 16-bit |
| Parlaklık | 350 cd/m² |
| Kontrast | 60000:1 |
| Görüş açısı | 178° |
| Ekran sürücüsü | CO5300 |
| Ekran arayüzü | QSPI: CLK, CS ve dört veri hattı |
| Dokunmatik türü | Kapasitif dokunmatik |
| Dokunmatik kontrolcü | FT3168, I2C slave, 400 kbit/s'ye kadar |
| Dokunmatik rapor hızı | 100 Hz'e kadar |
| Hareket sensörü | QMI8658C altı eksenli IMU |
| İvmeölçer aralığı | Seçilebilir ±2 g, ±4 g, ±8 g ve ±16 g |
| Jiroskop aralığı | Seçilebilir ±16 dps ile ±2048 dps |
| Harici depolama | TF/microSD kart yuvası; resmî örnek 64 GB altındaki kartları önerir |
| Pil bağlantısı | 3.7 V, 2 pin MX1.25 lityum pil konnektörü |
| Pil yönetimi | ETA6098 şarj/güç yönetimi ve batarya gerilimi ADC ölçümü |
| USB | USB Type-C; USB 2.0 Full-Speed OTG ve USB Serial/JTAG |
| Genişleme | 2 x 11 pin, 2.54 mm; GPIO, UART, I2C, USB, güç ve batarya hatları |
| Düğmeler | RST ve BOOT/kullanıcı düğmesi |
| Geliştirme ortamları | Arduino IDE ve ESP-IDF |
| Grafik altyapısı | LVGL; resmî Arduino demosunda v8.4.0 |

ESP32-S3R8 İşlemci ve Bellek Yapısı
ESP32-S3; gerçek zamanlı kontrol, kablosuz haberleşme ve grafik kullanıcı arayüzünü aynı sistemde yürütebilen çift çekirdekli bir mikrodenetleyicidir. Xtensa LX7 çekirdekleri 240 MHz'e kadar çalışır ve vektör/SIMD komutları sayesinde bazı sinyal işleme ve yapay zekâ hesaplarında klasik mikrodenetleyicilere göre daha verimli olabilir. FreeRTOS görevleri kullanılarak ekran yenileme, dokunmatik okuma, ağ trafiği ve sensör örnekleme farklı görevler arasında paylaştırılabilir.
Kart üzerindeki 8 MB PSRAM özellikle LVGL ekran tamponları, PNG/JPEG çözme, daha büyük JSON paketleri, kablosuz veri kuyruğu ve dosya önbelleği için değerlidir. 16 MB Flash ise uygulama, OTA güncelleme bölümleri, fontlar ve sabit görsel kaynaklar için daha geniş partition düzenleri kurulmasına olanak verir. Yine de Flash ve PSRAM'ın tamamı doğrudan kullanıcı verisine ayrılmaz; bootloader, partition tablosu, firmware ve sistem kullanımı alan tüketir.
- USB Serial/JTAG sayesinde ek USB-UART dönüştürücü olmadan programlama ve seri çıktı
- Güvenli önyükleme, Flash şifreleme, AES, SHA, RSA, HMAC ve donanımsal RNG
- Derin uyku ve ULP yardımcı işlemcileriyle pil odaklı tasarım seçenekleri
- SPI, UART, I2C, I2S, USB, SD/MMC, PWM, ADC ve TWAI/CAN denetleyicisi
1.64 İnç AMOLED Ekran
AMOLED teknolojisinde her piksel kendi ışığını üretir. Siyah pikseller kapatılabildiği için karanlık temalarda yüksek kontrast ve düşük ekran enerjisi elde edilebilir. 280 x 456 çözünürlük, bu küçük fiziksel alanda yoğun metin ve akıcı ikonlar gösterebilecek yüksek piksel yoğunluğu sunar. 350 cd/m² parlaklık iç mekân ve kontrollü dış ortam uygulamaları için uygun; 60000:1 kontrast oranı ise özellikle koyu arayüzlerde belirgin bir görüntü sağlar.
CO5300 sürücüye gönderilen görüntü verisi QSPI üzerinden dört paralel veri hattıyla aktarılır. Bu yapı klasik tek veri hatlı SPI ekranlara göre daha yüksek bant genişliği sağlayarak LVGL animasyonları ve daha sık ekran yenilemeleri için avantaj oluşturur. Ekranın kendisi donanımsal rotasyon sağlamaz. 90° yön değişimi gerekiyorsa resmî ESP-IDF örneğinde EXAMPLE_Rotate_90 makrosuyla yazılımsal rotasyon etkinleştirilir; yazılımsal döndürme ek bellek ve işlem süresi kullanır.


FT3168 Kapasitif Dokunmatik
FT3168 dokunmatik denetleyici, panel üzerindeki dokunmayı işleyerek mutlak X/Y koordinatlarını ESP32-S3'e I2C üzerinden iletir. Denetleyici 400 kbit/s'ye kadar I2C ve 100 Hz'e kadar rapor hızını destekler. INT sinyali yeni dokunma verisi hazır olduğunda işlemciyi bilgilendirebilir; RESET hattı da dokunmatik denetleyiciyi yazılımdan veya açılış sırasında yeniden başlatmak için kullanılır.
LVGL tarafında dokunmatik sürücü, okunan koordinatları input device yapısına aktarır. Düğme, slider, liste, klavye ve kaydırılabilir sayfalar bu katmanın üzerine kurulabilir. Ekran yazılımla döndürüldüğünde dokunmatik koordinat dönüşümü de aynı yön ve çözünürlüğe göre yapılmalıdır; aksi halde kullanıcının dokunduğu konum ile seçilen widget uyuşmaz.
Kullanım notu: Islak yüzey, kalın eldiven, metal kasa yakınlığı veya uygun olmayan ekran koruyucu kapasitif dokunma hassasiyetini etkileyebilir. Dokunmatik paneli sert veya sivri cisimlerle kullanmayın.
QMI8658C Altı Eksenli IMU
QMI8658C; üç eksende doğrusal ivmeyi ve üç eksende açısal hızı ölçer. Kartın yön değişimi, bilek hareketi, sarsıntı, eğim, adım benzeri hareketler ve kullanıcı jestleri bu verilerden türetilebilir. Resmî örnek, ivmeölçer, jiroskop ve sensör sıcaklığının ham değerlerini saniyede bir seri terminale yazar; Euler açıları veya uygulamaya özel yönelim hesabı geliştirici tarafından yapılır.
| Sensör | QMI8658C, 6D IMU ve hareket yardımcı işlemcisi |
| İvmeölçer aralıkları | ±2 g, ±4 g, ±8 g, ±16 g |
| Jiroskop aralıkları | ±16, ±32, ±64, ±128, ±256, ±512, ±1024, ±2048 dps |
| Bağlantı | Kart üzerinde I2C ve INT1 kesme hattı |
| Veri | X/Y/Z ivme, X/Y/Z açısal hız, sıcaklık ve zaman damgası |
| FIFO | 1536 bayt programlanabilir sensör veri tamponu |
| Çalışma sıcaklığı | -40°C ile +85°C sensör aralığı |
// Resmî QMI8658 sürücüsüyle kullanılabilecek görev mantığı
void imu_task(void *parameter) {
qmi8658_init();
while (true) {
qmi8658_data_t sample;
if (qmi8658_read(&sample)) {
Serial.printf("ACC X:%0.3f Y:%0.3f Z:%0.3f g\n",
sample.acc_x, sample.acc_y, sample.acc_z);
Serial.printf("GYRO X:%0.2f Y:%0.2f Z:%0.2f dps\n",
sample.gyr_x, sample.gyr_y, sample.gyr_z);
}
delay(1000);
}
}
Yukarıdaki örnek iş akışını gösterir; veri tipi ve fonksiyon adları kullanılan Waveshare demo sürücüsüne göre uyarlanmalıdır. Başlangıçta sensör düz bir yüzeyde sabit tutulmalı, ofset kalibrasyonu yapılmalı ve fiziksel kart eksenleri uygulamanın koordinat sistemiyle eşleştirilmelidir.

WiFi ve Bluetooth Low Energy
ESP32-S3, 2.4 GHz bandında WiFi 4 sınıfı 802.11 b/g/n ağlarını destekler. Kart hem STA istemci olarak mevcut yönlendiriciye bağlanabilir hem de SoftAP erişim noktası oluşturabilir. Böylece arayüz; MQTT kontrol paneli, HTTP/REST terminali, yerel web sunucusu, kablosuz sensör ekranı veya cihaz kurulum ekranı olarak kullanılabilir.
Bluetooth 5 Low Energy; telefon uygulamaları, BLE sensörleri, beacon cihazları ve düşük güçlü yapılandırma bağlantıları için kullanılabilir. Bluetooth Mesh desteği uygun yazılım yığınıyla çok düğümlü aydınlatma ve bina otomasyonu uygulamalarına imkân verir. ESP32-S3 klasik Bluetooth BR/EDR ses profillerini desteklemez; Bluetooth özelliği BLE odaklıdır.
#include
const char *ssid = "WiFi_ADI";
const char *password = "WiFi_SIFRESI";
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println();
Serial.print("IP adresi: ");
Serial.println(WiFi.localIP());
}
void loop() {
// Ağ verisini al, ekran arayüzünü güncelle.
}
#include
void setup() {
Serial.begin(115200);
WiFi.softAP("ESP32_AMOLED", "12345678");
Serial.print("Erişim noktası IP: ");
Serial.println(WiFi.softAPIP());
}
void loop() {
Serial.printf("Bağlı cihaz: %d\n", WiFi.softAPgetStationNum());
delay(2000);
}

TF / microSD Kart Depolama
Kart üzerindeki TF yuvası; arayüz görselleri, özel fontlar, günlük kayıtları, sensör verileri, kullanıcı ayarları ve ağ üzerinden indirilen dosyalar için çıkarılabilir depolama sağlar. Waveshare örnek projesi TF kartı SPI veya SDMMC yöntemiyle çalıştırabilir. ESP-IDF örneğinde sd_card_bsp.c içindeki derleme makrosuyla yöntem seçilir.
Resmî wiki, örnekleri çalıştırmadan önce kapasitesi 64 GB'ın altında bir TF kartın takılmasını belirtir. Uyum; kartın dosya sistemi, partition yapısı ve kullanılan kütüphaneye de bağlıdır. İlk test için FAT32 biçimlendirilmiş, güvenilir markalı bir kart tercih edilmelidir. Yazma sırasında güç kesilmesi dosya sistemini bozabileceği için veri kaydedici projelerinde güvenli kapatma ve periyodik flush uygulanmalıdır.
#include
#include
void listCard() {
if (!SD.begin()) {
Serial.println("TF kart bağlanamadı");
return;
}
uint64_t totalMB = SD.cardSize() / (1024 * 1024);
uint64_t usedMB = SD.usedBytes() / (1024 * 1024);
Serial.printf("Kapasite: %llu MB, kullanılan: %llu MB\n",
totalMB, usedMB);
}
Bu genel Arduino örneğinde SD.begin() çağrısının pin ve SPI nesnesi Waveshare kart tanımına göre yapılandırılmalıdır. Resmî demo, doğru kart pinlerini ve SDMMC/SPI seçimlerini hazır olarak içerir.
Pil, Şarj ve Güç Yönetimi
Kart, 3.7 V tek hücreli lityum pil için iki pinli MX1.25 konnektör ve ETA6098 tabanlı şarj/güç yönetimi içerir. USB bağlıyken uygun pil şarj edilebilir; USB ayrıldığında sistem pil üzerinden çalışabilir. BAT_ADC ölçüm hattı, direnç bölücü üzerinden sistem/pil geriliminin yazılımla izlenmesini sağlar. Waveshare ADC örneği ADC1 kanal 3'ü tek seferlik ADC birimiyle yapılandırır, ham değerden sistem gerilimini hesaplar ve saniyede bir terminale yazar.
Pil güvenliği: Yalnızca doğru polaritede, 3.7 V nominal tek hücreli ve uygun koruma devresine sahip Li-ion/Li-Po pil kullanın. Konnektörün fiziksel olarak uyması polaritenin doğru olduğu anlamına gelmez. Pil takmadan önce artı/eksi yönünü ölçerek doğrulayın. Hasarlı, şişmiş veya uygun olmayan hücre kullanmayın; pili kısa devre etmeyin.
// Şemadaki 200K / 100K bölücü için kavramsal gerilim hesabı
// Gerçek ADC kalibrasyonu ve pin tanımı resmî demo ile alınmalıdır.
float adcToSystemVoltage(int raw, float adcReference) {
const float dividerRatio = 3.0f; // (200K + 100K) / 100K
float adcVoltage = (raw / 4095.0f) * adcReference;
return adcVoltage * dividerRatio;
}
ADC referansı, kalibrasyon, tolerans ve ESP32-S3 ADC doğrusal olmayanlığı ölçümü etkiler. Pil yüzdesi doğrudan gerilimin lineer ölçeklenmesiyle belirlenmemeli; hücrenin deşarj eğrisi, yük akımı ve sıcaklık dikkate alınmalıdır.
Genişleme Arayüzleri ve Kart Üstü Kaynaklar
İki adet 11 pinlik, 2.54 mm aralıklı başlık alanında güç ve haberleşme sinyalleri dışarı alınır. Resmî şema; VBAT, USB 5 V, 3.3 V, GND, UART TX/RX, I2C SDA/SCL, USB D-/D+ ve GPIO1, GPIO2, GPIO3, GPIO5, GPIO6, GPIO7, GPIO8, GPIO15, GPIO16, GPIO17, GPIO18 ve GPIO45 gibi sinyalleri gösterir. Kart revizyonuna ve lehimleme yönüne göre fiziksel sıra için mutlaka resmî pin görseli veya şema kullanılmalıdır.
| UART | Harici seri modül, GNSS, RS-485 transceiver, debug konsolu |
| I2C | Sensör, RTC, GPIO expander, ADC/DAC ve güç yönetimi çevre birimleri |
| USB D+ / D- | Özel USB aygıtı veya USB OTG uygulamaları; donanım/yazılım tasarımı gerekir |
| MUX GPIO | Dijital giriş/çıkış, PWM, ADC veya çevre birimi sinyali; pin kısıtları kontrol edilmelidir |
| 3.3 V | 3.3 V lojikli harici çevre birimleri için besleme hattı; akım bütçesi gözetilmelidir |
| VBAT / USB 5 V | Güç hatlarıdır; GPIO veya 3.3 V lojik sinyali değildir |


Boyutlar ve Mekanik Yapı
Ekran çevresindeki CNC işlenmiş metal çerçeve, panel kenarlarını korur ve ürüne tamamlanmış cihaz görünümü kazandırır. Bu yapı; giyilebilir cihaz, masaüstü panel veya muhafazaya gömülen kontrol terminali projelerinde mekanik dayanıklılık sağlar. Kartı özel bir kasaya yerleştirirken Type-C, TF kart, BOOT/RESET düğmeleri, pil kablosu ve anten çevresinde erişim boşluğu bırakılmalıdır.

Hangi Projelerde Kullanılabilir?
- Akıllı saat, aktivite ekranı ve bileğe takılan kontrolcü prototipleri
- Home Assistant, MQTT veya özel API kullanan ev otomasyon paneli
- WiFi bağlantılı sıcaklık, enerji, hava kalitesi veya üretim verisi göstergesi
- BLE cihaz tarayıcı ve kablosuz sensör yapılandırma terminali
- Hareketle kontrol edilen menü ve yön değişimine duyarlı kullanıcı arayüzü
- TF karta kayıt yapan taşınabilir veri kaydedici
- Makine durum, alarm, sayaç ve bakım ekranı
- Robot, mobil platform veya laboratuvar cihazı kullanıcı paneli
- USB HID, özel USB çevre birimi ve seri kontrol projeleri
- Dokunmatik oyun, sayaç, kronometre ve eğitim uygulamaları

Arduino IDE Kurulumu
- Güncel Arduino IDE sürümünü kurun.
- Boards Manager üzerinden esp32 by Espressif Systems paketini kurun. Waveshare bu kart için sürüm 3.1.0 veya üzerini belirtir.
- Waveshare demo ZIP dosyasını indirin ve
Arduino/librariesaltındaki kart kütüphanelerini resmî talimata göre çevrim dışı kurun. - Resmî Arduino demosunun kullandığı LVGL v8.4.0 kütüphanesini kurun; farklı ana LVGL sürümleri API uyumsuzluğu oluşturabilir.
- Kart olarak ESP32S3 Dev Module ve doğru COM portunu seçin.
- USB CDC ayarını açın; 16 MB Flash ve 8 MB PSRAM'a uygun Flash/PSRAM seçeneklerini demo parametre görseline göre yapılandırın.
- Örneği derleyin ve Upload ile karta aktarın. Kartın otomatik indirme devresi normalde BOOT düğmesine basılmasını gerektirmez.
void setup() {
Serial.begin(115200);
}
void loop() {
Serial.println("ESP32-S3 Touch AMOLED 1.64 hazır");
delay(2000);
}
İlk denemede seri monitörü 115200 baud ile açın. Çıktı görünmüyorsa doğru COM portu ve USB CDC yapılandırmasını kontrol edin; yükleme sonrasında RST düğmesine basın.
LVGL Grafik Arayüzü
LVGL; düğmeler, listeler, grafikler, animasyonlar, temalar, metin alanları ve dokunmatik etkileşim içeren gömülü kullanıcı arayüzleri oluşturmak için kullanılır. Waveshare Arduino demosu LVGL 8.4.0 ile hazırlanmıştır. lvgl_conf.h içindeki renk derinliği ekran sürücüsüyle uyumlu olmalı; resmî örnekte 16-bit RGB565 kullanılır.
/* lvgl_conf.h temel ayar örnekleri */
#define LV_COLOR_DEPTH 16
#define LV_MEM_CUSTOM 0
#define LV_MEM_SIZE (48U * 1024U)
Daha karmaşık arayüzlerde LVGL heap boyutu, çizim tamponu ve resim önbelleği artırılabilir; büyük tamponlar PSRAM'a yerleştirilebilir. Tam ekran çift tampon en akıcı sonucu verebilir ancak çok bellek kullanır. Kısmi çizim tamponu bellek tüketimini azaltır. Dokunmatik okuma fonksiyonu LVGL input device sürücüsüne, ekran flush fonksiyonu ise CO5300 QSPI sürücüsüne bağlanmalıdır.
// LVGL ile basit bir durum etiketi
lv_obj_t *label = lv_label_create(lv_scr_act());
lv_label_set_text(label, "WiFi bağlanıyor...");
lv_obj_align(label, LV_ALIGN_CENTER, 0, 0);
// Ağ bağlantısı tamamlandığında:
lv_label_set_text(label, "Sistem çevrimiçi");

Resmî Arduino Örnekleri
| Örnek | İşlev |
| 01_ADC_Test | ADC1 kanal 3 üzerinden sistem gerilimini okuyup hesaplar |
| 02_I2C_QMI8658 | İvmeölçer, jiroskop ve sıcaklık ham verilerini seri terminale gönderir |
| 03_SD_Card | TF kartı bağlar; kart tipi, kapasite ve kullanım bilgisini yazdırır |
| 04_WIFI_AP | Kartı erişim noktası yapar ve bağlanan cihazların MAC bilgisini izler |
| 05_WIFI_STA | Mevcut WiFi ağına bağlanır ve alınan IP adresini gösterir |
| 06_LVGL_Test | Ekran, dokunmatik ve LVGL grafik arayüzünü birlikte test eder |
Bu örnekler yalnızca demo değildir; özel projeler için hazır BSP/sürücü katmanı sağlar. Yeni bir ürün geliştirirken ekran, dokunmatik, IMU, SD ve güç kodunu sıfırdan yazmak yerine çalışan örneğin kopyası üzerinde ilerlemek pin ve başlangıç sırası hatalarını azaltır.
ESP-IDF ile Geliştirme
ESP-IDF; üretim odaklı projelerde partition yönetimi, FreeRTOS görevleri, güç yönetimi, OTA, güvenlik, hata ayıklama ve çevre birimleri üzerinde daha ayrıntılı denetim sunar. Waveshare wiki, Windows üzerinde Visual Studio Code ve Espressif IDF eklentisiyle proje oluşturma, hedef seçme, COM port ayarlama, derleme, yükleme ve seri monitör akışını açıklar. Linux ve macOS kurulumu için Espressif'in resmî ESP-IDF kurulum belgeleri kullanılmalıdır.
- Visual Studio Code ve Espressif IDF eklentisini kurun.
- Eklenti üzerinden uygun ESP-IDF toolchain sürümünü kurun.
- Waveshare demo paketindeki
Demo/ESP-IDFprojesini klasör olarak açın. - Hedef yongayı
esp32s3olarak seçin. - Doğru COM portunu ve UART/USB yükleme yöntemini seçin.
menuconfigile Flash, PSRAM, partition ve proje seçeneklerini kontrol edin.- Build, Flash ve Monitor komutlarını sırayla çalıştırın.
idf.py set-target esp32s3
idf.py menuconfig
idf.py build
idf.py -p COM_PORT flash monitor
ESP-IDF projelerinde bileşenler CMakeLists.txt üzerinden projeye eklenir. Kaynak, include dizinleri ve gerekli component bağımlılıkları doğru tanımlanmadığında Arduino'daki gibi yalnızca header eklemek yeterli olmaz. Derleme önbelleği bozulduğunda idf.py fullclean sonrasında yeniden build yapılabilir.
Resmî ESP-IDF Örnekleri ve Fabrika Programı
ESP-IDF demo paketi Arduino örneklerindeki ADC, QMI8658, TF kart, WiFi AP, WiFi STA ve LVGL testlerine ek olarak 07_FactoryProgram kapsamlı test arayüzünü içerir. Fabrika programı ekran renklerini sırayla göstererek piksel ve panel kontrolü yapar, ardından saat arayüzüne geçer. Sola/sağa kaydırılarak donanım bilgi ve fonksiyon sayfaları açılır; WiFi ve BLE tarama ekranları kartın kablosuz birimlerini sınar.
Waveshare wiki, FactoryProgram kaynak kodunun bazı ESP-IDF 5.2.0 ve üzeri ortamlarda çevredeki WiFi ağlarını taramayabileceğine dair demo sürümüne özgü bir uyumluluk notu verir. Böyle bir durumda Waveshare'ın sağladığı hazır BIN firmware kullanılabilir veya demo tarafından doğrulanmış daha eski IDF sürümüyle derleme yapılabilir. Bu not ESP32-S3 donanımının WiFi yeteneğinin olmadığı anlamına gelmez; örnek yazılım sürümüyle ilgilidir.



Hazır Firmware Yükleme ve Kurtarma
Waveshare demo arşivindeki Firmware dizini, kart fonksiyonlarını test etmek için hazır BIN dosyaları içerir. Espressif Flash Download Tool veya esptool ile firmware yazılabilir ve Flash silinebilir. Adresler birden fazla BIN dosyası kullanılıyorsa proje ile gelen flash tablosundan alınmalıdır; yanlış adrese yazmak boot sorununa yol açar.
# Tüm Flash'ı silme
esptool.py --chip esp32s3 --port COM_PORT erase_flash
# Tek bir birleşik firmware dosyası için örnek
esptool.py --chip esp32s3 --port COM_PORT --baud 460800 \
write_flash 0x0 factory_firmware.bin
Manuel indirme modu: Kart yükleme sırasında algılanmıyorsa BOOT düğmesini basılı tutun, RST düğmesine basıp bırakın, ardından BOOT düğmesini bırakın. Bu işlem ESP32-S3'ü ROM download moduna alır. Bilgisayar yeni COM/USB aygıtını gördükten sonra yüklemeyi tekrar başlatın.
Yükleme başarılı olduğu hâlde seri terminalde waiting for download... benzeri mesaj kalırsa RST düğmesine basın veya kartın enerjisini yenileyin.
Akıllı Saat Projesi Fikri
Kartın dar ve uzun AMOLED ekranı, dokunmatik kontrolü, IMU'su ve pil bağlantısı onu akıllı saat prototipleri için uygun hâle getirir. Waveshare wiki, üçüncü taraf BlackRook DIY Smart Watch projesine ve 3D baskı STL dosyalarına bağlantı verir. Benzer bir projede saat ekranı, adım/hareket algılama, BLE bildirimleri, WiFi üzerinden hava durumu, dokunmatik sayfa geçişi ve pil seviyesi tek cihazda birleştirilebilir.
| Arayüz | LVGL saat yüzü, durum simgeleri ve kaydırılabilir menüler |
| Hareket | QMI8658C ile bilek kaldırma, yön değişimi ve aktivite algılama |
| Bağlantı | BLE ile telefon, WiFi ile zaman/hava/API verisi |
| Depolama | TF kartta arayüz temaları, görseller ve günlük kayıtları |
| Enerji | Pil ölçümü, ekran karartma, modem uyku ve derin uyku senaryoları |
Performans ve Güç Optimizasyonu
- AMOLED arayüzde siyah arka plan ve yalnızca gerekli pikselleri aydınlatan koyu tema kullanın.
- Ekranın tamamı yerine değişen alanları LVGL invalidation sistemiyle güncelleyin.
- Çizim tamponlarını PSRAM'a taşıyın; DMA uyumluluğu gereken tamponları uygun bellekte tutun.
- WiFi sürekli gerekmiyorsa veri gönderimi sonrasında modem sleep veya bağlantı kapatma uygulayın.
- IMU FIFO ve kesme hattını kullanarak sürekli polling yükünü azaltın.
- TF karta küçük kayıtları tek tek yazmak yerine RAM tamponunda biriktirip blok hâlinde yazın.
- Dokunma veya IMU hareketiyle deep sleep uyandırma tasarlanacaksa kullanılabilir wake-up pinlerini şemadan doğrulayın.
Bağlantı ve Güvenli Kullanım Notları
- GPIO sinyalleri 3.3 V seviyesindedir ve 5 V toleranslı kabul edilmemelidir.
- Röle, motor, solenoid ve yüksek akımlı LED'i doğrudan GPIO'dan sürmeyin; uygun sürücü devresi kullanın.
- I2C hattına bağlanan cihazların pull-up gerilimi 3.3 V olmalıdır.
- Harici anten seçimi, kart üzerindeki RF direncinin yeniden lehimlenmesini gerektirir; iki anten yolunu aynı anda etkin bırakmayın.
- TF kartı yazma sırasında çıkarmayın ve kart çalışırken güç kesilmesine karşı dosya sistemini koruyun.
- Pil polaritesini bağlamadan önce multimetreyle doğrulayın.
- Metal veya iletken muhafazayı PCB'nin arkasındaki bileşenlere temas ettirmeyin.
- Anten bölümünün çevresinde metal, pil veya yoğun kablo yerleşimini mümkün olduğunca azaltın.
Sorun Giderme ve Sık Sorulan Sorular
Kart program yükleme sırasında görünmüyor.
Veri destekli başka bir Type-C kablo ve USB portu deneyin. BOOT düğmesini basılı tutup RST'ye basın, RST'yi ve ardından BOOT'u bırakın. Doğru COM portunu tekrar seçin.
Arduino derlemesi hata veriyor.
ESP32 board paketinin 3.1.0 veya üzeri olduğunu, kartın ESP32S3 Dev Module seçildiğini, PSRAM/Flash ayarlarını ve Waveshare kütüphanelerinin doğru dizinde bulunduğunu kontrol edin. LVGL ana sürümünün resmî örnekle aynı olması önemlidir.
Ekran beyaz/siyah kalıyor veya görüntü bozuk.
Farklı bir AMOLED/LCD kartın pin tanımlarını veya sürücüsünü kullanmadığınızdan emin olun. CO5300 başlangıç dizisi, QSPI pinleri, reset ve renk biçimi bu modele ait olmalıdır. Önce resmî FactoryProgram BIN'iyle donanımı sınayın.
Dokunma koordinatları yanlış.
Ekran yönü ile dokunmatik koordinat dönüşümünün aynı olduğundan emin olun. Yazılımsal 90° rotasyonda X/Y değişimi ve eksen tersleme gerekebilir.
Türkçe karakterler ekranda görünmüyor.
LVGL font dosyasında gerekli Türkçe gliflerin bulunduğunu kontrol edin. Varsayılan font her Unicode karakterini içermez. LVGL font converter ile gereken karakter aralığını fonta ekleyin ve UTF-8 kaynak kullanın.
İlk derleme neden çok uzun sürüyor?
İlk derlemede araç zinciri çok sayıda ESP-IDF/Arduino bileşenini ve LVGL kaynaklarını derler. Sonraki derlemeler önbellek sayesinde genellikle daha hızlıdır.
TF kart bağlanmıyor.
FAT32 biçimlendirme, kart kapasitesi, SPI/SDMMC makro seçimi ve kartın yüklemeden önce takılmış olması kontrol edilmelidir. Başka bir kaliteli TF kartla deneyin.
WiFi taraması fabrika programında sonuç vermiyor.
Waveshare'ın FactoryProgram için verdiği ESP-IDF sürüm notunu dikkate alın. Hazır test firmware'i veya demo tarafından doğrulanmış IDF sürümünü kullanın; kendi güncel WiFi örneğinizi ayrıca test edin.
Bu kart WiFi 6 destekliyor mu?
Hayır. ESP32-S3'ün WiFi desteği 2.4 GHz 802.11 b/g/n'dir. 802.11ax/WiFi 6 özelliği bulunmaz.
Paket İçeriği
- 1 x Waveshare ESP32-S3-Touch-AMOLED-1.64 geliştirme kartı
USB Type-C kablo, lityum pil, TF/microSD kart, pin header ve muhafaza aksi belirtilmedikçe pakete dahil değildir. Pin header'ların lehimli olup olmadığı satılan varyantın görsellerinden kontrol edilmelidir.
Kaynaklar ve Teknik Belgeler
- Waveshare Resmî Ürün Sayfası
- Waveshare ESP32-S3-Touch-AMOLED-1.64 Wiki
- ESP32-S3-Touch-AMOLED-1.64 Şematik Diyagramı
- Arduino, ESP-IDF, Kütüphane ve Firmware Demo Paketi
- Mekanik Yapı / Structure Diagram Dosyaları
- Pin Header Lehimleme Talimatı
- ESP32-S3 Datasheet
- ESP32-S3 Technical Reference Manual
- CO5300 AMOLED Sürücü Datasheet
- QMI8658C Altı Eksenli IMU Datasheet
- FT3168 Kapasitif Dokunmatik Datasheet
- Arduino-ESP32 Resmî Dokümantasyonu
- ESP-IDF ESP32-S3 Resmî Dokümantasyonu
- LVGL 8 Dokümantasyonu
- BlackRook DIY Smart Watch Projesi
- DIY Smart Watch 3D STL Dosyaları
Bu ürün açıklaması Waveshare resmî ürün sayfası, wiki, kart şeması ve bileşen datasheet'leri temel alınarak özgün Türkçe teknik anlatımla hazırlanmıştır. Yazılım paketleri, kart revizyonu ve kütüphane sürümleri zamanla değişebileceğinden kritik pin, güç, firmware ve üretim uygulamalarında fiziksel kart üzerindeki işaretler ile güncel resmî belgeler birlikte kontrol edilmelidir.