ESP32 và ESP8266 khác nhau thế nào: khi nào chọn Wemos D1 R2, mạch ESP8266 có OLED hay ESP32

So sánh ESP32 và ESP8266: tốc độ, RAM, Bluetooth, số chân, ADC, cách lập trình bằng Arduino IDE và khi nào nên chọn Wemos D1 R2, mạch ESP8266 có OLED hay mạch ESP32.

ESP8266 và ESP32 đều là vi điều khiển có sẵn Wi-Fi của Espressif, đều lập trình được bằng Arduino IDE và MicroPython, nên người mới hay phân vân không biết mua mạch nào. Bài này so sánh hai chip ở những điểm ảnh hưởng thật tới dự án: tốc độ, bộ nhớ, Bluetooth, số chân, ADC, cách viết chương trình. Sau đó gợi ý khi nào nên chọn Wemos D1 R2, mạch ESP8266 có màn hình OLED hay một mạch ESP32.

1. ESP8266 và ESP32 là gì

ESP8266 ra đời trước. Đây là chip Wi-Fi giá rẻ đầu tiên được dùng rộng rãi cho các dự án IoT, có một nhân xử lý chạy 80 hoặc 160 MHz. ESP32 là thế hệ sau: hai nhân chạy đến 240 MHz, nhiều RAM hơn, có thêm Bluetooth, nhiều chân và nhiều ngoại vi hơn. Cả hai chạy ở mức điện áp 3,3 V và thường được bán dưới dạng mạch phát triển có sẵn cổng USB, IC nạp và IC ổn áp, cắm vào máy tính là nạp được chương trình.

2. Bảng so sánh ESP32 và ESP8266

Bảng so sánh ESP32 và ESP8266: nhân xử lý, RAM, Wi-Fi, Bluetooth, ADC, DAC, chân cảm ứng, UART, PWM, dòng ngủ sâu, mức điện áp chân
Thông số của hai chip theo datasheet Espressif (hình minh họa).

Những khác biệt đáng kể nhất khi làm dự án:

  • Tốc độ và RAM. ESP32 có hai nhân và 520 KB RAM, nên chạy cùng lúc web server, MQTT, đọc cảm biến, hiển thị màn hình vẫn thoải mái. ESP8266 chỉ còn vài chục KB RAM trống khi đã kết nối Wi-Fi; kết nối HTTPS, trang web lớn hay nhiều thư viện cùng lúc dễ hết bộ nhớ.
  • Bluetooth. ESP8266 không có Bluetooth. Dự án điều khiển bằng điện thoại qua Bluetooth, tay cầm, thiết bị BLE thì chỉ ESP32 làm được.
  • Chân và ADC. Mạch ESP8266 thường chỉ còn khoảng 11 chân digital dùng được và đúng 1 chân analog A0. Bản thân chip chỉ đo được 0–1 V, mạch có cầu phân áp để đo đến khoảng 3,2–3,3 V. ESP32 có hơn 20 chân dùng được trên mạch DevKit, 18 kênh ADC 12 bit (các kênh ADC2 không dùng được khi bật Wi-Fi), thêm DAC và chân cảm ứng chạm.
  • PWM. ESP32 có 16 kênh PWM bằng phần cứng, phù hợp điều khiển LED, servo, động cơ. ESP8266 tạo PWM bằng phần mềm, dùng được cho LED, nhưng kém ổn định hơn khi nhiều kênh hoặc khi Wi-Fi đang bận.
  • Điện áp chân. Cả hai đều là chip 3,3 V. Nối với module 5 V (một số LCD, cảm biến siêu âm) cần mạch chuyển mức logic hoặc cầu phân áp.

3. Các mạch ESP8266 và ESP32 thường gặp

Ảnh các mạch ESP8266 và ESP32: Wemos D1 R2, ESP8266 có OLED, ESP8266 có đế pin 18650, ESP32 DevKit V1 30 chân, ESP32 có OLED, ESP32 có đế pin 18650
Mạch ESP8266 (hàng trên) và mạch ESP32 cùng kiểu (hàng dưới).

Chênh lệch giá giữa mạch ESP8266 và mạch ESP32 cùng kiểu không lớn, nên với dự án mới, ESP32 thường đáng tiền hơn.

4. Khác nhau khi lập trình

