ESP8266

ESP8266은 중국 상하이의 Espressif Systems에서 생산된 저비용 와이파이마이크로칩으로, 내장된 TCP/IP 네트워킹 소프트웨어와 마이크로컨트롤러 기능을 갖추고 있다.

이 칩은 2014년 8월, 타사 제조업체 Ai-Thinker가 만든 ESP-01 모듈을 통해 영어권 메이커 커뮤니티에서 인기를 얻었다. 이 작은 모듈은 마이크로컨트롤러가 와이파이 네트워크에 연결하고 헤이즈 스타일 명령을 사용하여 간단한 TCP/IP 연결을 할 수 있도록 한다. 그러나 처음에는 이 칩과 칩이 수용하는 명령에 대한 영어 문서가 거의 없었다. 매우 낮은 가격과 모듈에 외부 부품이 거의 없다는 사실은 대량 생산 시 매우 저렴해질 수 있음을 시사하며, 많은 해커들이 모듈, 칩 및 소프트웨어를 탐구하고 중국어 문서를 번역하도록 이끌었다.

ESP8285는 1 MiB 플래시 메모리가 내장된 유사한 칩으로, 와이파이를 통해 연결할 수 있는 단일 칩 장치를 설계할 수 있도록 한다.

이 마이크로컨트롤러 칩들은 ESP32 제품군에 의해 계승되었다.

 특징 
섬네일|ESP-01 모듈 와이어프레임 도면
 프로세서: 80 또는 160 MHz에서 작동하는 Tensilica Diamond Standard 106Micro 기반의 L106 32비트 RISC 마이크로프로세서 코어  플래시 모드와 주파수는 코드 실행 속도에 직접적인 영향을 미친다. 플래시를 더 높은 주파수와 QIO 모드로 설정하면 성능 면에서 최상의 결과를 얻을 수 있지만, 전력 소비 면에서 비용이 발생한다.   성공 여부는 칩마다 달라진다.
 160 Kbytes의 RAM 메모리는 다음으로 분할된다.
 32 KB 명령어 RAM (iRAM)
 32 KB 명령어 캐시 RAM
 96 KB의 dRAM은 SDK 및 힙 메모리용 80 KB dRAM과 ROM용 16 KB로 분할됨
 외부 QSPI 플래시: 최대 16 MiB 지원 (일반적으로 512 KiB ~ 4 MiB 포함)
 IEEE 802.11 b/g/n 와이파이
 통합 TR 스위치, 발룬, LNA, 전력 증폭기 및 매칭 네트워크
 WEP 또는 WPA/WPA2 인증 또는 개방형 네트워크
 17 GPIO 핀
 SPI
 I²C (소프트웨어 구현)
 DMA가 있는 I²S 인터페이스 (GPIO와 핀 공유)
 전용 핀의 UART 및 GPIO2에서 송신 전용 UART 활성화 가능
 10비트 ADC (축차 근사 ADC)

 ESP-01 핀 배열 
섬네일|ESP-01 모듈 핀 배열
일반적인 ESP-01 모듈의 핀 배열은 다음과 같다:
 GND, 접지 (0 V)
 GPIO 2, 범용 입출력 2번
 GPIO 0, 범용 입출력 0번
 RX, 수신 데이터 입력, 또한 GPIO3
 VCC, 전압 (+3.3 V; 최대 3.6 V까지 처리 가능)
 RST, 리셋
 CH_PD, 칩 전원 차단
 TX, 송신 데이터 출력, 또한 GPIO1

섬네일|ESP8266 다이샷

 SDK 
2014년 10월, Espressif Systems는 칩을 직접 프로그래밍할 수 있는 SDK를 출시하여 별도의 마이크로컨트롤러가 필요 없게 되었다. 그 이후로 Espressif는 여러 공식 SDK 릴리스를 발표했으며, Espressif는 두 가지 버전의 SDK를 유지하고 있다. 하나는 FreeRTOS 기반이고 다른 하나는 콜백 기반이다.

Espressif의 공식 SDK 외의 대안으로는 Max Filippov가 유지 관리하는 GCC 툴체인 기반의 오픈 소스 ESP-Open-SDK가 있다. 또 다른 대안은 Mikhail Grigorev의 "비공식 개발 키트"이다.

