معرفی کامل برد ESP32 S3 DevKitC + امکانات

برد توسعه ESP32‑S3 DevKitC برای پاسخگویی به نیازهای پردازشی حجیم در کاربردهای AIoT ساخته شده است. پردازنده مرکزی آن یک میکروپروسسور دو هستهای Xtensa 32‑بیتی LX7 است که تا 240 MHz کار میکند و دستورالعملهای برداری ویژهای برای تسریع وظایف یادگیری ماشینی و پردازش سیگنال پیشرفته دارد.
برای استفاده مؤثر از این تواناییها باید ساختار پینها را شناخت. هر پین نقش مشخصی دارد و آگاهی از کارکرد آنها به طراحی مدار ایمنتر، جلوگیری از خطاهای پرهزینه و بهرهگیری کامل از قابلیتهای برد کمک میکند.
پین اوت ESP32‑S3 DevKitC
DevKitC برای نمونهسازی بسیار مناسب طراحی شده و در دو طرفش دو ردیف 22 پینی دارد که جمعاً 44 نقطه اتصال اصلی را فراهم میکنند. فاصله پایهها استاندارد 2.54 mm است، بنابراین برد بهراحتی روی برد بورد استاندارد قرار میگیرد یا با هدرهای معمولی روی برد مدار چاپی جای میگیرد.
نقشه پینها در تصویر زیر نمایش داده شده است:

در ادامه پینها و عملکرد هر یک را بررسی میکنیم و از GPIOها شروع میکنیم.
GPIO ها
روی هدرهای ESP32‑S3 DevKitC، مجموعاً 36 پین GPIO در دسترس هستند: GPIO0 تا GPIO21 و همچنین GPIO35 تا GPIO48.

