در این مقاله تصمیم گرفتیم Raspberry Pi Pico رو با ESP32 از نظر قابلیت ها و امکانات سخت افزاری که در اختیار کاربر قرار می دهند، مقایسه کنیم. اما قبل از اینکه این مقایسه جالب رو شروع کنیم، بیایم یک مرور مختصری بر Raspberry Pi Pico و ESP32 داشته باشیم.

مشخصات Raspberry Pi Pico
Raspberry Pi Pico یک بورد میکروکنترلر کاملا جدید 4 دلاری است که ویژگی های مختلفی را ارائه می دهد. این تراشه از یک ریزتراشه جدید سفارشی ساخت ۱۳۳ هرتز +ARM Cortex-M0 به نام RP2040 پشتیبانی میکند. از دیگر ویژگی های اصلی Raspberry Pi Pico می توان به دارا بودن 26 پین GPIO، حافظه داخلی 2 مگابایت، 264 کیلوبایت SRAM، انواع کانال های I2C، UART، SPI، ADC ،PWM و PIO اشاره کرد. این بورد میکروکنترلر فوق العاده قدرتمند از کدهای نوشته شده در C/C++ و MicroPython پشتیبانی می کند. برای مشاهده لیست فروشندگان و قیمت رزبری پای پیکو کلیک کنید.

مشخصات ESPRESSIF ESP 32
اما در سمت دیگر رقیب قدرتمند Espressif ESP32 را می بینیم. یک بورد توسعه محور با ویژگی ها و امکانات کاربردی شگفت انگیز! این بورد وعده ارائه هر دو اتصال بی سیم بلوتوث و Wi-Fi و یک ریزپردازنده پیچیده دو هسته ای را می دهد. ریزپردازنده مورد استفاده Tensilica Xtensa (32بیتی) LX6 است که فرکانس کلاک آن تا 240 مگاهرتز می رسد و تا 600 DMIPS (میلیون دستورالعمل دهریستون در ثانیه) را انجام می دهد. برای اطلاعات بیشتر معرفی پایه های ESP32 و تنظیم آن ها به عنوان ورودی و خروجی را مطالعه کنید. برای مشاهده لیست فروشندگان و قیمت ماژول ESP32 کلیک کنید.
حالا که با مشخصات اولیه هر دو بورد آشنا شدیم، می توانیم نگاه دقیق تری به امکانات و خصوصیت های آنها داشته باشیم.
مقایسه از نظر پردازنده

