Waveshare ESP32-P4-Pico Geliştirme Kartı - SKU 32101
Waveshare ESP32-P4-Pico Geliştirme Kartı - SKU 32101
Waveshare ESP32-P4-Pico, yüksek çözünürlüklü ekran, kamera, ses, hızlı USB ve yoğun veri işleme gerektiren gömülü sistemler için tasarlanmış kompakt bir multimedya geliştirme kartıdır. Kartın merkezindeki ESP32-P4NRW32; yüksek performanslı çift çekirdekli RISC-V işlemciyi, düşük güç görevleri için ayrı bir RISC-V çekirdeğini, 32 MB paket içi PSRAM'i ve görüntü/video hızlandırıcılarını aynı platformda birleştirir. Kart üzerinde ayrıca 32 MB NOR Flash, iki hatlı MIPI-DSI ekran bağlantısı, iki hatlı MIPI-CSI kamera bağlantısı, SDIO 3.0 microSD yuvası, USB 2.0 High-Speed OTG, mikrofon, ses codec'i, hoparlör amplifikatörü ve 40 pin genişleme başlığı bulunur.
Bu donanım; akıllı ev kontrol paneli, endüstriyel HMI, kamera görüntüleme terminali, video kaydedici, makine görüşü ön işleme birimi, yerel medya oynatıcı, sesli kullanıcı arayüzü, USB host/device uygulaması, veri kaydedici ve güvenli uç bilgi işlem cihazı gibi projelerde klasik ESP32 kartlarından daha güçlü bir temel sunar. ESP32-P4'ün asıl farkı yalnızca daha yüksek saat hızı değildir; MIPI-CSI/DSI, ISP, H.264 encoder, JPEG codec, PPA, 2D-DMA ve USB High-Speed gibi multimedya odaklı donanımları doğrudan mikrodenetleyici seviyesinde sunmasıdır.
Önemli ürün ayrımı: Bu açıklama SKU 32101 ESP32-P4-Pico standart kart içindir. SKU 32094, pin header'ları fabrikada lehimlenmiş ESP32-P4-Pico-M modelidir. SKU 32100 ve 32102 ise kamera, ekran, hoparlör ve kablo gibi ek parçalar içeren KIT-A/KIT-B paketleridir. SKU 32101 paketinde ekran ve kamera bulunmaz.

Öne Çıkan Özellikler
- ESP32-P4NRW32 yüksek performanslı multimedya mikrodenetleyicisi
- 360 MHz'e kadar çalışan çift çekirdekli 32-bit RISC-V HP işlemci
- 40 MHz'e kadar çalışan ayrı düşük güçlü RISC-V LP işlemci
- DSP/ISA uzantıları ve donanımsal kayan nokta birimi
- 32 MB paket içi PSRAM ve kart üzerinde 32 MB NOR Flash
- İki hatlı MIPI-DSI yüksek çözünürlüklü ekran arayüzü
- İki hatlı MIPI-CSI kamera arayüzü ve entegre görüntü sinyal işlemcisi
- 1080p @ 30 fps sınıfında H.264 video kodlama ve JPEG işleme
- PPA, 2D-DMA ve yüksek bant genişlikli görüntü işleme altyapısı
- USB 2.0 High-Speed OTG için ayrı 4 pin konnektör
- Güç, program yükleme ve debug için USB Type-C
- SDIO 3.0, 4-bit TF/microSD kart yuvası
- ES8311 ses codec'i, SMD mikrofon ve NS4150B hoparlör amplifikatörü
- MX1.25 2 pin üzerinden 8 ohm, 2 W hoparlör desteği
- 2 x 20 pin genişleme, 27 kullanılabilir programlanabilir GPIO
- Bazı Raspberry Pi Pico HAT/aksesuarlarıyla fiziksel pin düzeni uyumluluğu
- SPI, I2C, I3C, I2S, UART, ADC, PWM, RMT, PCNT, TWAI ve PARLIO
- Secure Boot, Flash şifreleme, anahtar yönetimi ve kriptografik hızlandırıcılar
- ESP-IDF ve gelişmekte olan Arduino-ESP32 desteği
Teknik Özellikler
| Ürün | Waveshare ESP32-P4-Pico |
| SKU | 32101 |
| Ana kontrolcü | ESP32-P4NRW32 |
| HP işlemci | Çift çekirdekli 32-bit RISC-V, kart dokümantasyonunda 360 MHz'e kadar |
| LP işlemci | Tek çekirdekli 32-bit RISC-V, 40 MHz'e kadar |
| HP ROM | 128 KB |
| LP ROM | 16 KB |
| HP L2MEM | 768 KB |
| LP SRAM | 32 KB |
| TCM/SPM | 8 KB sistem sıkı bağlı/scratchpad bellek |
| PSRAM | 32 MB, işlemci paketine entegre |
| Flash | 32 MB NOR Flash |
| Kamera | 2-lane MIPI-CSI, entegre ISP, OV5647 ve desteklenen sensörler |
| Ekran | 2-lane MIPI-DSI; uyumlu 5, 7, 8 ve 10.1 inç Waveshare paneller |
| Video | H.264 donanımsal encoder, 1080p @ 30 fps sınıfı |
| Görüntü işleme | JPEG codec, ISP, PPA, 2D-DMA, LCD/CAM denetleyici |
| Ses codec'i | ES8311 |
| Ses amplifikatörü | NS4150B |
| Mikrofon | Kart üzerinde SMD mikrofon |
| Hoparlör | MX1.25 2P; 8 ohm, 2 W hoparlör |
| USB Type-C | Besleme, firmware yükleme ve debug |
| USB OTG | USB 2.0 High-Speed, ayrı 4 pin konnektör |
| Depolama | SDIO 3.0, 4-bit TF/microSD yuvası |
| Genişleme | 2 x 20 pin, 27 programlanabilir GPIO |
| Kart boyutu | Yaklaşık 71 x 21 mm |
| Kablosuz bağlantı | Yerleşik WiFi/Bluetooth/Zigbee/Thread yok |
| Geliştirme ortamı | Öncelikli ESP-IDF; sınırlı/gelişmekte olan Arduino desteği |
Frekans notu: Waveshare'ın ESP32-P4-Pico kart dokümantasyonu HP işlemci için 360 MHz'e kadar çalışma değerini verir. Espressif'in daha yeni ESP32-P4 silikon datasheet sürümleri çip ailesi için 400 MHz'e kadar değer yayımlamaktadır. Kartla birlikte kullanılan BSP, ESP-IDF sürümü ve chip revision yapılandırması esas alınmalı; frekans ayarı yalnızca güncel donanım ve yazılım profili destekliyorsa değiştirilmelidir.