قانون مهم و حیاتی این است که ESP32‑S3 با منطق 3.3V کار میکند. بنابراین هرگز نباید پینهای GPIO را به منبع 5V متصل کنید؛ این کار ممکن است برد را بهطور دائمی آسیب بزند.
The GPIO Matrix و IO MUX
یکی از قابلیتهای قدرتمند ESP32‑S3 وجود GPIO Matrix است؛ مانند یک سامانه داخلی مسیردهی که اجازه میدهد تقریباً هر تابع دیجیتال مانند PWM، I2C، SPI، UART، I2S یا TWAI را با تغییر نرمافزاری به تقریباً هر پین فیزیکی اختصاص دهید.
این انعطافپذیری یک محدودیت کوچک دارد: سیگنالها از طریق GPIO Matrix عبور میکنند که مقداری تأخیر وارد میکند. برای اغلب پروژهها این تأخیر قابل چشمپوشی است، اما در سیگنالهای بسیار سریع یا اندازهگیریهای آنالوگ حساس میتواند مشکلساز شود.
برای این وضعیتها، ESP32‑S3 مسیر GPIO Matrix را دور میزند و از IO MUX استفاده میکند.
IO MUX بعضی پینهای فیزیکی را مستقیماً به سختافزار اختصاصی داخل چیپ وصل میکند. بعضی از این اتصالات ثابت و قابل جابجایی نیستند، در حالی که برخی اتصالات دارای تخصیص پیشفرض هستند اما میتوان آنها را از طریق GPIO Matrix منتقل کرد. توابعی که بهصورت کامل به IO MUX وابستهاند شامل کانالهای ADC، رابط JTAG داخلی، کنترلر USB Serial/JTAG و اتصالات سرعتبالای SPI برای حافظه داخلی هستند.
به طور خلاصه، سیگنالهای پیرامونی (peripheral) در ESP32‑S3 را میتوان اینگونه گروهبندی کرد:
| نوع مسیردهی | نمونههایی از پیرامون | معنی |
|---|---|---|
| ثابت به پینهای مشخص از طریق IO MUX | ADC1, ADC2, Touch | این توابع باید از پینهای تعیینشده استفاده کنند و قابل جابجایی در نرمافزار نیستند. |
| متصل به پینهای پیشفرض IO MUX، ولی قابل هدایت دوباره از طریق GPIO Matrix | UART0, UART1, SPI2 | این توابع محلهای استانداردی دارند، اما در صورت نیاز میتوان آنها را به GPIOهای دیگر منتقل کرد. |
| بهصورت پیشفرض به پین ثابت اختصاص نیافته و از طریق GPIO Matrix مسیردهی میشوند | UART2, SPI3, I2C, I2S, TWAI, LED PWM, LCD and Camera, SD/MMC, MCPWM | این توابع انعطافپذیرند و میتوانند در نرمافزار به پینهای مختلف اختصاص یابند. |
کدام GPIO ها امنترند و کدامها احتیاط میخواهند؟
با وجود تعداد زیاد پینها و کارکردهای متنوع، بعضی پینها برای پروژهها مناسبتر و بعضی پینها نیاز به دقت بیشتر دارند. جدول زیر نشان میدهد کدام پینها بدون مشکل قابل استفادهاند و کدامها باید با احتیاط به کار روند.
- ایمن – اولویت بالا؛ کاملاً امن برای استفاده.
- با احتیاط – رفتارشان، بهویژه هنگام بوت، ممکن است غیرقابلپیشبینی باشد؛ مراقب باشید.
| GPIO | وضعیت | نوع | یادداشتها |
|---|---|---|---|
| GPIO0 | با احتیاط | Strapping Pin | تعیینکننده حالت بوت اصلی (HIGH برای بوت عادی، LOW وارد Download Mode میشود); وضعیت پیشفرض: HIGH (Pull-up) |
| GPIO1 | ایمن | ||
| GPIO2 | ایمن | ||
| GPIO3 | با احتیاط | Strapping Pin | انتخابکننده منبع سیگنال JTAG; وضعیت پیشفرض: Floating |
| GPIO4 | ایمن | ||
| GPIO5 | ایمن | ||
| GPIO6 | ایمن | ||
| GPIO7 | ایمن | ||
| GPIO8 | ایمن | ||
| GPIO9 | ایمن | ||
| GPIO10 | ایمن | ||
| GPIO11 | ایمن | ||
| GPIO12 | ایمن | ||
| GPIO13 | ایمن | ||
| GPIO14 | ایمن | ||
| GPIO15 | ایمن | ||
| GPIO16 | ایمن | ||
| GPIO17 | ایمن | ||
| GPIO18 | ایمن | ||
| GPIO19 | با احتیاط | USB | بهصورت دائم به سیگنال تفاضلی USB سرعتبالا D- متصل است |
| GPIO20 | با احتیاط | USB | بهصورت دائم به سیگنال تفاضلی USB سرعتبالا D+ متصل است |
| GPIO21 | ایمن | ||
| GPIO35 | با احتیاط | PSRAM | برای Octal Flash یا Octal PSRAM در بردهای مجهز به حافظه Octal رزرو شده است |
| GPIO36 | با احتیاط | PSRAM | برای Octal Flash یا Octal PSRAM در بردهای مجهز به حافظه Octal رزرو شده است |
| GPIO37 | با احتیاط | PSRAM | برای Octal Flash یا Octal PSRAM در بردهای مجهز به حافظه Octal رزرو شده است |
| GPIO38 | ایمن | ||
| GPIO39 | با احتیاط | JTAG | JTAG TCK برای دیباگ |
| GPIO40 | با احتیاط | JTAG | JTAG TDO برای دیباگ |
| GPIO41 | با احتیاط | JTAG | JTAG TDI برای دیباگ |
| GPIO42 | با احتیاط | JTAG | JTAG TMS برای دیباگ |
| GPIO43 | با احتیاط | UART‑TX | بهعنوان UART0 TX (کنسول/bootloader) استفاده میشود؛ تغییر آن ممکن است خروجی کنسول را غیر فعال کند |
| GPIO44 | با احتیاط | UART‑RX | بهعنوان UART0 RX (کنسول/bootloader) استفاده میشود؛ تغییر آن ممکن است برنامهریزی سریال و لاگ دیباگ را از کار بیندازد |
| GPIO45 | با احتیاط | Strapping Pin | تعیینکننده ولتاژ VDD_SPI برای حافظه خارجی. LOW باعث 3.3V و HIGH باعث 1.8V میشود. وضعیت پیشفرض: LOW (Pull‑down) |
| GPIO46 | با احتیاط | Strapping Pin | کنترل چاپ پیامهای دیباگ ROM هنگام بوت. اگر HIGH شود، پیامهای تشخیصی روی کنسول اولیه چاپ میشوند. وضعیت پیشفرض: LOW (Pull‑down) |
| GPIO47 | ایمن | ||
| GPIO48 | ایمن |
تصویر زیر نشان میدهد کدام GPIOها بهصورت ایمن قابل استفادهاند:

پین های وقفه (Interrupt Pins)
برخلاف میکروکنترلرهایی که پین وقفه اختصاصی دارند، ESP32‑S3 از یک Interrupt Matrix پیشرفته استفاده میکند که اجازه میدهد هر پین GPIO عملکردی بهعنوان منبع وقفه خارجی پیکربندی شود.
ESP32‑S3 چهار حالت تریگر مختلف را پشتیبانی میکند که تعیین میکنند چه زمانی وقفه رخ دهد:
| حالت | شرط تریگر | موارد معمول استفاده |
|---|---|---|
RISING | تغییر پین از LOW به HIGH | تشخیص فشردن کلید (pull‑down) |
FALLING | تغییر پین از HIGH به LOW | تشخیص فشردن کلید (pull‑up) |
CHANGE | تغییر وضعیت پین (هر دو جهت) | خواندن انکودر، شمارش پالس |
LOW | پین در سطح LOW باقی میماند | رویدادهای تریگر سطحی |
RTC GPIO ها
برخی GPIOها به واحد RTC (real‑time clock) و سیستم کممصرف متصل هستند و به آنها RTC GPIO گفته میشود. در ESP32‑S3 DevKitC این پینها عبارتند از GPIO0 تا GPIO21.

این پینها هنگام قرارگیری چیپ در مد خواب عمیق (deep sleep) اهمیت دارند؛ آنها میتوانند با رویداد خارجی مانند فشردن دکمه، تشخیص حرکت توسط سنسور PIR یا اعلان از شتابسنج، چیپ را از خواب بیدار کنند.
Strapping Pins (پینهای استرپینگ)
Strapping pins مجموعهای از GPIOهای حساس هستند که رفتار میکروکنترلر را در لحظه بوت تعیین میکنند. در میلیثانیههای ابتدایی بوت یا ریست، چیپ ولتاژ این پینها را میخواند و بر اساس آن تصمیماتی درباره وضعیت بوت، فعالسازی دیباگ و ولتاژ حافظه میگیرد.
چهار پین استرپینگ مهم در ESP32‑S3 عبارتند از GPIO0، GPIO3، GPIO45 و GPIO46.