هر دو بورد میکروکنترلر روی کاغذ بسیار خوب بنظر می رسند. Raspberry Pi Pico با RP2040 دارای یک CPU دو هسته ای +ARM Cortex-M0 می باشد. ولی در نقطه مقابل ESP32 دارای یک پردازنده Tensilica Xtensa LX6 می باشد که یک CPU دو هسته ای 32 بیتی است. اگرچه گزینه ای برای دریافت نسخه تک هسته ای ESP32 نیز موجود می باشد. در اینجا به یک تفاوت ریز ولی قابل توجه می رسیم. حداکثر سرعت کلاک CPU Pico فقط 133KHz است در حالی که سرعت کلاک ESP32 به 240KHz می رسد. بنابراین +CPU Arm Cortex-M0 بسیار کندتر از 32 بیت LX6 از ESP32 است.
حافظه فلش و نوع اتصال
حافظه فلش ارائه شده در پیکو (Pi Pico) 2 مگابایت است در حالی که حافظه فلش در ESP32 به 4 مگابایت می رسد. فلش مموری بورد مکانی است که برنامه در آن ذخیره می شود. اگرچه حافظه فلش ESP2 دو برابر Pico است، اما اتصال بی سیم را ارائه می دهد بنابراین حافظه 4 مگابایتی تفاوت چندانی ایجاد نمی کند. در واقع اگر برنامه مبتنی بر Wi-Fi یا بلوتوث نداشته باشیم، فضای ذخیره سازی 2 مگابایتی بیشتر از نیاز ما می باشد. SRAM برای ESP32 مقدار 520KB و برای Raspberry Pi Pico مقدار 264KB در نظر گرفته شده است. از آنجایی که Raspberry Pi Pico از پروژه های MicroPython استفاده می کند، اندازه SRAM به خوبی کفایت می کند.
پین های قابل برنامه ریزی
Raspberry Pi Pico دارای 30 پایه قابل برنامه ریزی و ESP32 دارای 38 پایه و همچنین هر دو بورد دارای فلاش خارجی هستند. این مقدار پین در هر دو بورد برای توسعه و پروژه های IoT مناسب می باشد. Raspberry Pi Pico تقریباً از تمام رابط های استاندارد مبدل آنالوگ به دیجیتال (ADC) به غیر از I²S و CAN پشتیبانی می کند. البته این 2 رابط آنچنان کاربردی نیستند، اما در هرصورت ESP32 این دو رابط را هم پشتیبانی می کند.
هر دو بورد ویژگی دسترسی مستقیم به حافظه (DMA) را ارائه می دهند. اما Raspberry Pi Pico پشتیبانی معمولی USB را ارائه می دهد در حالی که ESP32 فاقد این ویژگی مهم و کاربردی است.
مصرف برق
Raspberry Pi Pico و همچنین ESP32 رابط Serial Wire Debug را برای اشکال زدایی ارائه می دهند. Raspberry Pi Pico از اتصال بی سیم چه Wi-Fi و چه بلوتوث پشتیبانی نمی کند. در حالی که بورد ESP32 از اتصال Wi-Fi و بلوتوث پشتیبانی می کند. در مصرف برق بین این دو بورد تفاوت چشمگیری مشاهده می کنیم. Raspberry Pi Pico تنها 18 میلی آمپر جریان مصرف می کند در حالی که بورد ESP32 با وایفای خاموش، 53 میلی آمپر جریان زیادی مصرف می کند. پس نتیجه می گیریم Raspberry در مصرف برق بسیار بهتر عمل کرده است.
اگر در مورد ولتاژ تغذیه ورودی صحبت کنیم، Raspberry Pi Pico می تواند از 1.8 تا 5.5 ولت کار کند در حالی که ولتاژ کاری ESP32 بین 2.2 تا 3.6 ولت است. این بدان معناست که یک باتری Li-Ion (3.0-4.2V) و همچنین 2x AA (2.0-3.2V) را می توان مستقیماً به Raspberry Pi Pico متصل کرد اما هر دو باتری اصلی در ESP32 پشتیبانی نمی شوند. قیمت هر دو بورد میکروکنترلر یکسان است یعنی 4 دلار که هر دوی این بوردها را نسبتاً مقرون به صرفه می کند.
جدول مقایسه
تا اینجا تمام خصوصیت ها و امکانات دو بورد را با هم بطور مفصل مقایسه کردیم. در جدول زیر می تونید این دو بورد را در کنار هم مقایسه کنید.
RASPBERRY PI PICO |
ESPRESSIF ESP 32 | ویژگی |
Dual-core |
Single/dual-core |
Core count |
RP2040 |
Tensilica Xtensa LX6 |
Microcontroller |
48MHz / 133MHz |
160MHz / 240MHz |
Clock frequency |
264 KB in 6 banks |
520 KB |
SRAM |
2 MB |
4 MB |
Interna Flash Memory |
Up to 16 MB |
up to 11 MB + 248 KB can be |
External Flash Support |
2 |
4 |
SPI |
2 |
2 |
I²C |
16 |
16 |
PWM |
3(12-bits) |
18(12-bits) |
ADC |
26 |
36 |
GPIO(total) |
2 |
3 |
UART |
Not Specified |
16 MB |
RTC memory |
3.3 VCD |
3.3 VCD |
MCU Voltage |
MicroPython, C, C++ |
C, MicroPython with limited support |
Programming Language |
3.3 VDC |
3.3 VDC |
Operating Voltage |
Yes |
Yes |
Temperature Sensor |
No |
Yes |
Touch Sensor |
Not Supported |
802.11 b/g/n |
WiFi |
2 Nodes |
Up to 1000 nodes |
Wifi Mesh |
Not Supported |
V4.2 (Supports Classic Bluetooth and BLE) |
Bluetooth |
Not Supported |
10/100 Mbps |
Ethernet |
1 programmable LED(GPIO 25) |
1 programmable LED(GPIO 2) |
Onboard LED |
Yes |
Yes |
SD/MMC slot |
$4 | $4 – $6 |
Price |
حالا وقتشه این دو میکروکنترلر را از نظر عملکرد در کنار هم مقایسه کنیم:
Raspberry Pi Pico به عنوان یک بورد میکروکنترلر برای افراد مبتدی طراحی شده است که تجربه بسیار دلپذیری با استفاده از MicroPython ارائه می دهد. RP2040 از یک ریزپردازنده بسیار حرفه ای بهره می برد و تقریباً برای تمام پروژه های اینترنت اشیا (IoT) مناسب است. قدرت کافی برای انجام کارها را به طور موثر فراهم می کند. نوع CPU پردازنده دو هسته ای +ARM M0 است. ارائه همه این ویژگیها با تنها 4 دلار واقعاً کار بزرگی است، بخصوص برای دانش آموزان و افرادی که برای انجام پروژه هاشون احتیاج به هیچ نوع ارتباط بی سیم ندارند.
در حالی که ESP32 یک بورد میکروکنترلر جمع و جور ولی پر از امکانات می باشد. به دلیل کم هزینه بودن، مصرف انرژی بهینه و اندازه جمع و جور، یک ریزتراشه بسیار کاربردی است که می تواند در برنامه های متعدد اینترنت اشیا (IoT) استفاده شود. با این حال، وجود اتصال بی سیم و سایر ویژگی های جالب ارائه شده، این بورد میکروکنترلر را به یکی از بهترین بوردها برای توسعه دهندگان اینترنت اشیا (IoT) تبدیل کرده است.
نتیجه گیری نهایی
هردو بورد میکروکنترلر قابل ستایش و تحسین بر انگیز هستند. این شما هستید که با توجه به نیاز های خود می تونید بین این دو بورد انتخاب کنید. اگر تازه کار هستید و میخواهید با توسعه اینترنت اشیا شروع کنید، پس باید به سراغ Raspberry Pi Pico بروید. به دلیل اینکه فعلا به آن ویژگیهای اضافی و کدنویسی سطح بالا نیاز ندارید. اما اگر شما یک فرد با تجربه یا یک توسعه دهنده هستید، ESP32 باید انتخاب مناسبی باشد زیرا قیمت و ویژگی های ارائه شده به طرز شگفت انگیزی عالی هستند.
امیدوارم این بررسی به شما در درک تفاوت Raspberry Pi Pico در مقابل ESP-32 و اینکه کدام بورد برای پروژه IoT شما بهترین است کمک کرده باشد.
حالا به نظر شما کدام میکروکنترلر مناسب تر است؟