ESP32-P4 Olmasının Farkı Nedir?
ESP32-P4, geleneksel WiFi merkezli ESP32 kartlarının daha hızlı bir sürümü olarak düşünülmemelidir. P4 ailesi; yüksek çözünürlüklü görüntü, kamera, video, ses ve hızlı çevre birimi aktarımı için tasarlanmış bir multimedya mikrodenetleyicisidir. ESP32-S3 gibi modeller kablosuz IoT ve orta ölçekli grafik arayüzlerinde güçlü iken P4, MIPI kamera/ekran yolları ve özel görüntü hızlandırıcıları sayesinde daha yoğun HMI ve video görevlerine yönelir.
| Konu | ESP32-P4-Pico yaklaşımı |
|---|---|
| İşlem gücü | Çift HP RISC-V çekirdeği ve ayrı LP çekirdeğiyle görevleri performans ve güç alanlarına ayırır. |
| Grafik | PPA, 2D-DMA, JPEG ve MIPI-DSI ile yüksek çözünürlüklü HMI oluşturmayı kolaylaştırır. |
| Kamera | MIPI-CSI, ISP ve H.264 encoder sayesinde kamera verisini doğrudan işleyebilir. |
| Bellek | 32 MB PSRAM; büyük frame buffer, LVGL, kamera tamponu ve medya verileri için geniş alan sağlar. |
| USB | USB 2.0 High-Speed OTG ile yüksek hızlı host/device uygulamalarına uygundur. |
| Kablosuz | Yerleşik radyo yoktur; ihtiyaca göre harici ağ modülü seçilir. |
| İşletim yapısı | Linux bilgisayarı değil, FreeRTOS/ESP-IDF çalıştıran deterministik bir mikrodenetleyicidir. |
Bu ayrım önemli bir tasarım avantajıdır: P4, Linux açılış süresi ve dosya sistemi yönetimi gerektirmeden güçlü grafik ve medya işlevleri sunabilir. Buna karşılık masaüstü tarayıcı, tam Linux paket yöneticisi veya genel amaçlı bilgisayar yazılımları çalıştırmak için tasarlanmamıştır.
Yüksek Performans ve Düşük Güç Çekirdekleri
Yüksek performans sistemi iki adet 32-bit RISC-V çekirdeğine sahiptir. DSP/ISA uzantıları ve FPU; filtreleme, ölçekleme, ses işleme, görüntü ön işleme ve sayısal kontrol algoritmalarında avantaj sağlar. FreeRTOS ile ekran yenileme, kamera alma, dosya yazma ve kullanıcı arayüzü farklı görevlere ayrılabilir.
Ayrı LP çekirdeği; ana HP sisteminin sürekli açık kalmasının gerekmediği izleme, zamanlama veya düşük güç çevre birimi görevlerinde kullanılabilir. Uygulamanın gerçek güç tüketimi; bağlı ekran, kamera, USB aygıtı, SD kart, işlemci frekansı ve çalışma moduna bağlıdır. P4 yüksek performans sağlasa da büyük MIPI ekran ve kamera kullanılan bir sistem klasik düşük güçlü sensör düğümünden farklı bir güç bütçesi gerektirir.