| شماره پین | وضعیت داخلی پیشفرض | عملکرد اصلی در دنباله بوت |
|---|---|---|
| GPIO0 | Pull‑up (HIGH) | تعیین حالت بوت اصلی. اگر HIGH بماند، چیپ بهصورت عادی از حافظه بوت میکند. اگر در زمان ریست LOW شود، وارد Download Mode میشود و امکان فلش از طریق USB یا UART را فراهم میکند. |
| GPIO3 | Floating | انتخاب پیکربندی منبع سیگنال JTAG برای دیباگ پیشرفته. |
| GPIO45 | Pull‑down (LOW) | تنظیم ولتاژ حافظه خارجی. LOW باعث 3.3V و HIGH باعث 1.8V میشود. |
| GPIO46 | Pull‑down (LOW) | کنترل چاپ پیامهای تشخیصی در زمان بوت. اگر HIGH شود، پیامهای دیباگ روی کنسول اولیه چاپ میشوند. |
هر یک از این پینها دارای مقاومت کششی (pull‑up یا pull‑down) ضعیف داخلی است که حالت پیشفرض پین را تعیین میکند. بنابراین در وضعیت عادی نیازی به انجام کاری ندارید چون برد آنها را برای استفاده معمولی پیکربندی کرده است.
هشدار:
به پینهای استرپینگ با دقت بیشتری برخورد کنید. قبل از اتصال سنسور یا ماژول به این پینها مطمئن شوید که در زمان راهاندازی، سطح منطقی نامناسبی به آنها تحمیل نمیشود.
مثال: اگر سرویسی باعث شود GPIO0 هنگام روشن شدن برد در حالت LOW بماند، ESP32‑S3 وارد Download Mode شده و کد شما اجرا نخواهد شد.
مشکل جدیتر: اگر ماژولی GPIO45 را در زمان بوت HIGH کند، چیپ ولتاژ رگولاتور حافظه را روی 1.8V تنظیم خواهد کرد؛ در صورتی که فلش برد برای 3.3V طراحی شده باشد، سیستم بلافاصله دچار brownout شده و بوت مختل میشود.
پینهای مربوط به SPI Flash و PSRAM
برای دستیابی به کارایی پردازشی بالا، ESP32‑S3 به حافظههای داخلی SPI Flash (برای ذخیره فرمویر و دادهها) و PSRAM (برای حافظه موقت برنامهها) وابسته است. ارتباط بین پردازنده و این حافظهها در سرعتهای بسیار بالا انجام میشود، بنابراین پینهای اتصال بهطور ویژه رزرو شده و نباید برای کاربر عادی مورد استفاده قرار بگیرند.
پینهای استاندارد Quad‑SPI (GPIO26 تا GPIO32)
در ماژولهای استاندارد ESP32‑S3، GPIO26 تا GPIO32 بهصورت دائمی به حافظههای SPI Flash و PSRAM در حالت Quad‑SPI متصل شدهاند. بنابراین این پینها نباید برای کاربردهای کاربری استفاده شوند.
خوشبختانه در DevKitC این پینها روی هدرها قرار ندارند، اما آگاهی از وجود آنها مهم است، خصوصاً اگر از برد دیگری استفاده کنید یا طراحی سفارشی با چیپ خام داشته باشید.
پینهای توسعه Octal‑SPI (GPIO33 تا GPIO37)
یکی از تفاوتهای ESP32‑S3 با برخی چیپهای قبلی، پشتیبانی از حافظه Octal‑SPI بسیار سریع است. این حافظه برای کارهای سنگینی مانند نگهداری مدلهای هوش مصنوعی یا رندرینگ گرافیک حجیم ضروری است.
اگر برد شما از حافظه Octal استفاده کند (در نسخههای چیپ مانند ESP32‑S3R8 یا ESP32‑S3R8V مشخص میشود)، باس حافظه توسعه مییابد و پنج پین اضافی GPIO33 تا GPIO37 بهطور کامل رزرو میشوند.

پینهای ADC
ESP32‑S3 دو ADC نوع SAR با عملکرد بالا دارد: ADC1 و ADC2. این ADCها امکان خواندن ولتاژ آنالوگ از سنسورها مانند پتانسیومتر، سنسور نور یا سنسور دما را فراهم میکنند. در DevKitC تعداد 20 پین برای ورودی آنالوگ در دسترس است.
GPIO1 تا GPIO10 به ADC1 تعلق دارند و GPIO11 تا GPIO20 به ADC2 تعلق دارند.

هر دو ADC رزولوشن 12‑بیتی دارند، یعنی بازه ورودی را به 4096 سطح مجزا (0 تا 4095) تقسیم میکنند.
نکته:
چون ماژول ADC2 توسط Wi‑Fi نیز استفاده میشود، وقتی Wi‑Fi فعال است ADC2 قابل استفاده نیست. بنابراین اگر پروژه شما نیاز همزمان به Wi‑Fi و ورودی آنالوگ دارد، بهتر است از پینهای ADC1 استفاده کنید.
کاهش سطح (ADC Attenuation)
درون چیپ، ADC از یک ولتاژ مرجع داخلی به نام Vref برای اندازهگیری سیگنالها استفاده میکند. مقدار دقیق Vref بین چیپها متفاوت است، اما مقدار میانه حدود 1.1V است.
برای اندازهگیری ولتاژهای بالاتر از Vref بهطور ایمن، ESP32‑S3 از ویژگی نرمافزاری به نام attenuation استفاده میکند که ولتاژ ورودی را قبل از پردازش توسط ADC مقیاس میدهد. با افزایش مقدار attenuation در کد، محدوده قابل اندازهگیری افزایش مییابد.
چهار گزینه attenuation در دسترس است:
| پیکربندی attenuation | محدوده ولتاژ قابل اندازهگیری |
|---|---|
ADC_ATTEN_DB_0 (0 dB) | 0 mV ~ 950 mV |
ADC_ATTEN_DB_2_5 (2.5 dB) | 0 mV ~ 1250 mV |
ADC_ATTEN_DB_6 (6 dB) | 0 mV ~ 1750 mV |
ADC_ATTEN_DB_11 (11 dB) | 0 mV ~ 3100 mV |
پینهای لمسی خازنی (Capacitive‑Touch)
ESP32‑S3 دارای 14 پین برای حسگر لمسی خازنی است: GPIO1 تا GPIO14.

