ESP8266 or ESP32?

Right now, there are two chips you can use and two communications methods.

Supported Transports:

  • UART AT Commands - Just like those old modems you can sent AT control commands to firmware written by Espressif to connect to servers and transfer data. Does it work? Pretty much! Does it work well? Not really. But sometimes you don't have a choice and sometimes its OK if its flakey and inconsistant cause your code can keep re-trying till it works. You can run it on ESP32 or ESP8266/ESP8285. You can use as little as 3 pins (RX, TX and RTS)
  • SPI Packetized Commands - This is a way superior method, that was developed by Arduino for use as an Arduino co-processor. Since the code is open source it can be fixed, modded, improved and enhanced. SPI packets are also way easier and faster to handle than UART AT commands. You can only use this with ESP32. It requires at least 5 pins (MOSI, MISO, SCK, CS, BUSY)

Supported Chipsets:

  • ESP8266/ESP8285 - This is lower cost and can only use the UART AT command set code. Its less expensive, somewhat more common than the ESP32 but is (in our opinion) flakey and with slow connections and inconsistent SSL support. We don't recommend it.
  • ESP32- This is a little more expensive but can use both UART AT commands and SPI commands. SSL support is much better, and when used with SPI its all very snappy and a good experience.

What should I use?

If you can choose - use ESP32 with SPI Commands - it's the best experience by far.

If you are using a Particle Argon, you are forced to use ESP32 with AT Commands because SPI pins were not connected inside (if you're a customer, you could ask Particle if they'll fix this on their next revision)

If you are for some reason totally out of luck, you can use ESP8266 or ESP8285 with AT commands, but it can be frustrating.

We wrote this guide up during our experimentations but have decide to NO LONGER maintain the ESP + AT Commands firmware or code. It works-ish, and some friendly community members will be hacking on it, but we offer zero support for it!

Get your Hardware

The first step is to get an ESP8266, ESP32 or a Particle Argon with it built-in ESP32 module. We recommend an ESP32 breakout or Feather.

It is not recommended that the AT Firmware be used with other ESP32 boards since they can support the SPI interface for the Adafuit_CircuitPython_ESP32SPI library

Adafruit HUZZAH ESP8266 Breakout

PRODUCT ID: 2471
Add Internet to your next project with an adorable, bite-sized WiFi microcontroller, at a price you like! The ESP8266 processor from Espressif is an 80 MHz microcontroller with a full...
$9.95
IN STOCK

Adafruit HUZZAH32 – ESP32 Feather Board

PRODUCT ID: 3405
Aww yeah, it's the Feather you have been waiting for! The HUZZAH32 is our ESP32-based Feather, made with the official WROOM32 module. We packed everything you love...
$19.95
IN STOCK

Using the Particle Argon requires that you replace the Particle.IO firmware with the Adafruit Bootlader and Circuitpython.  This requires special tools and is for experienced users. See Installing CircuitPython on a Particle Argon

Particle Argon Kit - nRF52840 with BLE and WiFi

PRODUCT ID: 3993
Woohoo, it's time for a Particle Mesh party! And the Particle Argon is bringing it with a mix of Bluetooth Low Energy and Wi-Fi, your two most favorite...
$35.95
IN STOCK
This guide was first published on Dec 16, 2018. It was last updated on Dec 16, 2018. This page (ESP8266 or ESP32?) was last updated on Sep 19, 2019.