The ESP8266 put cheap Wi-Fi in everyone’s hands. It was the chip that turned makers into people able to run a web server in their living room for two dollars. It still sells, it still gets used, and it still has an audience.
The honest question is: does it make sense to buy one today? Almost always no, and here is why.
The differences that matter
| ESP8266 | ESP32 (classic) | |
|---|---|---|
| Cores | 1 × Xtensa L106 @ 160 MHz | 2 × LX6 @ 240 MHz |
| Usable RAM | ~50 KB | ~320 KB |
| Wi-Fi | Wi-Fi 4 | Wi-Fi 4 |
| Bluetooth | ❌ | BT 4.2 + BLE |
| Usable GPIOs | ~11 | ~25 |
| ADC | 1 channel, 10-bit | 18 channels, 12-bit |
| DAC | ❌ | ✅ |
| Native USB | ❌ | ❌ |
It is not just “less powerful”: there is 10× less memory and very few pins. That constrains everything you can do.
Where the ESP8266 still shines
- Pure price: under $2 on AliExpress.
- Simplicity: to read a sensor and publish over Wi-Fi to one endpoint, it is plenty.
- Legacy: tons of working code and tutorials.
- Very low deep sleep current if the project is simple.
Where it falls short (and it hurts)
- Memory: a big JSON parser or TLS leaves you out of RAM and with random reboots.
- Single core: Wi-Fi and your code share the CPU, so any long task triggers watchdog resets.
- Pins: with the ADC and the flash, you are left with very few GPIOs.
- TLS: modern handshakes are expensive for this chip.
- Relevance: the ecosystem is now centred on the ESP32.
The comparison that actually matters today
If the ESP8266 tempts you on price, compare it with the ESP32-C3, not the classic:
| ESP8266 | ESP32-C3 | |
|---|---|---|
| Price | ~$1.5 | ~$2–3 |
| Core | Xtensa | RISC-V @ 160 MHz |
| RAM | ~50 KB | 400 KB |
| Bluetooth | ❌ | BLE 5 |
| Native USB | ❌ | Yes (Serial/JTAG) |
| ADC | 10-bit | 12-bit |
The price gap is a few cents and the C3 is better at everything. That is why I recommend forgetting the 8266 for a new project.
When to use each
Use the ESP8266 if…
- Price is the only thing that matters (volume production, toys).
- You have old working code and do not want to touch it.
- The project is a minimal sensor that will never grow.
Use an ESP32 (C3) if…
- You need BLE, more pins or more memory.
- You are doing TLS, OTA or non-trivial logic.
- You want native USB and decent debugging.
- You think the project might grow (and it always does).
Migrating from the 8266 to the ESP32-C3
If you are coming from the 8266 and jumping to the C3, watch out:
ESP8266WiFi.hbecomesWiFi.h(and some APIs get renamed).- The ADC is different: on the 8266 it is
A0(10-bit); on the C3 you use ADC1 with 12 bits. - Deep sleep is more flexible: specific GPIOs can wake it.
- Libraries for the 8266 do not always compile: look for the ESP32 equivalent.
- The pin mapping is nothing alike: do not copy the wiring.
Summary
- The ESP8266 was revolutionary, but today it is dated next to the C3.
- It has ~50 KB RAM, one core and few pins: it runs out of room quickly.
- It only wins when price is everything or the code is inherited.
- For new projects, an ESP32-C3 costs about the same and is far superior.
- If you migrate, expect changes in Wi-Fi, ADC and pins.
Next step: that closes the variants. Now it is time to choose a framework: Arduino, ESP-IDF, MicroPython or Rust. Or go back to the series hub.