So sánh ESP32 vs STM32 – Nên chọn mạch nào?
ESP32 vs STM32 khác nhau như thế nào? ESP32 là một mạch lập trình giá rẻ và cực kỳ phổ biến, được nhiều anh em kỹ thuật sử dụng hiện nay. Chúng thường được tích hợp khả năng kết nối WiFi và Bluetooth.
Còn STM32 khá tương tự với vi điều khiển 32bit. Trong bài viết này, IoTZone sẽ so sánh chi tiết 2 mạch này, để bạn hiểu hơn về chúng và đưa ra lựa chọn phù hợp nhé!
Giới thiệu ESP32
ESP32 là chuỗi các mạch vi điều khiển có giá thành rẻ, tích hợp khả năng kết nối WiFi và Bluetooth (cả BLE). Ví dụ về chip ESP32 là Xtensa LX6 (gồm cả lõi đơn và lõi kép), Xtensa LX7,….
Dòng mạch lập trình này được phát triển bởi Espressif Systems.
ESP32 có giá thành phải chăng, phù hợp để làm các dự án IoT hoặc dự án điện tử mà không mất quá nhiều chi phí. Các module ESP32 có giá thành khá rẻ.
Ngoài ra, cộng đồng hỗ trợ tại ESP32 cũng khá rộng lớn. Trên Internet hiện nay có cung cấp khá nhiều tài liệu hướng dẫn với mạch này, trên blog của IoTZone cũng đã có khá nhiều chủ đề hướng dẫn từ cơ bản đến nâng cao.
Bạn có thể lựa chọn lập trình ESP32 bằng Arduino IDE hoặc các công cụ khác chuyên nghiệp hơn – Chúng hỗ trợ rất đa dạng!
Khi chạy vòng lặp một triệu lần, ta thấy ESP32 chỉ cần 164 mili giây.
Khả năng mở rộng của ESP32 với bộ nhớ Flash tích hợp sẵn trong ESP32 giúp xác định kích thước lưu trữ dữ liệu cho ứng dụng.
Hiện nay thậm chí còn có một số module như ESP32-WROVER, có thể mở rộng RAM của ESP32 thông qua pSRAM (được kết nối với bus SPI của bộ vi điều khiển bên trong). Bộ nhớ pSRAM có thể mở rộng RAM lên tới 4MB, cung cấp đủ bộ nhớ cho hầu hết mọi ứng dụng của bạn.
Ta hãy xem qua tính năng của ESP32 để hiểu hơn về sự khác biệt giữa ESP32 vs STM32:
Bộ xử lý:
- CPU: Vi xử lý LX6 32bit lõi Xtensa kép (hoặc lõi đơn), tốc độ hoạt động 160 – 240MHz
- Hỗ trợ bộ đồng xử lý tiêu thụ điện năng thấp
- RAM 320KB, ROM 448 KB
Khả năng kết nối không dây:
- WiFi: 802.11 b/g/n
- Bluetooth: 4.2 và BLE
Khả năng kết nối ngoại vi
- Hỗ trợ lên đến 34 cổng GPIO có khả năng lập trình
- Hỗ trợ ADC SAR 12bit lên đến 18 kênh
- 4 chân SPI
- 2 chân I2S
- 2 chân I2C
- 3 chân UART
- Tích hợp cảm biến hiệu ứng Hall
- Có bộ tiền khuếch đại công suất cực thấp
- Có động cơ xung
- LEDPWM (tối đa là 16 kênh)
Bạn có thể tìm hiểu kỹ hơn về ESP32 qua bài viết chi tiết sau: ESP32 là gì.
Giới thiệu STM32
STM32 là loại vi điều khiển được phát triển dựa trên các lõi RISC ARM Cortex-M3 3F, Cortex-M7F, Cortex-M4F, Cortex-M3, Cortex-M0+ và Cortex-M0 32 bit.
Các thiết kế lõi ARM hỗ trợ cấu hình nhiều tùy chọn khác nhau linh hoạt. Bạn có thể chọn cấu hình riêng để sử dụng cho từng thiết kế sao cho độc đáo.
STM32 gắn các thiết bị ngoại vi vào lõi trước khi chuyển thiết kế thành khuôn silicon. Các bảng sau đây tóm tắt các họ vi điều khiển STM32.
- STM32 là phiên bản của Arm Core, chúng tiên tiến hơn nhiều so với vi điều khiển truyền thống. STM32 có nhiều tài nguyên mà vi điều khiển truyền thố g không có, chẳng hạn như bộ điều khiển usb.
- Các chương trình lập trình trong STM32 có dạng module và sở hữu giao diện tương đối đơn giản, vì nó có nhiều chức năng và hoạt động nhanh. Tuy nhiên, mạch vi điều khiển truyền thống có ít chức năng riêng, cần phải có nhiều linh kiện ngoại vi và người dùng cần phải có kiến thức về các thiết bị điện tử.
Để so sánh điểm khác biệt giữa ESP32 vs STM32, mời bạn xem qua tính năng của STM32 F4:
- Sử dụng lõi ARM Cortex-M4F, có tốc độ từ 84 đến 180 MHz
- Bộ nhớ RAM tối đa 192 KB đa năng, có bộ nhớ kết hợp lõi 64 KB, 4KB hỗ trợ bằng pin
- Bộ nhớ Flash đa năng
Các thiết bị ngoại vi hỗ trợ bao gồm: SPI, I2S, USB 2.0 OTG HS và FS, 3 chân I2C, 2 chân UART, có cảm biến nhiệt độ, từ 51 đến 140 chân GPIO, đồng hồ theo thời gian thực (RTC) đã được cải tiến, 16 DMA.
Điểm khác biệt giữa ESP32 vs STM32 nổi bật là các mẫu STM32F4x7 có thêm camera và giao diện Ethernet MAC, các mẫu STM32F4x9 có thêm bộ điều khiển LCD-TFT….
Dải điện áp hoạt động của STM32 là từ 1,8V – 3,6V.
So sánh ESP32 vs STM32
Dưới đây là so sánh giữa ESP32 vs STM32 theo từng tiêu chí, để bạn dễ theo dõi hơn:
Sức mạnh xử lý
Dòng STM32 có lợi thế hơn so với ESP32 về tốc độ xung nhịp. Lõi Cortex-M của STM32 cũng tiết kiệm hơn nhiều so với ESP32, cho hiệu suất hoạt động trên mỗi watt tốt hơn.
Thực tế cho thấy, STM32 hoạt động nhanh gấp 1,2 đến 5 lần so với ESP32 trong các tác vụ. Chỉ khi chạy các dự án được tối ưu hóa và dành riêng cho ESP32 thì ESP32 mới có tốc độ nhanh hơn.
Bộ nhớ
Khi so sánh ESP32 và STM32, bạn sẽ thấy ESP32 có dung lượng bộ nhớ RAM cao, nhưng bộ nhớ Flash để lưu code lâu dài thì khá “khiêm tốn”. Ngược lại, STM32 cung cấp sự linh hoạt cao hơn nhiều, với nhiều loại mạch có dung lượng Flash cao hơn.
ESP32 hỗ trợ bộ nhớ RAM nhiều hơn để làm dự án, nhưng STM32 có hiệu suất tốt hơn nên STM32 vẫn có thể hoạt động tốt hơn số RAM ít hơn. Nhìn chung, ESP32 phù hợp cho các dự án có khối lượng công việc nhiều, cần xử lý nhiều dữ liệu theo thời gian thực.
Hệ sinh thái hỗ trợ giữa ESP32 và STM32
STM32 sử dụng Cortex-M, một trong các kiến trúc nhúng phổ biến hàng đầu, nên chúng cũng có khá nhiều bên thứ ba hỗ trợ. Khi sử dụng STM32, bạn có nhiều lựa chọn khác nhau về IDE, trình gỡ lỗi, biên dịch, thư viện, code mẫu, RTOS,… để lựa chọn.
Ngược lại, ESP32 sử dụng lõi Xtensa ít phổ biến hơn. Tuy nhiên, lượng thư viện hỗ trợ và cộng đồng sử dụng mạch này cũng khá nhiều.
Chi phí
Khi xét về giá giữa ESP32 vs STM32, ta thấy cả 2 đều có giá khá rẻ, nhưng giá ESP32 sẽ tốt hơn đôi chút.
Trường hợp nào cần dùng ESP32? Trường hợp nào cần dùng STM32?
STM32 phù hợp cho hầu hết các ứng dụng nhúng chính thức, chẳng hạn như:
- Tự động hóa trong công nghiệp, điều khiển động cơ
- Các node cảm biến IoT và mạng không dây
- Các thiết bị y tế hoặc theo dõi sức khỏe như đồng hồ đeo tay
- Phục vụ lĩnh vực điện tử và tiêu dùng
- Sử dụng trong các phụ kiện di động hoặc sản phẩm có âm thanh
Ngược lại, ESP32 là lựa chọn tối ưu cho các ứng dụng cần WiFi, ví dụ:
- Kết nối các ứng dụng gia dụng, làm những dự án như nhà thông minh
- Các tiện ích hỗ trợ WiFi
- Các node trong mạng lưới
- Các cổng và trung tâm IoT
Lời kết
Trên đây là các thông tin chi tiết về ESP32 vs STM32, hy vọng bạn đã có cái nhìn tổng quát hơn về 2 mạch này. Nhìn chung, ESP32 là mạch lập trình giá rẻ xứng đáng cho nhiều dự án, còn STM32 phù hợp hơn với các dự án nhúng.
Nếu bạn cần tìm tài liệu về ESP32, bạn có thể tham khảo các bài viết hướng dẫn ESP32 đa dạng chủ đề, mà IoTZone đã biên soạn trước đó.
IoTZone – Chuyên cung cấp thiết bị điện tử & tài liệu cho Makers
- Website: https://www.iotzone.vn/
- Fanpage: https://www.facebook.com/Iotzonemaker
- SDT: 0364174499
- Zalo: https://zalo.me/0364174499