Microcontroller là một mạch tích hợp có thể được lập trình để thực hiện các tác vụ độc lập với những thiết bị khác. Raspberry Pi Pico và ESP32 là hai trong số những microcontroller phổ biến nhất trên thị trường. Chúng là hai microcontroller nhỏ, công suất thấp được xây dựng trên CPU lõi kép 32-bit, có thể được sử dụng để điều khiển các dự án điện tử.
Có khá nhiều điểm khác biệt giữa hai thiết bị này khiến bạn quan tâm nếu đang tìm kiếm một bo mạch microcontroller mới. Bài viết sau đây sẽ so sánh chi phí, sức mạnh xử lý, phần cứng và các tính năng kết nối của 2 bo mạch này.
Tổng quan về Raspberry Pi Pico
Raspberry Pi Pico là bo mạch microcontroller đầu tiên từ Raspberry Pi Foundation và dựa trên chip RP2040. Nó không phải là một máy tính chính thức như các sản phẩm trước đây của công ty mà là một bo mạch microcontroller nhỏ tương tự như Arduino.
Nó đi kèm với bộ xử lý ARM cortex M0+ lõi kép, RAM tĩnh 264 on-chip, 26 chân GPIO đa chức năng, cảm biến nhiệt độ và OCC (on-chip clock).
Tổng quan về ESP32
Được thiết kế bởi Espressif Systems, ESP32 là sự kế thừa của microcontroller ESP8266 và cung cấp một số cải tiến so với nó. Chúng bao gồm một bộ xử lý và WiFi nhanh hơn, kết nối Bluetooth, nhiều chân cắm GPIO hơn, cùng một số tính năng khác.
ESP32 đã nhanh chóng nổi lên như một sản phẩm được cộng đồng yêu thích do chi phí, mức tiêu thụ năng lượng thấp và các tính năng kết nối không dây, phù hợp với những dự án Internet of Things (IoT).
Giá cả: Bo mạch nào cung cấp giá trị tốt nhất?
Nói chung, Raspberry Pi Pico không phải chịu các hạn chế về nguồn cung giống như các Raspberry Pi khác và bạn có thể tìm thấy nó trong kho từ các đại lý được chấp thuận với giá chính thức. Vì vậy, sự thiếu hụt Raspberry Pi gần đây không ảnh hưởng đến nguồn cung cho sản phẩm này.
Tùy thuộc vào nơi bạn mua, nói chung bạn có thể tìm thấy cả hai bo mạch được bán với mức giá tương đương hoặc thấp hơn. Tuy nhiên, các tính năng kết nối có trong ESP32 khiến nó trở thành một lựa chọn tốt hơn với cùng một mức giá. Bạn có thể chọn Pico W, nhưng đắt hơn ít nhất $2 so với phiên bản bình thường.
Sức mạnh xử lý
ESP32 có bộ xử lý mạnh hơn một chút, với tốc độ xung nhịp lên đến 240MHz, so với tốc độ xung nhịp tối đa của Raspberry Pi Pico là 133MHz. ESP32 có tốc độ thực hiện lệnh nhanh hơn so với chip RP2040 trong Pico.
Cả hai bo mạch microcontroller đều có CPU lõi kép và có khả năng chạy nhiều hơn một tiến trình cùng một lúc. Tuy nhiên, các tác vụ chạy trên ESP32 sẽ được hoàn thành nhanh hơn Raspberry Pi Pico.
Mạng và kết nối
ESP32 bao gồm cả kết nối Bluetooth và WiFi mà Raspberry Pi Pico thiếu.
Nếu bạn muốn kết nối không dây thiết bị của mình với các thiết bị khác, thì ESP32 là lựa chọn tốt hơn, vì nó cho phép bạn kết nối với những thiết bị không dây khác.
Một tùy chọn khác là Raspberry Pi Pico W được ra mắt vào tháng 6 năm 2022. Nó đi kèm với WiFi tích hợp và giá tăng thêm $2, nhưng không bao gồm chức năng Bluetooth.
Các tính năng phần cứng
Raspberry Pi Pico | ESP32 | |
---|---|---|
Bộ xử lý | Arm Cortex-M0+ lõi kép | Tensilica Xtensa LX6 32 bit lõi kép |
RAM | 264KB | 520KB |
Tốc độ xung nhịp | 133MHz | 80/160/240MHz |
Điện áp hoạt động | 1.8-5.5V DC | 2.2-3.6V |
Nhiệt độ hoạt động | -20 °C đến +85 °C | –40 °C đến +125 °C |
Flash | 2MB | 4MB |
Hỗ trợ flash bên ngoài | 16MB | 16MB |
Bộ nhớ RTC | Không đề cập | 16KB |
WiFi | Không | 802.11b/g/n |
Bluetooth | Không | Bluetooth 4.2, BLE |
Ethernet | Không | 10/100 Mbps |
Các Interface khác | 2 × UART, 2 × I2C, 2 × SPI, 16 × kênh PWM | 2 × I2S, 2 × I2C, 3 × UART, 4 × SPI, 16 × kênh PWM |
Cảm biến | Nhiệt độ | Cảm ứng, Nhiệt độ, Hiệu ứng Hall |
GPIO | 26, cộng với 3 chân analog | 34 chân có thể lập trình |
PIO | 8 | Không |
Hỗ trợ USB gốc | USB 1.1 (Thiết bị hoặc Host) | Không |
Kích thước | 21 mm × 51 mm | - |
Tiêu thụ năng lượng
Cả hai bo mạch đều có công nghệ tiết kiệm điện tiên tiến cho phép chúng giảm thiểu điện năng tiêu thụ. Tuy nhiên, ESP32 có bộ xử lý nhanh hơn và nhiều bộ nhớ flash hơn, dẫn đến tiêu thụ nhiều năng lượng hơn.
Theo bảng dữ liệu, Raspberry Pi Pico tiêu thụ khoảng 91mA trong bài kiểm tra video VGA, thẻ SD và âm thanh I2S, với tính năng tiết kiệm năng lượng bị tắt. Raspberry Pi Pico cũng cho phép bạn linh hoạt hơn một chút trong việc lựa chọn nguồn điện. Nó cung cấp hai chế độ năng lượng thấp, chế độ ngủ đông và chế độ ngủ. Chế độ ngủ đông sử dụng ít năng lượng hơn nhưng yêu cầu kích hoạt bên ngoài để đánh thức.
ESP32 có 6 chế độ năng lượng: Hoạt động, chế độ ngủ trên modem, chế độ ngủ nhẹ, ngủ sâu, ngủ đông và tắt nguồn. Chế độ hoạt động có tất cả các tính năng chạy đồng thời và có thể tiêu thụ dòng điện lên tới 240mA tại một thời điểm. Chế độ ngủ đông tiêu thụ ít nhất là 5 µA. Bo mạch ESP32 có thể được đánh thức từ bất kỳ trạng thái nào với bộ đếm thời gian RTC trên bo mạch.
Do mức tiêu thụ điện năng thấp hơn ở các chế độ hoạt động, Raspberry Pi Pico do đó phù hợp hơn cho các dự án đơn giản, tiêu tốn ít năng lượng sẽ sử dụng bộ pin.
Ngôn ngữ lập trình được hỗ trợ
Có một số môi trường phát triển có sẵn cho cả hai bo mạch microcontroller, bao gồm MicroPython, C và C++. Bất kể ngôn ngữ bạn chọn là gì, có khả năng sẽ có một trình thông dịch cho Pico hoặc ESP32 hỗ trợ ngôn ngữ đó. Thậm chí còn có một trình thông dịch JavaScript cho ESP32.
Bạn có thể sử dụng MicroPython hoặc C++ để tạo các dự án nhỏ trên ESP32. Đối với các dự án lớn, phức tạp, bạn nên sử dụng ESP-IDF (Espressif IoT Development Framework) thông qua extension Visual Code hoặc plugin Eclipse. Lập trình trên Raspberry Pi Pico khá dễ dàng thông qua thao tác kéo thả vì thiết bị hiển thị dưới dạng bộ nhớ chung khi được kết nối với PC thông qua USB.
Không có sự cạnh tranh ở đây vì cả hai bo mạch đều có nhiều ngôn ngữ được hỗ trợ và bạn có thể hoàn thành khá nhiều việc miễn là bạn không ngại tìm hiểu kỹ một chút.
Programmable I/O
Programmable I/O hay PIO cho phép bạn thêm các interface giao tiếp bổ sung và thậm chí tạo những interface mới. Tính năng này hoàn toàn không có trong ESP32 và có thể là một điểm đáng chú ý, đặc biệt nếu bạn là một hacker phần cứng cần kết nối với phần cứng cũ. Programmable I/O là một tính năng cực kỳ mạnh mẽ và bạn nên cân nhắc chọn sử dụng Raspberry Pi Pico nếu cần nó trong các dự án của mình.
Raspberry Pi Pico hay ESP32 là lựa chọn tốt hơn?
Raspberry Pi Pico là một bo mạch tuyệt vời cho những ai chưa từng sử dụng nó trước đây và đang muốn bắt đầu với microcontroller. Ngoài ra, nếu bạn đã ở trong hệ sinh thái Raspberry Pi, thì Raspberry Pi Pico có thể là một lựa chọn tốt hơn.
ESP32 là một thiết bị mạnh mẽ theo đúng nghĩa và có thể phù hợp hơn với những người dùng cần kết nối nhưng không muốn chi thêm tiền cho Pico W. Có thể có một chút khó khăn trong quá trình làm quen với ESP32 nhưng không có vấn đề gì với người dùng hiểu biết.