این پینها تغییرات ظرفیت خازنی را ثبت میکنند و میتوانند حضور نمونهای مانند انگشت را تشخیص دهند. همچنین میتوانید مواد رسانا مانند فویل آلومینیوم یا پارچه رسانا را به این پینها متصل کنید تا آن ماده بهعنوان پنل لمسی عمل کند و دکمه یا لامپ لمسی بسازید.
I2C
ESP32‑S3 دو کنترلر سختافزاری I2C مستقل دارد که میتوانند در حالتهای استاندارد (100 kbit/s)، فست (400 kbit/s) و سرعتهای بالاتر بسته به ظرفیت باس کار کنند.
برخلاف برخی توابع دیگر، کنترلرهای I2C به پین ثابت اختصاص داده نشدهاند و از طریق GPIO Matrix میتوانند به هر GPIO دلخواه نگاشت شوند.
هشدار:
هنگام سیمکشی I2C حتماً مقاومتهای پول‑آپ خارجی برای خطوط SDA و SCL اضافه کنید—معمولاً بین 4.7 kΩ تا 10 kΩ. در صورتی که از مقاومتهای کششی داخلی ضعیف چیپ (~45 kΩ) استفاده کنید، سیگنالها ممکن است روی خطوط طولانی یا باسهایی با ظرفیت بالا خیلی کند بالا بروند و باعث خطا یا قطع کار باس شوند.
UART
ESP32‑S3 سه کنترلر UART سختافزاری دارد: UART0، UART1 و UART2.

UART0 عمدتاً برای کنسول و دیباگ استفاده میشود. بهصورت پیشفرض UART0 به GPIO43 برای TX و GPIO44 برای RX اختصاص دارد. این پینها پیامهای بوتلودر ROM را خروجی میدهند و امکان دیباگ از طریق Serial Monitor را فراهم میکنند؛ تغییر این پینها در نرمافزار بهشدت نامطلوب است زیرا کنسول اصلی دیباگ را غیر فعال میکند.
UART1 بهصورت پیشفرض GPIO17 برای TX و GPIO18 برای RX دارد، ولی میتوان آن را از طریق GPIO Matrix به دیگر پینها منتقل کرد.
UART2 بهطور کامل پیشفرضاً تخصیص نیافته و میتوان آن را آزادانه به هر GPIO نگاشت کرد.
| کنترلر UART | TX | RX | توضیحات |
|---|---|---|---|
| UART0 | GPIO43 | GPIO44 | کنسول دیباگ اصلی. تغییر تخصیص بهشدت نامطلوب است. |
| UART1 | GPIO17 | GPIO18 | پینهای پیشفرض نشان داده شدهاند، اما میتوانند به هر GPIO نگاشت شوند. |
| UART2 | تخصیص نیافته | تخصیص نیافته | کاملاً آزاد برای نگاشت به هر GPIO. |
SPI
ESP32‑S3 دارای چهار کنترلر SPI است: SPI0، SPI1، SPI2 و SPI3.

SPI0 و SPI1 اختصاصی برای حافظه داخلی Flash و PSRAM هستند و قابل استفاده برای کاربر نیستند. بنابراین فقط SPI2 و SPI3 برای کاربردهای شما در دسترساند.
بهصورت پیشفرض SPI2 از طریق IO MUX به پینهای زیر متصل است:
| سیگنال SPI | نقشه پین SPI2 |
|---|---|
| SCK / CLK | GPIO12 |
| MOSI | GPIO11 |
| MISO | GPIO13 |
| CS (Chip Select) | GPIO10 |
هرچند SPI2 را میتوان از طریق GPIO Matrix به پینهای دیگر نیز نگاشت، توصیه میشود از پینهای سختافزاری پیشفرض استفاده کنید زیرا اتصال مستقیم IO MUX تأخیر داخلی را دور میزند و امکان دستیابی به فرکانسهای بسیار بالا تا 80 MHz را فراهم میکند.
SPI3 بهصورت پیشفرض تخصیص نیافته و میتوان آن را آزادانه به هر GPIO نگاشت کرد.
I2S
ESP32‑S3 دو واحد I2S (I2S0 و I2S1) دارد که برای انتقال صوت دیجیتال همگام با کیفیت بالا طراحی شدهاند.
اتصال I2S معمولاً حداقل سه خط سیگنال نیاز دارد: Bit Clock (BCLK)، Word Select (WS) و Serial Data (DIN/DOUT). در برخی موارد از Master Clock (MCLK) نیز برای همگامسازی استفاده میشود.
نمونه نرخهای صوتی استاندارد مانند 44.1 kHz و 48 kHz در محدودهای هستند که GPIO Matrix میتواند بهخوبی از پس آنها برآید؛ بنابراین I2S را میتوان به تقریباً هر پین GPIO موجود نگاشت کرد.
PWM
تمام پینهای قابلدسترسی در DevKitC، شامل GPIO0 تا GPIO21 و GPIO35 تا GPIO48، قابلیت خروجی سیگنال PWM با رزولوشن بالا را دارند.

