Arduino, ESP32, STM32 hay Raspberry Pi: chọn nền tảng nào cho dự án, so sánh và gợi ý theo việc
Vi điều khiển và máy tính nhúng khác nhau thế nào; so sánh Arduino Nano, ESP32, STM32, Raspberry Pi Pico và Raspberry Pi 5; bốn câu hỏi để chọn nhanh, gợi ý theo dự án và cách dùng kết hợp.
Arduino, ESP32, STM32, Raspberry Pi: bốn cái tên hay được đặt cạnh nhau, nhưng thực ra thuộc hai nhóm khác hẳn nhau và mỗi cái hợp với một kiểu việc. Chọn sai, dự án hoặc tốn tiền và điện vô ích, hoặc thiếu sức để chạy. Bài này giải thích vi điều khiển khác máy tính nhúng ở đâu, so sánh thông số chính, đưa ra bốn câu hỏi để chọn nhanh, gợi ý theo từng loại dự án và cách dùng kết hợp.
1. Vi điều khiển và máy tính nhúng

- Vi điều khiển (Arduino, ESP32, STM32, Raspberry Pi Pico): chạy đúng một chương trình bạn nạp vào, khởi động ngay khi cấp điện, tốn rất ít điện, phản ứng với chân vào ra nhanh và đều. Hợp với điều khiển, đo đạc, thiết bị chạy pin.
- Máy tính nhúng (Raspberry Pi 4, 5): một máy tính nhỏ chạy Linux, có màn hình HDMI, camera, mạng, chạy Python, cơ sở dữ liệu, trang web, nhận dạng hình ảnh. Đổi lại tốn điện hơn, khởi động lâu, và cần tắt đúng cách.
Lưu ý tên gọi: Raspberry Pi Pico là vi điều khiển, không phải máy tính chạy Linux như Raspberry Pi 4, 5.
2. So sánh thông số
| Nền tảng | Bộ xử lý | RAM / bộ nhớ chương trình | Kết nối có sẵn | Mức logic | Lập trình |
|---|---|---|---|---|---|
| Arduino Nano, Uno | ATmega328P 8 bit, 16 MHz | 2 KB / 32 KB | không | 5 V | Arduino IDE |
| ESP32 DevKit | 2 nhân 32 bit, 240 MHz | 520 KB / 4 MB | Wi-Fi, Bluetooth | 3,3 V | Arduino IDE, MicroPython, ESP-IDF |
| STM32F103 (Blue Pill) | ARM Cortex-M3, 72 MHz | 20 KB / 64 KB | không (có CAN, USB) | 3,3 V | STM32CubeIDE, Arduino |
| STM32F411 (Black Pill) | ARM Cortex-M4, 100 MHz | 128 KB / 512 KB | không (có USB) | 3,3 V | STM32CubeIDE, Arduino |
| Raspberry Pi Pico | RP2040, 2 nhân Cortex-M0+, 133 MHz | 264 KB / 2 MB | bản Pico W có Wi-Fi | 3,3 V | MicroPython, C, Arduino |
| Raspberry Pi 5 | 4 nhân Cortex-A76, 2,4 GHz | vài GB / thẻ nhớ, SSD | Wi-Fi, Bluetooth, Ethernet | 3,3 V | Linux: Python, C, mọi ngôn ngữ |
Con số lớn hơn không có nghĩa là tốt hơn cho mọi việc. Nháy đèn, đọc cảm biến nhiệt độ thì Arduino Nano đã dư sức; dùng Raspberry Pi cho việc đó vừa tốn điện vừa phức tạp.
3. Bốn câu hỏi để chọn nhanh

- Cần hệ điều hành, camera nhận dạng, màn hình HDMI, xử lý nhiều dữ liệu? → Raspberry Pi.
- Cần Wi-Fi, Bluetooth, gửi dữ liệu lên mạng, điều khiển bằng điện thoại? → ESP32.
- Cần thời gian thực chặt, nhiều bộ timer, CAN, ADC tốc độ cao, làm sản phẩm công nghiệp? → STM32.
- Học cơ bản, mạch 5 V, dự án nhỏ không cần mạng? → Arduino Nano, Uno.
Đây là gợi ý, không phải quy tắc cứng: ESP32 cũng làm tốt nhiều việc thời gian thực, STM32 cũng có dòng có Bluetooth. Với người mới, ESP32 thường là lựa chọn "đa năng" nhất vì vừa rẻ, vừa có mạng, vừa lập trình được bằng Arduino IDE.
4. Gợi ý theo dự án
| Dự án | Nên chọn | Lý do |
|---|---|---|
| Đèn giao thông, đọc nút, LCD | Arduino Nano | Đơn giản, 5 V, nhiều bài mẫu |
| Trạm thời tiết gửi số liệu về điện thoại | ESP32 | Wi-Fi có sẵn, đủ bộ nhớ |
| Bật tắt thiết bị qua mạng, nhà thông minh | ESP32 | Wi-Fi, MQTT, web server trên chip |
| Cảm biến ngoài vườn chạy pin nhiều tháng | ESP32 ngủ sâu, hoặc STM32 dòng tiết kiệm điện | Dòng ngủ rất nhỏ |
| Điều khiển động cơ nhanh, robot cân bằng | STM32 hoặc ESP32 | Timer, PWM, đọc encoder chính xác |
| Camera nhận diện người, biển số | Raspberry Pi | Cần Linux, thư viện xử lý ảnh, RAM lớn |
| Màn hình điều khiển cảm ứng lớn, trang quản lý | Raspberry Pi | Có giao diện đồ họa, trình duyệt |
| Học sinh làm STEM | ESP32 hoặc Arduino Nano | Xem chọn bo mạch cho học sinh |
5. Dùng cả hai

Robot, máy tự động thường ghép hai loại: Raspberry Pi xử lý hình ảnh, giao diện, mạng; một vi điều khiển (ESP32, STM32, Arduino) điều khiển động cơ, đọc cảm biến đúng nhịp và tự dừng an toàn nếu mất liên lạc với máy tính. Hai bên nói chuyện qua UART hoặc USB.
6. Học theo thứ tự nào
- Bắt đầu với Arduino Nano hoặc thẳng ESP32 DevKit bằng Arduino IDE.
- Vững ESP32 rồi mới học STM32 (ARM, thanh ghi, công cụ chuyên nghiệp) hoặc ESP-IDF.
- Raspberry Pi là một nhánh riêng: học Linux, Python, mạng. Nên học song song khi dự án cần.
7. Xem thêm
- Chọn mạch ESP32 nào: DevKit 30 hay 38 chân
- Bắt đầu với Arduino Nano
- Các bài cùng loạt lộ trình: Arduino là gì, ESP32 là gì, Raspberry Pi Pico và MicroPython, bắt đầu với STM32.
Xem thêm