주로 오픈 소스인 다른 SDK는 다음과 같다.
 아두이노 — C++ 기반 펌웨어. 이 코어로 ESP8266 CPU와 와이파이 구성 요소를 다른 아두이노 장치처럼 프로그래밍할 수 있다. ESP8266 아두이노 코어는 깃허브를 통해 이용할 수 있다.
 ESP8266 BASIC — 특히 사물인터넷(IoT)에 맞춰진 오픈 소스 베이직 유사 인터프리터. 자체 호스팅 브라우저 기반 개발 환경.
 ESP Easy — 가정 자동화 애호가들이 개발.
 ESPHome — ESPHome은 간단하면서도 강력한 구성 파일로 ESP8266/ESP32를 제어하고 가정 자동화 시스템을 통해 원격으로 제어하는 시스템이다.
 Tasmota - 가정 자동화를 위한 오픈 소스 펌웨어.
 ESP-Open-RTOS — 오픈 소스 FreeRTOS 기반 ESP8266 소프트웨어 프레임워크.
 ESP-Open-SDK — ESP8266/ESP8285 칩용으로 가능한 한 자유롭고 개방적인 통합 SDK.
 Espruino — Node.js를 밀접하게 모방한 활발히 유지 관리되는 자바스크립트 SDK 및 펌웨어. ESP8266을 포함한 몇몇 MCU를 지원.
 ESPurna — 오픈 소스 ESP8285/ESP8266 펌웨어.
 Forthright — 존스 포스(Jones Forth)의 ESP8266 마이크로컨트롤러 포트.
 MicroPython — ESP8266 플랫폼으로 마이크로파이썬(임베디드 장치용 파이썬 구현)을 포팅한 것.
 Moddable SDK — ESP8266용 자바스크립트 언어 및 라이브러리 지원 포함
 Mongoose OS — 연결된 제품을 위한 오픈 소스 운영 체제. ESP8266 및 ESP32 지원. C 또는 자바스크립트로 개발.
 NodeMCU — Lua 기반 펌웨어.
 PlatformIO — 아두이노 코드 및 라이브러리 위에 있는 크로스 플랫폼 IDE 및 통합 디버거.
 Punyforth — ESP8266용 포스(Forth)에서 영감을 받은 프로그래밍 언어.
 Sming — 뛰어난 성능과 다양한 네트워크 기능을 갖춘 활발히 개발 중인 비동기 C/C++ 프레임워크.
 uLisp — 제한된 RAM을 가진 프로세서에서 실행되도록 특별히 설계된 리스프 프로그래밍 언어 버전.
 ZBasic for ESP8266 — 널리 사용되는 마이크로소프트 비주얼 베이직 6의 서브셋으로, ZX 마이크로컨트롤러 제품군 및 ESP8266의 제어 언어로 채택되었다.
 Zerynth — 파이썬으로 ESP8266 및 기타 마이크로컨트롤러를 프로그래밍하기 위한 IoT 프레임워크.
 EspOS 웹 서버, 쉬운 IoT 솔루션.

 Espressif 모듈 
섬네일|ESP-WROOM-02
다음은 Espressif에서 만든 ESP8266 기반 모듈 시리즈이다.

이름활성 핀피치폼 팩터LED안테나차폐크기 (mm)참고 181.5 mm2×9 캐슬레이티드 PCB 트레이스 18 × 20FCC ID 2AC7Z-ESPWROOM02. 181.5 mm2×9 캐슬레이티드 PCB 트레이스 18 × 20FCC ID 2AC7Z-ESPWROOM02D. 150밀 및 208밀 플래시 메모리 칩과 모두 호환되는 ESP-WROOM-02의 개정판. 181.5 mm2×9 캐슬레이티드 U.FL 소켓 18 × 20 U.FL 호환 안테나 소켓 커넥터가 포함되어 있다는 점에서 ESP-WROOM-02D와 다르다. 201.5 mm2×10 캐슬레이티드 PCB 트레이스 16 × 23FCC ID 2AC7Z-ESPWROOMS2.