32 MB PSRAM ve 32 MB Flash Neden Önemlidir?
Yüksek çözünürlüklü görüntü projelerinde yalnızca uygulama kodu değil, frame buffer'lar da büyük bellek tüketir. Örneğin 800 x 1280 çözünürlükte tek RGB565 tampon yaklaşık 2 MB; çift tampon yaklaşık 4 MB alan kullanır. Kamera kareleri, JPEG/H.264 çalışma tamponları, LVGL çizim alanları ve dosya önbelleği eklendiğinde 32 MB PSRAM belirgin bir avantaj sağlar.
32 MB NOR Flash; firmware, OTA bölümleri, fontlar, grafik kaynakları, web varlıkları, model parametreleri ve LittleFS/SPIFFS dosya sistemi için geniş alan sunar. Flash ve PSRAM'in tamamı kullanıcı verisine ayrılmaz; bootloader, partition tablosu, sistem bileşenleri ve çalışma tamponları kendi alanlarını kullanır. DMA ve zaman kritik veriler için bellek türünün ESP-IDF kurallarına uygun seçilmesi gerekir.
MIPI-DSI Ekran Arayüzü ve HMI
Kartın iki hatlı MIPI-DSI bağlantısı, SPI ekranlara göre çok daha yüksek görüntü bant genişliği sunar. Waveshare kart dokümantasyonu 5, 7, 8 ve 10.1 inç uyumlu DSI panelleri listeler. Ancak MIPI-DSI fiziksel konnektörü tek başına bütün DSI ekranların otomatik çalışacağı anlamına gelmez; panel sürücüsü, güç sıralaması, çözünürlük, lane yapılandırması ve dokunmatik denetleyici desteği yazılımda bulunmalıdır.
- D-PHY v1.1, iki lane üzerinde lane başına 1.5 Gbps'ye kadar
- Toplam 3 Gbps sınıfında fiziksel görüntü aktarım kapasitesi
- RGB888, RGB565 ve YUV422 giriş formatları
- RGB888, RGB666 ve RGB565 çıkış formatları
- PPA ve 2D-DMA ile ölçekleme, döndürme, format dönüştürme ve bellek aktarımı
- LVGL 9 ve ESP-Brookesia tabanlı gelişmiş kullanıcı arayüzleri
Ekran SKU 32101 paketine dahil değildir. LCD seçerken Waveshare platform deposunda ve ilgili ESP-IDF bileşeninde açıkça desteklenen panel modelini tercih etmek geliştirme süresini azaltır.
MIPI-CSI Kamera, ISP ve Video İşleme
İki hatlı MIPI-CSI girişi, OV5647 gibi kamera sensörlerinden yüksek bant genişlikli görüntü almayı sağlar. Entegre ISP; ham sensör verisinin renk, beyaz dengesi, pozlama ve görüntü boru hattında işlenmesine yardımcı olur. H.264 encoder ve JPEG codec ise işlemci çekirdeklerini her pikseli yazılımla sıkıştırma yükünden kurtarır.
ESP32-P4'ün donanımsal video yolu 1080p @ 30 fps sınıfında H.264 ve JPEG işlemesini hedefler. OV5647 fiziksel olarak 5 MP sensör olsa da H.264 kodlama hattının pratik üst sınırı yaklaşık 2 MP/1080p'dir. Sensör çözünürlüğü ile gerçek zamanlı encoder çıkış çözünürlüğü aynı kavram değildir.
Kamera; ürün izleme, QR/barkod ön işleme, makine görüşü terminali, video kayıt, yerel görüntüleme ve ağ modülü eklendiğinde görüntü aktarımı için kullanılabilir. Yapay zeka modelinin boyutu ve kare hızı seçilirken PSRAM bant genişliği, kamera formatı ve görüntü ön işleme maliyeti birlikte değerlendirilmelidir.