Bảng khác nhau khi lập trình ESP32 và ESP8266 bằng Arduino IDE: chọn bo mạch, thư viện Wi-Fi, web server, analogRead, analogWrite, tên chân, Bluetooth
Những chỗ phải đổi khi chuyển chương trình giữa hai chip (hình minh họa).

Hai chip dùng hai gói cài đặt khác nhau trong Arduino IDE: gói esp32 của Espressif và gói esp8266 của cộng đồng ESP8266 Arduino. Phần lớn chương trình Arduino chạy được trên cả hai, chỉ cần đổi dòng #include của thư viện Wi-Fi, web server và số chân. Muốn một chương trình biên dịch được cho cả hai chip thì bọc phần khác nhau trong #if defined(ESP32) … #else … #endif.

Tên chân dễ nhầm nhất. Trên mạch ESP8266, chữ in D1, D2… không phải số GPIO: khi chọn bo "LOLIN(WEMOS) D1 R2 & mini", D1 là GPIO5 (SCL), D2 là GPIO4 (SDA), D4 là GPIO2 (LED trên mạch). Viết D1 hoặc 5 trong chương trình đều đúng, viết 1 là sai chân. ESP32 DevKit in thẳng số GPIO nên ít nhầm hơn.

Chân khởi động. ESP8266 cần GPIO0 và GPIO2 ở mức cao, GPIO15 ở mức thấp lúc cấp nguồn; trên Wemos D1 R2 đó là D3, D4 và D8, không nên nối nút nhấn hay relay kéo các chân này sai mức. ESP32 có các chân tương tự là GPIO 0, 2, 12, 15; danh sách chân nên dùng và nên tránh có trong bài sơ đồ chân ESP32 DevKit V1.

5. Nên chọn mạch nào

Sơ đồ chọn mạch theo nhu cầu: cần Bluetooth và nhiều chân chọn ESP32 DevKit, quen Arduino UNO chọn Wemos D1 R2, cần màn hình chọn mạch có OLED, chạy pin chọn mạch có đế pin 18650
Gợi ý chọn mạch theo nhu cầu (hình minh họa).
  • Người mới, dự án mới: ESP32 DevKit V1 30 chân. Dư sức cho hầu hết bài học và đồ án, sau này cần Bluetooth hay thêm cảm biến không phải đổi mạch. Cài đặt xem bài cài ESP32 vào Arduino IDE.
  • Đã quen Arduino UNO: Wemos D1 R2. Cắm vừa shield của UNO, nhưng shield chạy 5 V hoặc cần nhiều chân analog có thể không chạy.
  • Cần hiển thị vài dòng chữ, số đo: mạch có OLED hàn sẵn, chọn bản ESP8266 nếu dự án đơn giản, bản ESP32 nếu cần thêm Bluetooth hoặc nhiều chân.
  • Thiết bị cầm tay, chạy pin: bản có đế pin 18650, đỡ phải tự ghép mạch sạc.
  • Đang có chương trình chạy tốt trên ESP8266: cứ giữ ESP8266, không cần đổi.

Với học sinh mới học lập trình, bài chọn bo mạch lập trình đầu tiên cho học sinh so sánh thêm ESP32 với Arduino Nano và micro:bit.

6. Câu hỏi thường gặp

Câu hỏiTrả lời ngắn
ESP8266 có Bluetooth không?Không. Cần Bluetooth thì dùng ESP32.
Chương trình viết cho ESP8266 chạy trên ESP32 được không?Phần lớn được: đổi thư viện ESP8266WiFi, ESP8266WebServer sang WiFi, WebServer và đổi số chân.
ESP8266 đo được mấy cảm biến analog?Một (chân A0). Cần nhiều hơn thì dùng ESP32 hoặc thêm module ADC ngoài.
Cắm thẳng module 5 V vào chân ESP8266, ESP32 được không?Không nên. Chân chỉ chịu 3,3 V; dùng mạch chuyển mức logic.
Mạch nào tốn pin ít hơn?Khi ngủ sâu, riêng chip ESP32 khoảng 10 µA, ESP8266 khoảng 20 µA; dòng thực tế do mạch (IC ổn áp, đèn báo, IC nạp) quyết định nhiều hơn.

7. Xem thêm

Cần tư vấn chọn mạch cho dự án cụ thể, liên hệ PYWORLD qua số 0915703319.


Tin tức liên quan