위 표(및 이어지는 두 표)에서 "활성 핀"은 외부 장치를 ESP8266 MCU에 연결할 수 있는 GPIO 및 ADC 핀을 포함한다. "피치"는 ESP8266 모듈의 핀 간 간격으로, 장치를 브레드보드에 사용할 경우 알아야 할 중요한 정보다. "폼 팩터"는 "2 × 9 DIL"과 같이 모듈 패키징을 설명하는데, 이는 DIP IC의 핀처럼 "듀얼 인 라인"으로 배열된 9개 핀의 두 줄을 의미한다. 많은 ESP-xx 모듈에는 작은 온보드 LED가 포함되어 있어 깜빡이도록 프로그래밍하여 활동을 나타낼 수 있다. ESP-xx 보드에는 트레이스 안테나, 온보드 세라믹 안테나, 외부 Wi-Fi 안테나를 연결할 수 있는 외부 커넥터 등 여러 안테나 옵션이 있다. Wi-Fi 통신은 많은 RFI(무선 주파수 간섭)를 발생시키므로, FCC와 같은 정부 기관은 다른 장치와의 간섭을 최소화하기 위해 차폐된 전자 장치를 선호한다. 일부 ESP-xx 모듈은 FCC 승인 스탬프가 찍힌 금속 상자에 들어 있다. 선진국 시장에서는 FCC 승인 및 차폐된 Wi-Fi 장치가 요구될 가능성이 높다.

 Ai-Thinker 모듈 
alt=ESP-01 모듈|섬네일|Ai-Thinker ESP8266 모듈(ESP-12F, 검은색)이 브레이크아웃 보드(흰색)에 납땜되어 있다
다음은 타사 제조업체 Ai-Thinker가 ESP8266으로 만든 첫 번째 모듈 시리즈이며 가장 널리 사용된다. 이들은 총칭하여 "ESP-xx 모듈"이라고 불린다. 작동 가능한 개발 시스템을 구축하려면 추가 구성 요소, 특히 직렬 TTL-USB 어댑터(때로는 USB-UART 브리지라고도 함)와 외부 3.3V 전원 공급 장치가 필요하다. 초보 ESP8266 개발자는 USB-UART 브리지와 3.3V 전압 레귤레이터가 보드에 내장된 마이크로 USB 커넥터가 포함된 NodeMCU와 같은 대형 ESP8266 Wi-Fi 개발 보드를 고려하는 것이 좋다. 프로젝트 개발이 완료되면 이러한 구성 요소는 필요하지 않으며, 이러한 저렴한 ESP-xx 모듈은 생산 실행을 위한 저전력, 소형 풋프린트 옵션이다.

참고 열에서 플래시 메모리 크기는 주어진 모듈과 표의 모든 하위 모듈에 적용된다. 단일 모듈에 적용되는 예외는 괄호 안에 표시된다.

 이름  활성 핀  피치  폼 팩터  LED  안테나  차폐  크기 (mm)  참고 ESP-01  6  0.1 인치  2×4 DIL    PCB 트레이스    14.3 × 24.8  일반 제조업체의 512 KiB 플래시 및 파란색 PCB. AI-Thinker의 1 MiB 플래시, AI-Cloud 및 검은색 PCB. ESP-01S  6  0.1 인치  2×4 DIL    PCB 트레이스    14.4 × 24.7  1 MiB 플래시   16  1.6 mm  2×9 에지 커넥터    PCB 트레이스    18.0 × 18.0  ESP8285 사용 (1 MiB 내장 플래시). ESP-02  6  0.1 인치  2×4 캐슬레이티드    U.FL 소켓    14.2 × 14.2  ESP-03  10  2 mm  2×7 캐슬레이티드    세라믹    17.3 × 12.1  ESP-04  10  2 mm  2×4 캐슬레이티드    없음    14.7 × 12.1  ESP-05  3  0.1 인치  1×5 SIL    U.FL 소켓    14.2 × 14.2  ESP-06  11  다양함  4×3 주사위    없음    14.2 × 14.7  FCC 미승인. ESP-07  14  2 mm  2×8 핀홀    세라믹 + U.FL 소켓    20.0 × 16.0  FCC 미승인. ESP-07S  14  2 mm  2×8 핀홀    U.FL 소켓    17.0 × 16.0  FCC 및 CE 승인. ESP-08  10  2 mm  2×7 캐슬레이티드    없음    17.0 × 16.0  FCC 미승인. ESP-09  10  다양함  4×3 주사위    없음    10.0 × 10.0  ESP-10  3  2 mm  1×5 캐슬레이티드    없음    14.2 × 10.0  ESP-11  6  1.27 mm  1×8 핀홀    세라믹    17.3 × 12.1  ESP-12  14  2 mm  2×8 캐슬레이티드    PCB 트레이스    24.0 × 16.0  FCC 및 CE 승인. ESP-12E  20  2 mm  2×8 캐슬레이티드    PCB 트레이스    24.0 × 16.0  4 MiB 플래시. ESP-12F  20  2 mm  2×8 캐슬레이티드    PCB 트레이스    24.0 × 16.0  FCC 및 CE 승인. 개선된 안테나 성능. ESP-12S  14  2 mm  2×8 캐슬레이티드    PCB 트레이스    24.0 × 16.0  FCC 승인. ESP-13  16  1.5 mm  2×9 캐슬레이티드    PCB 트레이스    W18.0 × L20.0  "FCC"로 표시됨. 차폐 모듈은 ESP-12 모듈과 비교하여 옆으로 배치됨. ESP-14  22  2 mm  2×8 캐슬레이티드 +6    PCB 트레이스    24.3 × 16.2  대부분 "AI Cloud Inside"로 광고됨.

 기타 보드 