Ses Sistemi: Mikrofon, Codec ve Hoparlör
Kart üzerinde SMD mikrofon, ES8311 ses codec'i ve NS4150B güç amplifikatörü bulunur. Bu zincir; ses kaydı, yankı testi, uyarı sesi, basit sesli komut arayüzü ve multimedya oynatma projeleri için hazır donanım sağlar. Hoparlör, MX1.25 2 pin konnektöre bağlanır ve 8 ohm 2 W değerinde olmalıdır.
| Ses sinyali | ESP32-P4 GPIO |
|---|---|
| I2S MCLK | GPIO13 |
| I2S SCLK/BCLK | GPIO12 |
| I2S ASDOUT | GPIO11 |
| I2S LRCK/WS | GPIO10 |
| I2S DSDIN | GPIO9 |
| Amplifikatör enable | GPIO53, aktif HIGH |
| Codec kontrol I2C | SDA GPIO7, SCL GPIO8; ES8311 adresi 0x18 |
SDIO 3.0 microSD Depolama
Kart üzerindeki TF/microSD yuvası SPI yerine 4-bit SDMMC/SDIO bağlantısı kullanır. Bu yapı; video, ses, fotoğraf, LVGL kaynakları, günlük kayıtları ve model dosyaları gibi büyük verilerin depolanması için daha yüksek bant genişliği sağlar. Varsayılan 20 MHz ve yüksek hızlı 40 MHz çalışma modları desteklenir.
| SD CLK | GPIO43 |
| SD CMD | GPIO44 |
| SD D0 | GPIO39 |
| SD D1 | GPIO40 |
| SD D2 | GPIO41 |
| SD D3 | GPIO42 |
Dosya sistemi yazımı sırasında kartın çıkarılması veya beslemenin kesilmesi veri kaybına yol açabilir. Video ve sürekli kayıt uygulamalarında kaliteli microSD kart, düzenli dosya kapatma, tampon yönetimi ve güç kesintisine dayanıklı kayıt stratejisi kullanılmalıdır.
USB 2.0 High-Speed OTG
ESP32-P4, 480 Mbps USB 2.0 High-Speed OTG ve ek USB çevre birimleri sunar. Kart üzerindeki 4 pin USB konnektörü host veya device senaryolarında kullanılabilir. USB kamera, depolama, özel HID, ses aygıtı, seri haberleşme veya hızlı veri aktarımı gibi projeler için ESP-IDF USB host/device yığınları değerlendirilebilir.
USB fiziksel hızının 480 Mbps olması uygulamanın aynı sürekli veri hızına ulaşacağı anlamına gelmez. Aktarım; endpoint yapısı, DMA tamponları, aygıt sınıfı, dosya sistemi ve eş zamanlı kamera/ekran yüküne bağlıdır. Host modunda bağlı USB aygıtının 5 V akım ihtiyacı ayrıca hesaplanmalı; kart üzerinden güvenli biçimde sağlanamıyorsa harici beslemeli USB hub kullanılmalıdır.
40 Pin Genişleme ve GPIO Kullanımı
İki adet 20 pin sıra, güç ve GPIO hatlarını erişilebilir hale getirir; kartta 27 programlanabilir GPIO genişleme için kullanılabilir. Fiziksel düzen bazı Raspberry Pi Pico HAT kartlarıyla uyumlu olsa da her Pico aksesuarı elektriksel ve yazılımsal olarak otomatik uyumlu değildir. Pin işlevi, çalışma gerilimi, sürücü ve kullanılan ESP32-P4 çevre birimi kontrol edilmelidir.
- Varsayılan I2C: SDA GPIO7, SCL GPIO8; kart üzerinde harici pull-up bulunur.
- Ses ve SDIO pinleri kart üzerindeki donanımlar tarafından kullanılır.
- MIPI-CSI/DSI ve Flash/PSRAM'e ayrılmış özel hatlar genel GPIO gibi kullanılmamalıdır.
- GPIO seviyesi 3.3 V'tur; pinlere doğrudan 5 V sinyal uygulanmamalıdır.
- TWAI yalnızca denetleyicidir; gerçek CAN hattı için harici CAN transceiver gerekir.
- Motor, röle ve solenoid yükleri için harici sürücü ve geri tepme koruması kullanılmalıdır.