Tự thiết kế khung tin trên UART: byte bắt đầu, độ dài, CRC và thời gian chờ
Tự thiết kế khung tin trên UART: byte bắt đầu, độ dài, CRC và thời gian chờ

Hướng dẫn thiết kế một khung tin trên UART gồm byte bắt đầu, độ dài, loại, dữ liệu và CRC-16, cùng bộ nhận dạng máy trạng thái trên ESP32 biết bỏ khung hỏng và tự hồi phục khi mất đồng bộ.

Vali nhựa hay vali nhôm: chọn loại nào để đựng thiết bị, dụng cụ
Vali nhựa hay vali nhôm: chọn loại nào để đựng thiết bị, dụng cụ

So sánh vali nhựa và vali nhôm đựng thiết bị theo chống nước, chống bụi, chịu va đập, nhiệt độ, vẻ ngoài, khóa và bảo dưỡng; khi nào nên chọn mỗi loại và sơ đồ chọn nhanh.

Đầu nối JST XH2.54, PH2.0, SM và dây RCY: phân biệt bằng bước chân, chọn loại, nối dây và cực tính
Đầu nối JST XH2.54, PH2.0, SM và dây RCY: phân biệt bằng bước chân, chọn loại, nối dây và cực tính

Phân biệt đầu nối JST XH 2,5 mm, PH 2,0 mm, ZH, SH, SM và RCY bằng bước chân; dòng mỗi chân, cấu tạo, chân số 1, nối dây không cần kìm bấm và đo cực tính trước khi cắm pin.

Chu kỳ hiệu chuẩn và kiểm tra giữa kỳ: ai quyết định, dùng lịch sử độ trôi và biểu đồ kiểm soát
Chu kỳ hiệu chuẩn và kiểm tra giữa kỳ: ai quyết định, dùng lịch sử độ trôi và biểu đồ kiểm soát

Chu kỳ hiệu chuẩn do ai quyết định, các yếu tố cần xét, dùng lịch sử độ trôi, phương pháp theo ILAC-G24/OIML D 10, kiểm tra giữa kỳ bằng biểu đồ kiểm soát cho lực, chuyển vị, áp suất, rung.

Vali chuyên dụng là gì? Các loại vali chống sốc đựng thiết bị và cách chọn
Vali chuyên dụng là gì? Các loại vali chống sốc đựng thiết bị và cách chọn

Vali chuyên dụng là vali vỏ cứng có xốp giữ chặt thiết bị. Bài giải thích cấu tạo, bốn nhóm vali thường gặp (nhựa PP, chống nước IP67, vali nhôm, hộp sẵn xốp) và cách chọn nhanh theo nhu cầu.

Động cơ bước cho máy CNC: NEMA 17, NEMA 23, mô-men giữ, vi bước, vì sao rung và mất bước
Động cơ bước cho máy CNC: NEMA 17, NEMA 23, mô-men giữ, vi bước, vì sao rung và mất bước

Động cơ bước quay thế nào, cỡ NEMA 17, NEMA 23 khác nhau ra sao, vi bước, vì sao mô-men giảm khi quay nhanh, cách tìm cặp dây cuộn và cách xử lý khi động cơ rung, mất bước.

Học lập trình từ nhỏ giúp trẻ phát triển tư duy thế nào? Đọc đúng bằng chứng từ các nghiên cứu
Học lập trình từ nhỏ giúp trẻ phát triển tư duy thế nào? Đọc đúng bằng chứng từ các nghiên cứu

Tóm tắt bằng chứng về việc học lập trình từ nhỏ giúp trẻ phát triển tư duy: tổng hợp 105 nghiên cứu, thí nghiệm với trẻ mẫu giáo và lớp 1, cách đọc con số và giới hạn.

Cảm biến tiệm cận cảm ứng từ: cấu tạo, nguyên lý dòng xoáy, cách chế tạo và nối với ESP32
Cảm biến tiệm cận cảm ứng từ: cấu tạo, nguyên lý dòng xoáy, cách chế tạo và nối với ESP32

Cảm biến tiệm cận cảm ứng từ hoạt động thế nào: cuộn dây lõi ferit, dao động tắt dần do dòng xoáy, khoảng tác động theo vật liệu, NPN, PNP, cách chế tạo và đếm vòng quay bằng ESP32.


Bình luận
Đã thêm vào giỏ hàng