ESP8266 NodeMCU V3 에 대한 연산 처리 성능을 측정해봤습니다.
| 항목 | 내용 |
| 칩셋 | Espressif ESP8266EX (Tensilica L106 32-bit RISC, 80/160 MHz) |
| 플래시 메모리 | 4 MB (SPI Flash) |
| SRAM | 약 80 KB (사용 가능 약 50 KB) |
| EEPROM (에뮬레이션) | 512 bytes (Flash 일부 사용) |
| 전원 공급 | 5 V (Micro-USB) 또는 3.3 V (핀 입력) |
| 동작 전압 | 3.0 ~ 3.6 V (I/O 레벨 포함) |
| 소비 전류 | 평균 70 mA, 최대 약 300 mA |
| CPU 코어 | 32-bit Tensilica L106, single-core, 80 or 160 MHz |
| 무선 기능 | Wi-Fi 802.11 b/g/n (2.4 GHz), WPA/WPA2 지원 |
| GPIO 수 | 11개 (D0 ~ D8, SD2, SD3) — 단, 일부 부팅 제한 있음 |
| ADC | 1채널, 10비트, 0–1 V 입력 범위 |
| PWM, I²C, SPI, UART | 지원 (소프트웨어 방식 I²C/SPI 가능) |
| USB-Serial 칩 | CH340G (NodeMCU V3 보드에서 주로 사용됨) |
| 펌웨어 업로드 | Micro-USB (자동 Flash/Reset 회로 내장) |
| 보드 크기 | 약 58 mm × 31 mm |
| 무게 | 약 8 g |

1. GPIO 토글 주기
1-1. 함수 명령과 레지스터 제어 와의 성능 차이를 측정해봤고, 레지스터 제어 방식이 약 13배 빠릅니다.
| 함수 호출 | 레지스터 제어 |
| void setup() { pinMode(0, OUTPUT); } void loop() { digitalWrite(0, HIGH); digitalWrite(0, LOW); } |
#define GPIO_OUT_REG 0x60000300 #define GPIO_OUT_SET_REG 0x60000304 #define GPIO_OUT_CLEAR_REG 0x60000308 volatile uint32_t *gpio_set = (uint32_t *)GPIO_OUT_SET_REG; volatile uint32_t *gpio_clear = (uint32_t *)GPIO_OUT_CLEAR_REG; void setup() { pinMode(0, OUTPUT); } void loop() { *gpio_set = (1 << 0); // HIGH *gpio_clear = (1 << 0); // LOW } |
*신호 분석: Logic Analyzer(LA2016) 200MHz Sampling
| 함수 호출 | ![]() |
| 레지스터 제어 | ![]() |
일반적인 Arduino(MEGA328P 16MHz)과 비교 시 함수 호출은 약 2배 빠르나 레지스터 제어는 동일합니다. 동작 클럭은 80MHz 로 Arduino 16MHz 보다 5배 빠른데도, 성능은 비슷하네요.
2. 연산 처리 능력
약 1초 간 루프 문 안에서 반복적으로 카운트(덧셈)하는 연산으로 시험인데, PC 에서 Serial 출력을 받기 위해서는 USB CDC on Boot 옵션을 Enable 로 설정해야 합니다.
unsigned long start, end;
volatile unsigned long count = 0;
void setup() {
Serial.begin(9600);
start = micros();
while (micros() - start < 1000000) { // 1초 동안
count++;
}
end = micros();
Serial.print("Count per second: ");
Serial.println(count);
}
void loop() {}
결과는 1,403,496회 인데 의외입니다. 상위 모델인 ESP32-C3 1,152,194회 보다 높았고, Arduino Uno 203,905회 대비 약 6.8배의 성능입니다.
'하드웨어 > 테스트' 카테고리의 다른 글
| 릴레이(Relay)는 얼마나 빠를까? 고속 신호 반응 테스트 (0) | 2025.10.16 |
|---|---|
| Raspberry Pi Pico 성능 측정 (0) | 2025.10.13 |
| ESP32-C3 성능 측정 (0) | 2025.10.13 |
| Arduino 3종 성능 측정 (0) | 2025.10.09 |
| [RPi-1] GPIO 최소 출력 주기와 실제 속도 한계 측정 (0) | 2025.10.03 |