میتوان از دو روش برای مدیریت PWM استفاده کرد که بسته به پیچیدگی پروژه انتخاب میشوند.
LED PWM Controller (LEDC)
برای کارهای معمولی مانند کمنور یا روشن کردن LED، کنترل سرووهای کوچک یا کنترل یک عنصری گرمایشی ساده از LEDC استفاده میشود. این کنترلر هشت کانال PWM مستقل فراهم میکند و امکان کنترل فرکانس و Duty Cycle با دقت بالا را میدهد. از آنجا که این سیگنالها از طریق GPIO Matrix قابل هدایتند، میتوان آنها را به تقریباً هر پینی اختصاص داد.
Motor Control PWM (MCPWM)
برای کنترل موتورهای پیچیده، ESP32‑S3 دارای MCPWM است؛ سختافزار اختصاصی که برای راهاندازی H‑bridgeها، موتورهای DC براشدار و BLDC طراحی شده است. این کنترلر ویژگیهایی مانند insertion زمان مرده (dead‑time) سختافزاری، مدیریت خطا و مدولاسیون حامل را پشتیبانی میکند.
Two‑Wire Automotive Interface (TWAI/CAN)
TWAI پیادهسازی سختافزاری native پروتکل CAN در ESP32‑S3 است و مطابق ISO 11898‑1 (CAN 2.0B) عمل میکند و شناسههای 11‑بیتی و 29‑بیتی را پشتیبانی میکند.
از آنجا که سرعتهای استاندارد CAN تا 1 Mbps میرسد، سیگنالهای TWAI (TX, RX, BUS‑OFF و CLKOUT) را میتوان از طریق GPIO Matrix به هر پین در دسترس مسیردهی کرد.
با این حال، ESP32‑S3 بر پایه منطق 3.3V کار میکند و قادر به تولید سیگنال تفاضلی مورد نیاز یک باس CAN واقعی نیست. برای اتصال DevKitC به یک باس CAN واقعی باید از ترانسیور جداگانه 3.3V CAN استفاده کنید.
USB‑OTG
یکی از مزایای مهم ESP32‑S3، کنترلر USB 1.1 OTG با پشتیبانی full‑speed است.
این رابط USB بهصورت دائم به GPIO19 برای D‑ و GPIO20 برای D+ متصل است. این پینها امکان شبیهسازی کنسول سریال (CDC) و دیباگ JTAG سختافزاری را از طریق یک کابل Type‑C فراهم میکنند.

هشدار:
از آنجا که GPIO19 و GPIO20 به USB داخلی متصلاند، از استفاده از آنها برای اهداف دیگر اجتناب کنید. اگر این پینها را دوباره پیکربندی کنید، اتصال داخلی USB قطع شده و دسترسی USB از بین میرود.
پینهای JTAG سختافزاری سنتی
اگر نیاز باشد که GPIO19 و GPIO20 را برای کارهای دیگر آزاد کنید، ESP32‑S3 از JTAG سختافزاری سنتی نیز پشتیبانی میکند.
بهصورت پیشفرض این رابط از طریق IO MUX به پینهای زیر متصل است:
| سیگنال JTAG | پین GPIO پیشفرض |
|---|---|
| MTCK | GPIO39 |
| MTDO | GPIO40 |
| MTDI | GPIO41 |
| MTMS | GPIO42 |

