Specifying "ESP32" on a BOM and expecting consistent delivery is one of the most reliable ways to trigger a PCB respin. The ESP32 family now includes six major variants with different core architectures, GPIO counts, WiFi generations, and BLE versions — none of which are pin-compatible with each other. Chinese module suppliers will fulfill your "ESP32" order with whatever they have in stock. Pin the exact variant.
The variant differences that affect sourcing
ESP32 (original, 2016): Dual Xtensa LX6 cores, WiFi 4, BLE 4.2/5.0. 34 GPIO pins. The workhorse; massive community and library support. Still in active production but being superseded for new designs. Espressif has quietly introduced hardware revisions (ECO0, ECO1, ECO3) with differing RF performance characteristics. Ask for ECO3 when available.
ESP32-S3 (2021): Dual Xtensa LX7 cores, WiFi 4, BLE 5.0, USB OTG, dedicated neural network acceleration (512KB SRAM + 8MB external PSRAM option). More GPIO than original ESP32. The preferred choice for AI-adjacent applications, camera interfaces, or products needing USB device capability. 10–15% more expensive than original ESP32 modules.
ESP32-C3 (2021): Single RISC-V core, WiFi 4, BLE 5.0. 22 GPIO pins — significantly fewer than the other variants. Lowest power, lowest cost ($1.80–2.50 per module at 1,000 units). The rational choice for simple sensor nodes, single-function smart plugs, or cost-sensitive applications that do not need dual-core or USB.
ESP32-C6 (2023): Single RISC-V core, WiFi 6 (802.11ax), BLE 5.0, IEEE 802.15.4 (Zigbee/Thread). The first Espressif chip with native Matter support at the radio level. If you are building a Matter or Thread device, this is the correct chip — do not try to retrofit Matter onto ESP32 original.
ESP32-H2 (2023): No WiFi. IEEE 802.15.4 only (Zigbee/Thread) plus BLE 5.0. For pure Zigbee or Thread end devices where WiFi is not needed and you want the lowest possible BOM cost for the wireless subsystem.
The substitution trap: factories receiving an order for "ESP32 module" have shipped ESP32-C3 modules, documented it as "ESP32 compatible," and technically been correct — both carry the ESP32 brand. The C3 has 12 fewer GPIO pins than the original. Products designed around the original ESP32's 34 GPIOs will not fit on a C3 board. A PCB respin to accommodate the different footprint costs $2,000–5,000 in NRE plus 4–6 weeks of schedule.
Lock your BOM to the specific variant: "Espressif ESP32-WROOM-32E" or "Ai-Thinker ESP32-C3-32S" — not "ESP32 module."
OEM module suppliers: the real choices
The practical OEM module market for ESP32 in China is shorter than it looks:
Espressif official modules (ESP32-WROOM-32E, ESP32-S3-WROOM-1, ESP32-C3-MINI-1): manufactured by Espressif at their approved contract manufacturing partner. FCC, CE, and SRRC certified. Most expensive option ($3.50–6.00 per module at 1,000 units) but lowest integration risk. Espressif provides datasheets, reference designs, and certification documentation.
Ai-Thinker: the largest third-party ESP32 module manufacturer, with a direct supply agreement with Espressif for dies. Their ESP-12F and ESP32-C3-32S modules are widely used and have existing FCC grants. Lower cost than Espressif official modules. Quality is generally consistent but verify that your Ai-Thinker module order comes with documentation showing Espressif-sourced dies, not spot market.
LILYGO: known for their development board and module series (TTGO). More popular with prototypers than production buyers. FCC documentation is less complete than Ai-Thinker or Espressif; verify FCC IDs before specifying for production.
Generic "ESP32 module" from unnamed Shenzhen suppliers: these exist in large quantities on 1688 and sometimes Alibaba. Quality ranges widely. Some are assembled with genuine Espressif dies; some use clone silicon marketed as ESP32-compatible. The clone silicon may pass breadboard-level functional tests but fails RF output power requirements, leading to FCC certification failures. Avoid unnamed suppliers for production BOM.
FCC certification: pre-certified module vs. full certification
Full FCC certification for an ESP32-based product designed from scratch — custom PCB, custom antenna — costs $8,000–15,000 and takes 8–12 weeks. This is the cost of testing at an accredited lab plus FCC administrative fees. The relevant guidance for modular approval is FCC KDB 996369 — the FCC's modular approval guidance document that defines when a pre-certified module's grant can be used by an end product without recertifying the radio.
The modular approval path: if you integrate a pre-certified Espressif or Ai-Thinker module following the manufacturer's integration instructions — antenna placement, keep-out zones, power supply specifications — your end product can use the module's existing FCC ID for the radio. You only need to certify the end product as an unintentional radiator (FCC Part 15B). Cost: $1,500–3,000. Timeline: 3–4 weeks.
The restriction: you must follow the module's integration instructions exactly. The module's FCC grant specifies minimum distances from the module edge to the PCB edge, antenna keep-out zones, and maximum transmitted power. If your enclosure places the antenna against a metal surface, or if your PCB layout violates the keep-out zone, the modular grant does not cover your product and you need full certification.
Common mistake that invalidates the modular grant: placing an ESP32 module inside a metal enclosure. Metal enclosures significantly affect antenna performance. The module's FCC grant was tested in an open-air configuration. Re-testing inside your specific enclosure is required.
Concrete numbers: a product using a pre-certified Ai-Thinker ESP32-C3-32S module, integrated per the datasheet, submitting for FCC Part 15B only: approximately $2,500 total, 3–4 week timeline. The same product with a custom PCB-trace antenna instead of the module: $11,000 total, 10 weeks. For a first product under 15,000 units, the pre-certified module math is clear.
The BOM mistake that costs a PCB respin
The single most expensive ESP32 sourcing mistake we see: a buyer specifies "ESP32" without specifying the module variant. The factory ships ESP32-C3 (fewer GPIO pins than original ESP32). The buyer designed their PCB around the ESP32-WROOM-32 pinout. The C3 has a different footprint and 12 fewer available GPIOs.
Result: PCB respin. NRE cost: $3,000–6,000. Schedule impact: 6–8 weeks.
Prevention: your BOM line item for the ESP32 module should include:
- Exact Espressif part number (e.g., ESP32-WROOM-32E)
- Module manufacturer (Espressif official, or Ai-Thinker with specific SKU)
- Hardware version (e.g., "v3.1 or later" to specify minimum ECO revision)
- Firmware SDK version (ESP-IDF version pinned to a specific tag)
This level of specificity is not over-engineering — it is the minimum required to prevent a factory from making a "compatible" substitution that costs you a board revision. For IoT module sourcing at production volumes, the specification document is the contract. Ambiguity in the spec becomes a negotiation problem after the goods are on the water.
The IoT modules page has more on ESP32-family sourcing including the SRRC certification requirements for RF products manufactured in China for export.
Top comments (0)