디지털 라이프 電子的生活 My Digital Life/아두이노 (Arduino)

ESP 계열 모듈 비교 / 아두이노

미친도사 2023. 5. 11. 19:20

ESP 계열 MCU를 개발하는 ESPRESSIF사의 로고

아두이노가 ATMEL사의 8비트 프로세서인 ATMEGA328P로 시작을 했으나, 블루투스, Wi-Fi 같은 무선 통신이 더 많이 필요해지고 있습니다. ATMEL 기반의 보드에 해당 기능을 보조하는 모듈을 따로 구해서 회로 설계를 하곤 했습니다만, 더 다양한 프로세서들이 아두이노 코드를 지원하게 되면서, 무선 모듈이 내장된 Espressif사의 ESP8266 및 ESP32 계열 프로세서가 아두이노 진영에서 많이들 사용하고 있습니다.

ESP8266 보드로 Wi-Fi로 스마트폰으로 무선 RC를 구현한 적이 있습니다.

[1/35 RC] OH35A01 Jeep Wrangler - (4) 구현한 기능 설명

 

[1/35 RC] OH35A01 Jeep Wrangler - (4) 구현한 기능 설명

정말 더디게 진행하고 있는 Orlandoo Hunter 미니 RC 제작기다. 어느 정도 기능 구현이 된 것 같아서 한번 정리하고 다음으로 넘어가려 한다. 우선 지난 제작기부터 ... 2020.05.19 - [모형 模形 Scale Model/

crazydoc.tistory.com

 

최근에는 ESP32와 플레이스테이션3 컨트롤러를 이용해서 컨트롤하는 것에 대해 관심을 갖고 이것저것 해보고 있습니다.

 

그러다보니, ESP 계열의 칩이 종류가 몇가지가 있어서 비교 자료를 찾다가 정리가 잘 된 것이 있어 퍼옵니다.​

출처는 다음과 같습니다.

https://gist.github.com/sekcompsci/2bf39e715d5fe47579fa184fa819f421

 

Comparison table for ESP8266/ESP32/ESP32-S2/ESP32-S3/ESP32-C3/ESP32-C6

Comparison table for ESP8266/ESP32/ESP32-S2/ESP32-S3/ESP32-C3/ESP32-C6 - Comparison Espressif ESP MCUs.md

gist.github.com

 

 
ESP8266
ESP32
ESP32-S2
ESP32-S3
ESP32-C3
ESP32-C6
Announcement Date
2014, August
2016, September
2019, September
2020, December
2020, November
2021, April
Main processor
Tensilica L106 32-bit (up to 160MHz)
Tensilica Xtensa 32-bit LX6 (up to 240MHz) (optionally dual core)
Tensilica Xtensa 32-bit LX7 (up to 240MHz)
Tensilica Xtensa 32-bit LX7 dual core (up to 240MHz)
RISC-V 32-bit (up to 160MHz)
RISC-V 32-bit (up to 160MHz)
SRAM
160KB
520KB
320KB
512KB
400KB
400KB
ROM
0
448KB
128KB
384KB
384KB
384KB
JTAG
X
?
Cache
32 KB instruction
64KB
8/16KB (configurable)
?
16KB
?
WiFi
Wi-Fi 4 (only up to 72.2Mbps)
Wi-Fi 4
Wi-Fi 4
Wi-Fi 4
Wi-Fi 4
Wi-Fi 6
Bluetooth
X
BLE 4.2 (upgrade to 5.0, with limitations)
X
BLE 5.0
BLE 5.0
BLE 5.0
 
ESP8266
ESP32
ESP32-S2
ESP32-S3
ESP32-C3
ESP32-C6
Ethernet
X
X
?
X
?
RTC memory
768B
16KB
16KB
16KB
8KB
?
PMU
?
?
ULP coprocessor
X
ULP-RISC-V
?
X
?
Cryptographic Accelerator
X
SHA, RSA, AES, RNG
SHA, RSA, AES, RNG, HMAC, Digital Signature
SHA, RSA, AES, RNG, HMAC, Digital Signature
SHA, RSA, AES, RNG, HMAC, Digital Signature
SHA, RSA, AES, RNG, HMAC, Digital Signature
Secure boot
X
Flash encryption
X
XTS-AES-128/256
XTS-AES-128
XTS-AES-128
SPI
2
4
4
?
3
?
I2C
1
2
2
?
1
?
I2S
1
2
1
?
1
?
UART
2 (one TX only)
3
2
?
2
?
 
ESP8266
ESP32
ESP32-S2
ESP32-S3
ESP32-C3
ESP32-C6
SDIO Host
0
1
0
2
0
0
SDIO Slave
0
1
0
0
0
0
GPIO
17
34
43
44
22
22
LED PWM
5
16
8
?
6
?
MCPWM
0
6
0
2
0
0
Pulse counter
0
8
4
?
0
X
GDMA*
0
0
0
?
6
?
USB
X
X
USB OTG 1.1
?
Serial/JTAG
?
TWAI**
0
1
1
?
1
?
ADC
1x 10-bit SAR
2x 12-bit SAR, up to 18 channels
2x 13-bit SAR, up to 20 channels
?
2x 12-bit SAR, up to 6 channels
?
DAC
X
2x 8-bit
2x 8-bit
?
X
X
 
ESP8266
ESP32
ESP32-S2
ESP32-S3
ESP32-C3
ESP32-C6
RMT
1x transmission + 1x reception
8x transmission/reception
4x transmission/reception
?
2x transmission + 2x reception
?
Timer
2x 23-bit***
4x 64-bit
4x 64-bit
?
2x 54-bit + 1x 52-bit
?
Temperature Sensor
?
?
Hall Sensor
X
X
?
X
?
Touch Sensor
0
10
14
?
X
?

 

일단 ESP8266은 와이파이 전용이고, ESP32는 와이파이 + BLE를 지원합니다.

일단 자체적으로 ESP-IDF란 개발 환경을 지원하는데, 이게 아두이노에 익숙한 사람들에겐 조금 어려울 수 있습니다.

그런데, 아두이노로도 개발을 할 수 있게 보드 프로파일과 라이브러리를 제공하고 있습니다.

 

ESP계열로 프로그래밍을 하다 보면, 기존의 ATMEL기반의 라이브러리가 지원 안 되는 게 가~끔 있는데 (U8GLib과 같은 LCD/OLED 표시 라이브러리), 이런 건 업그레이드 버전으로 대부분 지원하고 있습니다.

 

제가 지금까지 확인한 장점들은 ...

- 빠르다

- 저장할 수 있는 ROM 영역이 크다

- 무선 모듈(Wi-Fi, BLE) 내장으로 구현하는데 별도의 GPIO를 잡아먹지 않는다

- 거의 모든 GPIO 핀들이 PWM을 지원한다

- 크기들이 ATMEL 계열에 비해 대부분 작다

- 소모 전력이 훨씬 낮다

 

ESP 계열로 다양한 보드들이 나오고 있는데, 자료까지 정리된 걸 찾는다면 WeMos란 회사 제품이 적절한 것 같습니다.

https://www.wemos.cc/en/latest/

 

HOME — WEMOS documentation

© Copyright 2021, wemos.cc Revision 2e8a09fa.

www.wemos.cc

ESP8266부터 ESP32 계열까지 다양한 제품들이 나오고 있습니다.

 

또한, 아주 작은 보드를 찾는다면 Seeed Studio의 Xiao 라인업이 매우 매력적입니다.

https://www.seeedstudio.com/Seeed-XIAO-ESP32C3-p-5431.html

 

Seeed Studio XIAO ESP32C3 - RISC-V tiny MCU board with Wi-Fi and Bluetooth5.0, battery charge supported, power efficiency and ri

Seeed Studio XIAO ESP32C3 adopts new RISC-V architecture, supporting both Wi-Fi and BLE wireless connectivities. For Internet of Things applications, you will find it is flexible and suitable for all kinds of IoT scenarios.

www.seeedstudio.com

https://www.seeedstudio.com/XIAO-ESP32S3-p-5627.html

 

Seeed Studio XIAO ESP32S3 - 2.4GHz WiFi, BLE 5.0, Dual-core, battery charge supported, power efficiency and rich Interface, id

Seeed Studio XIAO ESP32S3 leverages 240MHz Xtensa 32-bit LX7 dual-core processor, supporting both WiFi and BLE 5.0 wireless connectivities, allows for deep sleep mode with power consumption as low as 14μA while supporting lithium battery charging manageme

www.seeedstudio.com

 

전에 플스2 게임 패드를 아두이노에 연결하여 nRF24L01 무선 모듈을 통해 무선 RC용을 써보고자 테스트를 한 적이 있습니다.

플스2 패드를 RC 조종기로 쓰기 - 테스트 회로 및 소스

 

물론 제어할 수 있는 거리 등의 차이가 있습니다만, 실내에서 갖고 놀 수 있는 장치들에 대해서는 충분히 ESP32 + 플스3 패드로 대체할 수도 있을 것 같습니다. 아니면, 아예 무선 방식을 모두 지원하는 형태로도 만들 수 있고요. Wi-Fi, BLE는 기본으로 제공하고 있으니, nRF24L01만 모듈로 ESP32에 붙이면 되는 거죠. 그렇게 하나의 레퍼런스 보드를 만들어 놓으면 원하는 컨트롤러를 선택해서 사용할 수 있겠습니다.

 

이미 자동차용으로 만들어 둔 WeMOS D1 MINI (ESP8266) 보드는 XIAO 시리즈로 더 컴팩트하게 만들고, 탱크 같이 기능이 더 많은 장치 용으로는 ESP32로 Wi-Fi, BLE에 nRF24L01까지 붙여서 통합 레퍼런스 보드를 하나 설계하고자 합니다.

 

하여간, 아두이노 우노, 나노 등에 너무 집착할 필요 없다는 게 결론입니다.

반응형