Güvenlik Donanımı
ESP32-P4; Secure Boot, harici bellek şifreleme, eFuse tabanlı güvenlik, erişim izin yönetimi, privilege separation ve donanımsal kriptografi bileşenleri sunar. AES, SHA, RSA, ECC, HMAC, ECDSA/RSA dijital imza, gerçek rastgele sayı üreteci ve özel Key Manager güvenli ürün tasarımını destekler.
Bu özelliklerin bulunması cihazı kendiliğinden güvenli yapmaz. Üretim cihazında güvenli anahtar üretimi, imzalı firmware, debug erişim politikası, geri dönüş koruması, güvenli güncelleme ve kurtarma prosedürü birlikte tasarlanmalıdır. eFuse işlemleri geri alınamaz olabileceğinden geliştirme kartında üretim güvenlik ayarları denenmeden önce Espressif dokümantasyonu dikkatle incelenmelidir.
ESP-IDF ile Geliştirme
Waveshare, kararlı geliştirme için ESP-IDF kullanımını önerir. Güncel platform örnekleri ESP-IDF 5.4 ve üzerini hedefler; ürün dokümantasyonunda ESP-IDF 5.5.4 önerilmektedir. VS Code ve Espressif IDF eklentisi; proje, menuconfig, derleme, firmware yükleme ve seri monitörü tek arayüzde yönetmek için uygundur.
- Espressif Installation Manager ile uygun ESP-IDF sürümünü kurun.
- VS Code ve ESP-IDF eklentisini yükleyin.
- Kartı veri destekli USB Type-C kabloyla bilgisayara bağlayın.
- Waveshare platform deposunu klonlayın.
- İlk olarak
00_board_checkörneğini derleyip Flash, PSRAM ve seri logu doğrulayın. - Kartın gerçek chip revision değerini seri boot logundan kontrol edin.
git clone https://github.com/waveshareteam/ESP32-P4-Platform.git
cd ESP32-P4-Platform/examples/esp-idf/00_board_check
idf.py set-target esp32p4
idf.py build
idf.py -p COM5 flash monitor
Windows'ta COM5 yerine kartın gerçek COM portunu yazın. Linux ve macOS'ta ilgili /dev/... aygıtını kullanın. Yükleme başlamıyorsa BOOT düğmesini basılı tutup RESET'e kısa basın, ardından BOOT'u bırakın.
Chip Revision Kontrolü
ESP32-P4 mühendislik örnekleri ile v3.x üretim revizyonları aynı minimum revision yapılandırmasını kullanmayabilir. Firmware yüklerken revision uyumsuzluğu hatası görülürse --force ile kontrolü atlamak yerine karta uygun varsayılan yapılandırmayla yeniden derleme yapılmalıdır.
# Rev v3.1 veya üzeri:
idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults;../../../config/esp32p4_rev_v3_1.defaults" set-target esp32p4 build
# Rev v3.0 veya üzeri:
idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults;../../../config/esp32p4_rev_v3_0.defaults" set-target esp32p4 build
# Rev v0.x / v1.x mühendislik örneği:
idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults;../../../config/esp32p4_rev_pre_v3.defaults" set-target esp32p4 build
Profil değiştirildiğinde eski sdkconfig dosyası yeni varsayılanları geçersiz kılabilir. Ayrı yapı klasörü kullanmak veya önce mevcut yapılandırmayı temizlemek daha güvenilir sonuç verir.
Örnek 1: ESP-IDF Hello World ve Chip Bilgisi
#include
#include "esp_chip_info.h"
#include "esp_flash.h"
#include "esp_heap_caps.h"
#include "esp_log.h"
static const char *TAG = "P4_PICO";
void app_main(void)
{
esp_chip_info_t chip_info;
uint32_t flash_size = 0;
esp_chip_info(&chip_info);
esp_flash_get_size(NULL, &flash_size);
ESP_LOGI(TAG, "Cekirdek: %d", chip_info.cores);
ESP_LOGI(TAG, "Flash: %lu MB",
(unsigned long)(flash_size / (1024 * 1024)));
ESP_LOGI(TAG, "Bos dahili heap: %u",
heap_caps_get_free_size(MALLOC_CAP_INTERNAL));
ESP_LOGI(TAG, "Bos PSRAM: %u",
heap_caps_get_free_size(MALLOC_CAP_SPIRAM));
}
Örnek 2: Varsayılan I2C Veri Yolunu Başlatma
#include "driver/i2c_master.h"
#include "esp_check.h"
#define P4_PICO_I2C_SDA 7
#define P4_PICO_I2C_SCL 8
static i2c_master_bus_handle_t bus_handle;
static esp_err_t init_i2c_bus(void)
{
i2c_master_bus_config_t config = {
.i2c_port = I2C_NUM_0,
.sda_io_num = P4_PICO_I2C_SDA,
.scl_io_num = P4_PICO_I2C_SCL,
.clk_source = I2C_CLK_SRC_DEFAULT,
.glitch_ignore_cnt = 7,
.flags.enable_internal_pullup = false,
};
return i2c_new_master_bus(&config, &bus_handle);
}
Kartta I2C pull-up dirençleri bulunduğu için örnekte dahili pull-up kapalıdır. ES8311 codec normalde 0x18 adresinde görülür. Harici I2C cihaz eklerken aynı adresi kullanmadığından ve 3.3 V seviyesinde çalıştığından emin olun.
Örnek 3: SDMMC 4-Bit Pin Yapılandırması
#include "driver/sdmmc_host.h"
#include "esp_vfs_fat.h"
#include "sdmmc_cmd.h"
sdmmc_host_t host = SDMMC_HOST_DEFAULT();
sdmmc_slot_config_t slot_config = SDMMC_SLOT_CONFIG_DEFAULT();
host.max_freq_khz = SDMMC_FREQ_HIGHSPEED;
slot_config.width = 4;
slot_config.clk = 43;
slot_config.cmd = 44;
slot_config.d0 = 39;
slot_config.d1 = 40;
slot_config.d2 = 41;
slot_config.d3 = 42;
slot_config.flags |= SDMMC_SLOT_FLAG_INTERNAL_PULLUP;
esp_vfs_fat_sdmmc_mount_config_t mount_config = {
.format_if_mount_failed = false,
.max_files = 8,
.allocation_unit_size = 16 * 1024,
};
Bu kod bağlantı yapılandırmasını gösterir; tam örnek için Waveshare deposundaki 09_sdmmc projesi kullanılmalıdır. Otomatik format seçeneğini yalnızca karttaki verilerin silinebileceği kabul edildiğinde etkinleştirin.
Örnek 4: Ses Bileşenini Projeye Ekleme
cd ESP32-P4-Platform/examples/esp-idf/12_I2SCodec
idf.py add-dependency "espressif/es8311"
idf.py menuconfig
idf.py set-target esp32p4
idf.py build
idf.py -p COM5 flash monitor
Menuconfig içinde ESP32-P4-Pico BSP seçilmeli, ses seviyesi ve playback/echo modu ayarlanmalıdır. Echo modu mikrofon sesini codec üzerinden hoparlöre aktarır. Hoparlör konnektörüne uygun empedanstan daha düşük yük bağlamak amplifikatörü aşırı zorlayabilir.
Örnek 5: FreeRTOS ile Sensör ve Arayüz Görevleri
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/queue.h"
typedef struct {
float value;
uint32_t sequence;
} sample_t;
static QueueHandle_t sample_queue;
static void sensor_task(void *arg)
{
sample_t sample = {0};
while (true) {
sample.value += 0.25f;
sample.sequence++;
xQueueOverwrite(sample_queue, &sample);
vTaskDelay(pdMS_TO_TICKS(100));
}
}
static void ui_task(void *arg)
{
sample_t sample;
while (true) {
if (xQueueReceive(sample_queue, &sample, portMAX_DELAY)) {
printf("UI degeri: %.2f, sira: %lu\n",
sample.value, (unsigned long)sample.sequence);
}
}
}
void app_main(void)
{
sample_queue = xQueueCreate(1, sizeof(sample_t));
xTaskCreate(sensor_task, "sensor", 4096, NULL, 5, NULL);
xTaskCreate(ui_task, "ui", 4096, NULL, 4, NULL);
}
Gerçek LVGL uygulamasında grafik API'si tek görevden çağrılmalı veya uygun mutex ile korunmalıdır. Kamera ve ekran tamponları için PSRAM kullanılabilir; DMA gerektiren tamponların yetenek bayrakları sürücünün beklentisine göre seçilmelidir.
Ekran ve Kamera Örneklerini Çalıştırma
Platform deposunda kart için ekran renk testi, LVGL, kamera görüntüsünü LCD'ye aktarma ve ESP-Brookesia arayüz örnekleri bulunur. Ekran ilk kez bağlandığında doğrudan büyük LVGL projesine geçmek yerine önce renk barı örneğiyle güç, reset, lane ve panel sürücüsü doğrulanmalıdır.
# Ekran renk testi:
cd ESP32-P4-Platform/examples/esp-idf/13_Displaycolorbar
idf.py menuconfig
idf.py set-target esp32p4
idf.py build
idf.py -p COM5 flash monitor
# Kamera goruntusunu LCD'ye aktarma:
cd ../16_video_lcd_display
idf.py menuconfig
idf.py set-target esp32p4
idf.py build
idf.py -p COM5 flash monitor
Kamera SCCB kontrol hattında varsayılan I2C pinleri GPIO7/GPIO8'dir. Panel türü, kamera sensörü, çözünürlük, frame buffer sayısı ve PSRAM ayarları menuconfig içinde gerçek donanıma göre seçilmelidir.
Arduino, PlatformIO ve MicroPython Durumu
Arduino-ESP32 çekirdeği ESP32-P4 desteği kazanmaya devam etmektedir; ancak kartın MIPI, ses ve video özelliklerinde ESP-IDF kadar geniş ve kararlı uyarlama beklenmemelidir. Eski Waveshare sayfalarında Arduino 3.2.0 ve özel kütüphane örnekleri bulunmasına rağmen yeni projelerde kartın güncel platform deposundaki sürüm matrisi esas alınmalıdır.
PlatformIO ve MicroPython desteği temel düzeyde denenebilse de kartın bütün arayüzleri için hazır, kararlı ve resmi destek varsayılmamalıdır. Özellikle MIPI ekran, kamera, SDIO ve ses projelerinde ESP-IDF önerilir. Arduino örnekleri kullanılacaksa depo içindeki önerilen Arduino-ESP32, LVGL ve Arduino_GFX sürümleri birlikte kullanılmalıdır.
Waveshare Platform Örnekleri
| Örnek | SKU 32101 durumu |
|---|---|
| board_check / HelloWorld | Doğrudan kullanılabilir; ilk kurulum için önerilir. |
| NVS / FreeRTOS / GPIO / UART / I2C | Kart pinleri seçilerek kullanılabilir. |
| SDMMC | Kart üzerindeki yuva ile desteklenir. |
| I2S Codec | ES8311, mikrofon ve hoparlör çıkışıyla desteklenir. |
| Display Color Bar / LVGL | Uyumlu harici MIPI-DSI ekran gerektirir. |
| Video LCD Display | Uyumlu MIPI-CSI kamera ve MIPI-DSI ekran gerektirir. |
| ESP-Brookesia Phone UI | Ekran, dokunmatik, kamera, ses ve doğru BSP yapılandırmasıyla kullanılabilir. |
| WiFi Station | Doğrudan desteklenmez; harici WiFi yardımcı işlemcisi gerekir. |
| Ethernet Basic | Doğrudan desteklenmez; harici PHY/RJ45 veya SPI Ethernet gerekir. |
| Simple Video Server | SKU 32101 üzerinde ağ donanımı eklenmeden çalışmaz. |
Kullanım Alanları
| Endüstriyel HMI | MIPI-DSI ekran, LVGL ve GPIO/TWAI/RS485 ek donanımıyla makine kontrol paneli. |
| Kamera terminali | Kamera görüntüsünü yerel ekranda gösterme, JPEG/H.264 kayıt ve ön işleme. |
| Makine görüşü | Kalite kontrol, kod okuma veya nesne algılama öncesi görüntü işleme. |
| Akıllı kontrol paneli | Ev, bina, laboratuvar veya üretim alanında dokunmatik grafik arayüz. |
| Multimedya oynatıcı | microSD üzerinden görsel, animasyon, video ve ses oynatma. |
| Sesli arayüz | Yerel ses kaydı, uyarı, VAD ve harici model/servisle komut sistemi. |
| USB test cihazı | USB host/device sınıflarını geliştirme ve yüksek hızlı veri toplama. |
| Güvenli uç işlemci | İmzalı firmware, şifreli veri ve yerel sensör/görüntü işleme. |
| Robot arayüzü | Kamera, ekran, ses, motor kontrol sinyalleri ve telemetri arayüzü. |
| Kiosk ve satış terminali | Yerel grafik arayüz, barkod/kamera ve harici ağ modülüyle bağlı terminal. |

