Skip to content

Nodes

Community-voiced board data and quotes are lifted from the canonical pin: discussion #2334 — Boards: what works, what’s flaky, what to avoid. If a board you’ve run isn’t listed, comment on that thread and we’ll fold it in.

Pick a chip first, then a board within it.

ChipSupportedNotes
ESP32-S3yes — recommended for new deployments8 MB flash typical, BT 5.0 LE coded PHY, USB-CDC
ESP32-C3yes — recommended for cost-sensitive deploymentsRISC-V, 4 MB flash typical
ESP32-C6yes — bleeding edgeNewer RISC-V part with BT 5.3; firmware build available
Original ESP32yes, for nowOlder silicon with less CPU and RAM than the S3/C3/C6 parts. Still supported, but expect it to age out of new firmware features eventually — prefer a newer chip for new deployments.
ESP32-S2noNo Bluetooth radio
ESP8266noNo Bluetooth radio

The boards in bold are the picks if you don’t want to think about it — M5 Atom S3 Lite as the default, M5 Stamp C3 Mate as a cost-conscious alternative.

All branded boards listed here flash with the browser installer. 1

BoardStoresNotes
M5 Atom S3 Litem5stack ali amz/usEnclosed, USB-C. 8 MB flash, 3D antenna, IR emitter, RGB LED, button, GROVE 1
M5 Atom S3Uali amz/usEnclosed, USB-A. 8 MB flash, 3D antenna, IR emitter, PDM mic, RGB LED, button, GROVE 1
M5 Stamp S3aliStamp form. 8 MB flash, 3D antenna, RGB LED 1
Teyleten Robot S3ali amz/usDev board. 8 MB flash + 2 MB PSRAM. Sold as a 3-pack 1
BoardStoresNotes
M5 Stamp C3 Matem5stack ali amz/usStamp form. 4 MB flash, 3D antenna, RGB LED, button
M5 Stamp C3U MatealiStamp form, USB-A. 4 MB flash, 3D antenna, RGB LED, button 1
ESP32-C3-DevKitM-1Uali amz/usEspressif’s dev board with ESP32-C3-MINI-1U module and U.FL connector. 4 MB flash, 160 MHz
BoardStoresNotes
M5 Atom (Lite / Echo / Matrix)ali m5stack digiEnclosed. The 3D antenna is much better than generic clones
M5 Stamp Picoali m5stackStamp form. Small, still has a 3D antenna
Adafruit Huzzah32amz/usDev board. Branded, quality control unlike generic ESP32 dev boards

These boards run ESPresense, but antenna and module QC vary — RSSI from one of these often won’t agree with a branded board at the same distance, which makes fleet calibration harder and is a real problem for Companion’s room solver. Use one you already own rather than buying a new one. If a “with caveats” board misbehaves, reproduce on a tier-1 board before opening a firmware issue — RF problems on a marginal clone look identical to firmware bugs and burn a lot of triage time.

BoardCaveatSource
AZDelivery ESP32 NodeMCU (WROOM-32 module on a generic dev board)Works but no brand QC#2334 / #1567, #1577
Generic D1 Mini ESP32 (Micro-B and USB-C)Multiple users report working in practice; same no-brand → no-QC caveat on the RF front-end#2334 / #162
LOLIN D32 ESP32Works; unbranded RF caveat#2334
M5StickC PlusBuilt-in battery is a liability for a fixed-in-place node#2334
SEEEDSTUDIO XIAO ESP32-C3Runs on the esp32C3 flavour. One report of a board overheating (#1364); use a known-good USB-C cable and a real power supply#2334 / #1364

Each of these comes up often enough that it’s worth saying plainly:

  • Unbranded “ESP32 dev board” listings (Amazon / AliExpress). ESPresense uses RSSI as its primary input — every distance estimate and every Companion room solve assumes the fleet’s readings agree with each other. Unbranded clones don’t have consistent antenna designs even within a single product listing; two boards from the same batch routinely differ by several dB at the same distance, which translates to feet of error in the Companion floor plan. None of that matters for sensor/relay/presence projects like ESPHome, which is why “these same cheap boards never drop with ESPHome” is a common (and accurate, but irrelevant) objection — ESPHome isn’t doing RSSI distance estimation across a calibrated fleet. The failure mode here is also silent: the board flashes, joins WiFi, reports to MQTT, but its RSSI numbers don’t line up with the rest of the fleet and you can’t tell whether bad tracking is firmware, calibration, or a bad RF front-end. @maxi1134 separately reports a 40-50% WiFi-retry rate on generic ESP32 dev boards (#1364, summarised in #2334). For any node you intend to calibrate against the fleet — and especially for Companion — spend the extra few dollars on a branded board.
  • ESP32-CAM. Not officially supported. Camera owns most of the GPIOs, tighter RAM, no maintained firmware variant. One community member keeps a fork working with source-side modifications (#1347); we don’t build for it.
  • ESP32-S2 / ESP8266. No Bluetooth radio — physically can’t run ESPresense.
  • NSPanel as a base station. Open question. The chip is an ESP32, but no one has reported flashing ESPresense over the stock NSPanel firmware and getting both the touch UI and BT scanning working (#1335).
  • GL-S10 Bluetooth IoT Gateway. Not an ESP32 — MediaTek MT7621 with a separate BLE module — so the ESPresense firmware doesn’t apply (#1263).
  1. USB-CDC firmware flavour. Pick the cdc variant from the browser installer flavour dropdown (or when flashing manually). 2 3 4 5 6