ESP8266

ESP8266, hay gọi đầy đủ là ESP8266EX là một vi mạch Wi-Fi giá rẻ, có hỗ trợ bộ giao thức TCP/IP và có thể tích hợp vào thành phần của vi điều khiển, được sản xuất bởi hãng Espressif Systems ở Thượng Hải, Trung Quốc.
Chip ESP8226 lần đầu tiên được các nhà sản xuất phương Tây chú ý vào tháng 8 năm 2014 với module ESP-01, do nhà sản xuất bên thứ ba là Ai-Thinker sản xuất. Module này cho phép các vi điều khiển kết nối với mạng Wi-Fi và thực hiện các kết nối TCP/IP đơn giản bằng cách sử dụng các lệnh kiểu Hayes (tập lệnh AT). Tuy nhiên, ban đầu hầu như không có tài liệu tiếng Anh nào về chip và các tập lệnh của nó. Vì mức giá rất thấp với rất ít thành phần bên ngoài khác trên module, các module ESP8266 đã thu hút nhiều hacker khám phá nó và các phần mềm trên đó, cũng như việc dịch thuật các tài liệu tiếng Trung Quốc của chip.
ESP8285 là một chip ESP8266 với 1 MiB bộ nhớ flash được tích hợp, cho phép người dùng có thể sản xuất các thiết bị có khả năng kết nối với Wi-Fi chỉ với một chip đơn.
Dòng chip kế thừa ESP8266 là ESP32, bao gồm cả vi điều khiển ESP32-C3 tương thích chân.
Tính năng kĩ thuật.
Như nhiều vi mạch khác, cần thêm các khối khác để vi mạch ESP8266EX có thể hoạt động được. Một thiết kế tối thiểu cho ESP8266EX cần thêm các khối (tham khảo hình: "Thiết kế tham khảo cho các module sử dụng chip ESP8266EX"):
• Power supply (tạm dịch: khối nguồn)
• Power-on sequence and reset 
• Flash
• Crystal oscillator 
• RF 
• External resistor (tạm dịch: điện trở ngoại)
• UART 
Các module ESP8266 như ESP-01, ESP-12... đều được thiết kế từ chip "ESP8266EX" với các khối như trên. 
Tính năng.
Các tính năng của chip ESP8266EX bao gồm:
Sơ đồ chân của ESP-01.
Sơ đồ chân của module ESP-01:
SDK.
Vào tháng 10 năm 2014, Espressif Systems đã phát hành bộ công cụ phát triển phần mềm (SDK), giúp ESP8266 có thể hoạt động như là một vi điều khiển riêng biệt chứ không cần phải sử dụng như là một module hỗ trợ giao tiếp WiFi cho một vi điều khiển khác như trước đó. Kể từ đó, đã có nhiều bản phát hành SDK chính thức từ Espressif; Espressif duy trì hai phiên bản của SDK, ESP8266 NonOS SDK và ESP8266 RTOS SDK (dựa trên FreeRTOS).
Một phiên bản SDK thay thế cho SDK chính thức của Espressif là bộ SDK mã nguồn mở ESP-Open-SDK dựa trên Bộ trình dịch GNU (GCC), hiện được Max Filippov duy trì. Một SDK thay thế khác là bộ "Unofficial Development Kit" (tạm dịch: "Bộ công cụ phát triển không chính thức") của Mikhail Grigorev, tuy nhiên hiện tại chưa được cộng đồng đánh giá cao (với chỉ 260 sao vào năm 2021) trên Github.
Các SDK khác, chủ yếu là mã nguồn mở, bao gồm:
Module Espressif.
Đây là series các module ESP8266 đã được sản xuất:
Trong bảng trên (và hai bảng tiếp theo), "Số chân hoạt động được" bao gồm các chân GPIO và ADC mà các thiết bị bên ngoài có thể được gắn vào MCU ESP8266. "Khoảng các giữa 2 chân cạnh nhau" là khoảng trống giữa các chân trên module ESP8266, điều quan trọng để biết liệu thiết bị có được sử dụng trên breadboard hay không. "Hệ số hình thức" mô tả cách đóng gói module, ví dụ như là "2 × 9 DIL", có nghĩa là hai hàng 9 chân được sắp xếp theo kiểu "Dual In Line", giống như các chân của IC DIP. "LED" cho biết trên board có LED không. Nhiều module ESP-xx bao gồm một đèn LED nhỏ trên board mạch có thể được lập trình để nhấp nháy từ đó có thể biết hoạt động của module. Có một số tùy chọn loại antenna cho các board ESP-xx bao gồm trace antenna (tạm dịch: antenna chìm trên board), on-board ceramic antenna (tạm dịch: antenna gốm trên board mạch) và đầu nối bên ngoài cho phép gắn antenna Wi-Fi bên ngoài vào. Vì giao tiếp Wi-Fi tạo ra rất nhiều RFI (Radio Frequency Interference, nhiễu tần số vô tuyến), do đó các cơ quan chính phủ như FCC muốn các thiết bị điện tử được che chắn (shielded) để làm giảm thiểu sự gây nhiễu với các thiết bị khác. Một số module ESP-xx được đặt trong một hộp kim loại có đóng dấu phê duyệt FCC trên đó. Thị trường thế giới thứ nhất và thứ hai có thể sẽ yêu cầu FCC phê duyệt và che chắn các thiết bị Wi-Fi.
Module Ai-Thinker.
Đây là loại module đầu tiên được sản xuất với ESP8266 bởi nhà sản xuất bên thứ ba "Ai-Thinker" và vẫn là module có sẵn rộng rãi nhất cho đến thời điểm này. Chúng được gọi chung là "module ESP-xx". Để có thể phát triển được một ứng dụng với các board này yêu cầu thêm một số thành phần phần cứng bổ sung, đặc biệt là bộ chuyển đổi TTL-to-USB nối tiếp (đôi khi được gọi là cầu chuyển đổi USB-to-UART) và nguồn điện 3,3 volt cấp từ bên ngoài. Những nhà phát triển mới làm quen với ESP8266 được khuyến khích sử dụng các board mạch phát triển Wi-Fi ESP8266 cỡ lớn hơn như NodeMCU. Các thành phần như chuyển USB-to-UART và đầu nối Micro-USB cùng với bộ điều chỉnh nguồn 3,3 volt đã được tích hợp sẵn trên board NodeMCU. Trong quá trình xây dựng dự án thực tế, các thành phần kể trên trong board NodeMCU không còn cần thiết nữa và các module ESP-xx rẻ hơn khi ấy là một lựa chọn phù hợp với công suất thấp và kích thước chân nhỏ.
Trong cột Ghi chú, kích thước bộ nhớ Flash áp dụng cho module đã cho và tất cả những module bên dưới module đó trong bảng. Các ngoại lệ áp dụng cho một module đơn được hiển thị trong ().
Các board khác.
Các dòng board ESP8266 khác sau này trở nên phổ biến hơn so với các module ESP-xx ban đầu vì đã hỗ trợ các thành phần cần thiết trong việc phát triển các ứng dụng phần mềm, bao gồm mạch chuyển đổi USB sang UART trên board mạch (như CP2102 của Silicon Labs hoặc WCH CH340G) và đầu nối Micro-USB kết hợp với bộ ổn áp 3,3 volt để cung cấp cả nguồn điện cho board mạch và kết nối với máy tính chủ trong quá trình phát triển phần mềm. Với các module ESP-xx trước đó, bộ chuyển đổi USB-to-serial và bộ ổn áp 3.3V phải được người dùng mua riêng để nối dây vào module ESP-xx. Các board mạch ESP8266 hiện đại như NodeMCU cũng dễ làm việc hơn và cung cấp nhiều chân GPIO hơn. Hầu hết các board mạch được liệt kê ở đây đều dựa trên module ESP-12E. Các module ESP8266 mới khác cũng đang được giới thiệu dường như vài tháng một lần.
ESP32-C3.
Vào năm 2020, Espressif đã công bố một chip mới ESP32-C3, tương thích với các chân của ESP8266. Nó hoạt động dựa trên một CPU RISC-V 32-bit lõi đơn với tốc độ xung nhịp lên đến 160 MHz. Nó bao gồm 400 kB SRAM và bộ nhớ ROM 384 kB được tích hợp sẵn.