Tasarım ve Güç Notları
- MIPI FFC kabloları güç kapalıyken takılıp çıkarılmalı; temas yönü konnektör çizimine göre kontrol edilmelidir.
- Ekran, kamera, USB host ve hoparlör aynı anda kullanıldığında USB portunun sağlayabildiği akım yetersiz kalabilir.
- USB host uygulamasında harici aygıtın ani akımı ve 5 V besleme yolu ayrıca hesaplanmalıdır.
- GPIO'lar 3.3 V seviyesindedir; 5 V toleranslı oldukları varsayılmamalıdır.
- Hoparlör çıkışına motor, röle veya kulaklık doğrudan bağlanmamalıdır.
- microSD yazımı ve kamera kaydı sırasında ani güç kesintisine karşı dosya bütünlüğü stratejisi kurulmalıdır.
- MIPI kabloları yüksek hızlı diferansiyel sinyal taşır; uzatma, kıvırma ve uygun olmayan adaptör sinyal bütünlüğünü bozabilir.
- Üretim cihazında termal koşullar, kapalı kutu sıcaklığı ve sürekli video kodlama yükü test edilmelidir.
Sorun Giderme
| Belirti | Kontrol |
|---|---|
| COM portu görünmüyor | Veri destekli Type-C kablo, USB sürücüsü ve farklı bilgisayar portu deneyin. |
| Firmware yüklenmiyor | BOOT basılıyken RESET'e basın; doğru COM portu ve esp32p4 hedefini seçin. |
| Revision mismatch | Boot logundaki chip revision için doğru config overlay ile yeniden derleyin; force kullanmayın. |
| PSRAM görünmüyor | board_check çalıştırın; sdkconfig, hedef ve revision profilini kontrol edin. |
| DSI ekran açılmıyor | Panel sürücüsü, FFC yönü, güç, backlight, lane ve çözünürlük ayarını kontrol edin. |
| Kamera görüntüsü yok | Sensör modeli, CSI kablosu, SCCB GPIO7/8 ve ISP örnek yapılandırmasını kontrol edin. |
| microSD mount hatası | Kart biçimi, GPIO39-44, 4-bit SDMMC, frekans ve güç/LDO ayarını kontrol edin. |
| Hoparlörden ses yok | 8 ohm 2 W hoparlör, ES8311 I2C adresi, I2S pinleri ve GPIO53 PA enable durumunu kontrol edin. |
| WiFi örneği çalışmıyor | SKU 32101 üzerinde kablosuz yardımcı işlemci yoktur; harici ağ modülü gerekir. |
| Rastgele reset | Besleme akımı, USB kablosu, bağlı ekran/kamera/USB yükü, brownout ve watchdog loglarını inceleyin. |
Sıkça Sorulan Sorular
SKU 32101 paketinde kamera veya ekran var mı?
Hayır. SKU 32101 standart kart ve iki adet 20 pin header içerir. Kamera, ekran, hoparlör ve bağlantı kabloları kit sürümlerine veya ayrıca satılan aksesuarlara aittir.
ESP32-P4-Pico WiFi ve Bluetooth destekliyor mu?
SKU 32101 kart üzerinde kablosuz radyo veya ESP32-C6 yardımcı işlemcisi yoktur. Harici haberleşme modülü eklenebilir.
Bu kart Raspberry Pi Pico mudur?
Hayır. ESP32-P4 tabanlı Waveshare geliştirme kartıdır. 40 pin fiziksel düzeni bazı Pico HAT kartlarıyla uyumludur; işlemci, yazılım ve pin işlevleri Raspberry Pi Pico'dan farklıdır.
Linux çalıştırır mı?
Genel kullanım amacı ESP-IDF ve FreeRTOS tabanlı mikrodenetleyici uygulamalarıdır. Raspberry Pi gibi Linux tek kart bilgisayarı yerine gerçek zamanlı gömülü sistem platformudur.
Her MIPI-DSI ekran çalışır mı?
Hayır. Fiziksel bağlantıya ek olarak panel sürücüsü, güç sıralaması, lane ve zamanlama desteği gerekir. Platform deposunda desteklenen panel listesi kontrol edilmelidir.
5 MP kamera ile 5 MP H.264 video alınabilir mi?
Sensör 5 MP olabilir; ancak donanımsal H.264 hattı 1080p/2 MP @ 30 fps sınıfında belirtilir. Sensör çözünürlüğü ve encoder çıkış sınırı farklıdır.
Arduino IDE kullanılabilir mi?
Temel ve belirli örneklerde kullanılabilir; MIPI, ses ve video özellikleri için ESP-IDF daha kararlı ve kapsamlıdır.
Harici Ethernet eklenebilir mi?
Evet. Uygun PHY/RJ45 devresiyle ESP32-P4 EMAC veya SPI tabanlı Ethernet denetleyicisi kullanılabilir. SKU 32101 üzerinde Ethernet PHY ve RJ45 yerleşik değildir.
Hoparlör doğrudan bağlanabilir mi?
Evet, MX1.25 2P konnektöre 8 ohm 2 W hoparlör bağlanabilir. Kutuplama ve konnektör kablo düzeni kontrol edilmelidir.
Header pinleri lehimli mi gelir?
SKU 32101 standart sürümde iki adet 20 pin header ayrı olarak gelir. Fabrikada lehimli sürüm ESP32-P4-Pico-M, SKU 32094 modelidir.
Paket İçeriği
- 1 adet Waveshare ESP32-P4-Pico geliştirme kartı, SKU 32101
- 2 adet 20 pin header
Dahil değildir: USB Type-C kablo, microSD kart, MIPI-DSI ekran, MIPI-CSI kamera, FFC kablolar, hoparlör, standoff ve kablosuz haberleşme modülü.