اگر دیباگ سختافزاری JTAG در طراحی نهایی لازم نباشد، این چهار پین را میتوان دوباره بهعنوان GPIO عادی استفاده کرد.
پین LED RGB داخلی
برد DevKitC دارای یک LED آدرسپذیر WS2812 داخلی است که برای بازخورد بصری مفید است.
محل اتصال LED بستگی به نسخه سختافزاری برد دارد: در DevKitC‑1 v1.0 LED به GPIO48 متصل است، در حالی که در DevKitC‑1 v1.1 به GPIO38 متصل شده است.

بنابراین همواره قبل از نوشتن کد نسخه برد خود را بررسی کنید تا LED در پین مورد انتظار روشن شود.
پینهای تغذیه
DevKitC چند پین تغذیه دارد که هم برای تغذیه خود برد استفاده میشوند و هم میتوانند برای تأمین توان سنسورها و ماژولهای خارجی به کار روند.

پورتهای Type‑C USB (پورت USB‑to‑UART و پورت USB داخلی ESP32‑S3) روش اصلی تغذیه برد هستند. اتصال به کامپیوتر یا آداپتور دیواری 5V را به یک رگولاتور LDO روی برد میدهد که آن را به 3.3V پایدار تبدیل میکند، ولتاژی که چیپ و دیگر قطعات برد به آن نیاز دارند.
پین 5V یک روش دیگر برای تغذیه برد است. با اتصال یک پک باتری یا آداپتور خارجی که بین 4.3V تا 6.0V تأمین میکند میتوانید برد را مستقیم تغذیه کنید. دقیقاً مانند تغذیه USB، رگولاتور داخلی این ولتاژ را به 3.3V تبدیل میکند.
پین 3V3 بسته به پیکربندی میتواند نقش دوگانه داشته باشد. در بیشتر موارد وقتی برد از طریق USB یا پین 5V تغذیه میشود، پین 3V3 یک خروجی است و 3.3V پایدار برای سنسورهای کوچک فراهم میکند. باید به جریان کلی مصرفی توجه کنید، زیرا ESP32‑S3 میتواند در اوج ارسال Wi‑Fi تا 500mA بکشد.
همچنین پین 3V3 میتواند بهعنوان ورودی استفاده شود؛ اگر منبع خارجی 3.3V پایداری دارید میتوانید آن را مستقیم وارد 3V3 کنید تا مسیر رگولاتور روی برد دور زده شود و ولتاژ مستقیماً به منطق میکروکنترلر برسد.
پینهای کنترلی

دکمه BOOT (GPIO0) مستقیماً به GPIO0 متصل است. نگه داشتن این دکمه باعث میشود منطق استرپینگ به طور فیزیکی LOW شود و ESP32‑S3 وارد حالت bootloader شود.
دکمه RESET (CHIP_PU) به خط فعالسازی چیپ (CHIP_PU) متصل است. با فشردن کوتاه این دکمه، تغذیه منطق دیجیتال قطع شده و میکروکنترلر بلافاصله ریست میشود.
سوالات متداول
آیا میتوانم GPIOها را به 5V متصل کنم؟
خیر. ESP32‑S3 با منطق 3.3V کار میکند و اتصال پینهای GPIO به 5V ممکن است باعث آسیب دائمی به برد شود.
کدام ADC برای پروژهای که همزمان از Wi‑Fi استفاده میکند مناسبتر است؟
بهتر است از پینهای ADC1 (GPIO1 تا GPIO10) استفاده کنید چون ADC2 توسط Wi‑Fi نیز بهکار گرفته میشود و در زمان فعال بودن Wi‑Fi قابل استفاده نیست.
اگر در زمان بوت GPIO0 یا GPIO45 به سطح نامناسب کشیده شوند چه اتفاقی میافتد؟
اگر GPIO0 هنگام بوت LOW شود، چیپ وارد Download Mode میشود و از اجرای معمول برنامه جلوگیری میکند. اگر GPIO45 در زمان بوت HIGH شود، رگولاتور حافظه روی 1.8V تنظیم میشود که در صورت وجود فلش 3.3V میتواند باعث brownout و عدم بوت شود؛ بنابراین هنگام وصل کردن مدارها به این پینها باید دقت کرد.