섬네일|SparkFun ESP8266 Thing
이 보드들이 초기 ESP-xx 모듈보다 인기가 있는 이유는 온보드 USB-UART 브리지(Silicon Labs의 CP2102 또는 WCH CH340G 등)와 마이크로 USB 커넥터가 포함되어 있기 때문이다. 이들은 3.3V 레귤레이터와 결합되어 보드에 전원을 공급하고 호스트(소프트웨어 개발) 컴퓨터, 즉 콘솔과 연결성을 제공하여 쉬운 개발 플랫폼이 된다. 초기 ESP-xx 모듈에서는 이 두 가지 항목(USB-직렬 어댑터 및 레귤레이터)을 별도로 구매하여 ESP-xx 회로에 연결해야 했다. NodeMCU와 같은 최신 ESP8266 보드는 작업하기 더 쉽고 더 많은 GPIO 핀을 제공한다. 여기에 나열된 대부분의 보드는 ESP-12E 모듈을 기반으로 하지만, 새로운 모듈이 몇 달마다 계속해서 출시되고 있는 것처럼 보인다.

+ 이름  활성 핀  피치  폼 팩터  LED  안테나  차폐  크기 (mm)  참고Bolt IoT 14  0.1 인치  2×14 DIL    PCB 트레이스    30 × 40 온보드 SD 카드 및 Lib-Discovery, 페일 세이프 모드와 같은 기능을 제공한다. 자체 IoT 클라우드를 가지고 있다. Olimex MOD-WIFI-ESP8266 2  0.1 인치  UEXT 모듈    PCB 트레이스      RX/TX만 UEXT 커넥터에 연결됨. Olimex MOD-WIFI-ESP8266-DEV 20  0.1 인치  2×11 DIL + 캐슬레이티드    PCB 트레이스    33 × 23  모든 사용 가능한 GPIO 핀이 연결되어 있으며, UEXT 커넥터(RX/TX 및 SDA/SCL 신호 포함) 납땜용 패드도 있다. NodeMCU DEVKIT  14  0.1 인치  2×15 DIL    PCB 트레이스    49 × 24.5  ESP-12 모듈 사용; USB-직렬 인터페이스 포함. 에이다프룻 Huzzah ESP8266 브레이크아웃 14  0.1 인치  2×10 DIL    PCB 트레이스    25 × 38  ESP-12 모듈 사용. SparkFun ESP8266 Thing WRL-13231 12  0.1 인치  2×10 DIL    PCB 트레이스 + U.FL 소켓    58 × 26  FTDI 직렬 헤더, 전원용 마이크로 USB 소켓, 리튬 이온 배터리 충전기 포함. KNEWRON Technologies smartWIFI 12  0.1 인치  2×20 DIL   1 RGB PCB 트레이스    25.4 × 50.8  CP2102 USB 브리지, 배터리 충전기, 전원 및 배터리 충전용 마이크로 USB 소켓, 1 RGB LED 및 사용자 / 리플래시 버튼 포함. ArduCAM ESP8266 UNO  12+  0.1 인치  아두이노 우노    PCB 트레이스    53.4 × 68.6  AI Thinker의 ESP8266MOD 모듈을 사용하며 마이크로 USB 포트, 배터리 핀, 카메라 핀 및 uSD 카드가 모두 동일한 보드에 있다. 아두이노 우노 쉴드와 완벽하게 호환된다. DoIT ESPduino  12  0.1 인치  아두이노 우노    PCB 트레이스    53.4 × 68.6  ESP-WROOM-02 (ESP-13) 모듈 및 USB Type B 포트를 사용한다. 아두이노 우노 쉴드와 완벽하게 호환된다.WeatherPlus - SwitchDoc Labs  26+Grove  0.1 인치  사용자 정의    PCB 트레이스    86.0 × 50.0  AI Thinker 모델 ESP8266MOD (ESP-13) 모듈과 프로그래밍용 FTDI, 전원용 미니 USB 포트를 사용한다. 에이다프룻 허자(Adafruit Huzzah) 소프트웨어와 완벽하게 호환된다. BMP280 기압계, ADS1115 및 Grove I2C 커넥터가 포함되어 있다. 풍속계/풍향계/강우 측정기 플러그. WeMos D1 12 0.1 인치  아두이노 우노    PCB 트레이스    53.4 × 68.6  ESP-12F 모듈 및 마이크로 USB 소켓 사용. WeMos D1 R2를 선호하여 단종됨. WeMos D1 R2 12 0.1 인치  아두이노 우노    PCB 트레이스    53.4 × 68.6  ESP-12F 모듈 사용 및 마이크로 USB 소켓이 있다. WeMos D1 mini 12  0.1 인치  2×8 DIL    PCB 트레이스    25.6 × 34.2  ESP-12S 모듈 사용 및 마이크로 USB 소켓이 있다. WeMos D1 mini Lite 12  0.1 인치  2×8 DIL    PCB 트레이스    25.6 × 34.2  1 MiB 플래시가 내장된 ESP8266인 ESP8285 기반; 마이크로 USB 소켓이 있다. WeMos D1 mini Pro 12 0.1 인치  2×8 DIL    세라믹 및 U.FL 소켓    25.6 × 34.2  ESP8266EX 칩 사용; 마이크로 USB 소켓, U.FL 안테나 커넥터, 16 MiB 플래시가 있다.ESPert ESPresso Lite 16  0.1 인치  2×8 DIL    PCB 트레이스    26.5 × 57.6  ESP-WROOM-02 모듈을 사용한다. 베타 버전으로 한정 수량 생산되었다.ESPert ESPresso Lite V2.0 24  0.1 인치  2×10 DIL    PCB 트레이스    28 × 61  ESPresso Lite의 개선 버전.In-Circuit ESP-ADC 18  0.1 인치  2×9 DIL    U.FL 소켓    22.9 × 14.9  ESP8266EX 칩 사용. Watterott ESP-WROOM02-Breakout 14  0.1 인치  2×10 DIL    PCB 트레이스    40.64 × 27.94  Espressif ESP-WROOM-02 모듈을 사용한다. Geek Wave Solution IOT WROOM-02 Dev. Board 20  0.1 인치      PCB 트레이스    93.80 × 80.02  Espressif ESP-WROOM-02 모듈 및 4개의 릴레이가 있는 개발 보드. Witty 2-piece board 20  0.1 인치      PCB 트레이스    ?  Espressif ESP8266 ESP-12E와 CH340G USB 인터페이스용 별도 보드가 있는 개발 보드.

 ESP32-C3 
2020년, Espressif는 ESP8266과 핀 호환이 되는 새로운 칩인 ESP32-C3를 발표했다. 이 칩은 최대 160 MHz의 클럭 속도를 가진 단일 코어 RISC-V 32비트 CPU를 기반으로 하며, 400 KiB의 SRAM과 384 KiB의 ROM 저장 공간이 내장되어 있다.

 같이 보기 
 ESP32 – Espressif의 후속 제품
 사물인터넷
 MCU (마이크로컨트롤러 유닛)

 각주 

 외부 링크 

 아두이노 IDE용 ESP8266 코어

분류:마이크로컨트롤러
분류:사물인터넷
분류:2014년 설립