The D1 Mini and Seeed XIAO ESP32-C6 are both compact Wi-Fi development boards, but they belong to very different generations. The D1 Mini is the mature ESP8266 classic: cheap, simple, extremely well documented and still excellent for basic Wi-Fi sensors and relays. The XIAO ESP32-C6 is considerably smaller while adding Bluetooth LE, Wi-Fi 6, Thread, Zigbee, native USB, battery charging and a low-power RISC-V core.
If you are starting a completely new IoT or Home Assistant project in 2026, the XIAO ESP32-C6 is the stronger board for most applications. The D1 Mini still makes sense when you already own ESP8266 hardware, use D1 Mini shields, need maximum compatibility with older ESP8266 projects, or simply want the cheapest possible Wi-Fi-only controller.
This comparison uses the current official LOLIN D1 Mini V4.0.0 rather than assuming every marketplace clone is identical. Older D1 Mini boards often use Micro-USB, while the current LOLIN board has USB-C.
D1 Mini vs XIAO ESP32-C6 at a Glance
| Feature | LOLIN D1 Mini | Seeed XIAO ESP32-C6 |
|---|---|---|
| MCU | ESP8266EX | ESP32-C6 |
| CPU | 32-bit Tensilica L106, 80/160 MHz | 32-bit RISC-V HP core up to 160 MHz + LP core up to 20 MHz |
| RAM | ~80 KB class available SRAM | 512 KB SRAM |
| Flash | 4 MB | 4 MB |
| Wi-Fi | 2.4 GHz 802.11 b/g/n | 2.4 GHz Wi-Fi 6 / 802.11ax |
| Bluetooth | No | Bluetooth LE |
| Thread / Zigbee | No | Yes, IEEE 802.15.4 |
| Main exposed digital I/O | 11 including UART pins; several boot-sensitive | 11 D0-D10 header GPIOs |
| ADC | 1 x A0 | 7 ADC-capable chip pins; 3 on main D0-D2 header |
| USB | USB-C to USB-serial bridge on current V4 | Native USB Serial/JTAG over USB-C |
| Battery charging | No onboard charger | Yes, single-cell Li-ion/LiPo |
| Published board deep sleep | Highly board/regulator dependent | ~15 uA in Seeed’s 3.8 V test |
| Size | 34.2 x 25.6 mm | 21 x 17.8 mm |
| ESPHome | Mature ESP8266 support | Current ESP32-C6 support via ESP-IDF |
| Best reason to choose | Legacy simplicity, price, shields | Modern compact IoT and smart-home projects |
The Size Difference Is Bigger Than It Looks
The current D1 Mini measures approximately 34.2 x 25.6 mm. The XIAO ESP32-C6 measures only 21 x 17.8 mm.
In PCB area, the XIAO is roughly 57% smaller. That matters inside wall switches, small sensor enclosures, battery-powered nodes, wearables, custom PCBs and retrofit devices where every millimetre matters.
The trade-off is mechanical convenience. The D1 Mini’s wider board and familiar dual headers are easier for breadboard work and have a large ecosystem of plug-on shields. XIAO’s castellated 2.54 mm side pads are excellent for compact products but feel more cramped during experimentation.
CPU and Memory: C6 Is a Major Step Forward
The D1 Mini’s ESP8266 can run at 80 or 160 MHz and remains more than fast enough for simple sensor, relay, MQTT and web-server projects.
The ESP32-C6 also tops out at 160 MHz, so comparing clock speed alone makes the two boards look deceptively similar. The architecture is very different. The C6 uses a newer 32-bit RISC-V high-performance core, adds a low-power RISC-V core, has around 512 KB SRAM rather than the much tighter ESP8266 memory environment, and includes a far richer peripheral set.
Both boards commonly provide 4 MB flash, so the biggest practical upgrade is not storage capacity but RAM, wireless capability and peripherals.
Wireless: This Is Where the Generations Separate
The D1 Mini provides 2.4 GHz 802.11 b/g/n Wi-Fi. That is enough for ESPHome, MQTT, HTTP, Arduino IoT projects and most conventional Home Assistant devices.
The XIAO ESP32-C6 adds 2.4 GHz Wi-Fi 6, Bluetooth Low Energy and an IEEE 802.15.4 radio for Thread and Zigbee.
That makes the C6 suitable for projects the ESP8266 simply cannot do natively: BLE sensors, Bluetooth interaction, Thread endpoints, Zigbee devices and Matter-over-Thread development.
If the project requirement contains Bluetooth, Zigbee or Thread, the comparison ends immediately: choose the C6.
For more detail on the newer radio stack, see our Best ESP32 for Matter, Thread & Zigbee guide.
Neither Board Has 5 GHz Wi-Fi
The phrase “Wi-Fi 6” sometimes causes confusion. ESP32-C6 supports Wi-Fi 6 features in the 2.4 GHz band. It does not support 5 GHz Wi-Fi.
For most IoT devices, 2.4 GHz remains useful because it offers good range and wide access-point compatibility. If you specifically need an ESP32 with 5 GHz support, look at ESP32-C5 rather than C6.
GPIO: Similar Header Count, Very Different Capability
At first glance both boards expose roughly the same number of header GPIOs. That does not mean they are equally flexible.
D1 Mini pin map
| D1 Mini label | ESP8266 GPIO | Important note |
|---|---|---|
| D0 | GPIO16 | Special deep-sleep wake pin; fewer peripheral capabilities |
| D1 | GPIO5 | Common I2C SCL |
| D2 | GPIO4 | Common I2C SDA |
| D3 | GPIO0 | Boot strap; must be HIGH for normal boot |
| D4 | GPIO2 | Boot strap; must be HIGH for normal boot |
| D5 | GPIO14 | SPI SCK |
| D6 | GPIO12 | SPI MISO |
| D7 | GPIO13 | SPI MOSI |
| D8 | GPIO15 | Boot strap; must be LOW for normal boot |
| RX | GPIO3 | UART RX |
| TX | GPIO1 | UART TX / boot logging |
The D1 Mini therefore has several useful pins, but D3, D4 and D8 have boot-state requirements, TX/RX are normally used for serial, and D0 has special limitations.
Our Wemos D1 Mini Pinout + Safe GPIOs guide covers these restrictions in detail.
XIAO ESP32-C6 main pin map
| XIAO label | ESP32-C6 GPIO | Default role |
|---|---|---|
| D0 | GPIO0 | ADC / GPIO / low-power GPIO |
| D1 | GPIO1 | ADC / GPIO / low-power GPIO |
| D2 | GPIO2 | ADC / GPIO / low-power GPIO |
| D3 | GPIO21 | Digital GPIO |
| D4 | GPIO22 | I2C SDA |
| D5 | GPIO23 | I2C SCL |
| D6 | GPIO16 | UART TX |
| D7 | GPIO17 | UART RX |
| D8 | GPIO19 | SPI SCK |
| D9 | GPIO20 | SPI MISO |
| D10 | GPIO18 | SPI MOSI |
Seeed also exposes additional JTAG/test pads underneath the board. Some C6 GPIOs are consumed internally for the antenna switch, boot button and onboard LED, so the complete chip GPIO count should not be confused with the number of convenient XIAO header pins.
See our Seeed XIAO ESP32-C6 Pinout, Battery Power and ESPHome guide for the board-specific details.
Analogue Inputs: XIAO Wins Easily
The current official D1 Mini provides one analogue input, A0. LOLIN specifies a maximum board-level input of approximately 3.2 V on the current V4 board.
The ESP32-C6 has seven ADC-capable channels at chip level. On the XIAO’s normal side headers, D0, D1 and D2 are the most convenient analogue inputs, with additional ADC-capable pins available on underside pads.
If your project needs several analogue sensors, potentiometers or battery-voltage channels, the XIAO is much easier to design around.
USB: Both Use USB-C Now, but They Are Not the Same
The current LOLIN D1 Mini V4 uses USB-C, but the ESP8266 itself does not have native USB. The board uses a USB-to-serial bridge for programming and serial communication.
The XIAO ESP32-C6 connects its USB-C port to the C6’s built-in USB Serial/JTAG interface. That gives it native flashing, serial console and JTAG capability without a separate USB-UART bridge.
For ordinary Arduino uploads both feel similarly easy. The difference becomes more useful when debugging, reducing board size or designing a custom C6 PCB.
Do not confuse the C6 USB Serial/JTAG peripheral with the more flexible USB-OTG controller found on ESP32-S3. If you need arbitrary USB HID, MIDI or mass-storage device projects, the S3 is a better fit.
Battery Power: XIAO Is Designed for It
The D1 Mini can absolutely run from a battery, but the board does not include a complete Li-ion/LiPo charging solution. You normally need an external charger and potentially a more efficient regulator/power arrangement if long runtime matters.
The XIAO ESP32-C6 has dedicated pads for a rechargeable 3.7 V lithium cell and onboard battery-management/charging hardware. Plugging USB-C into the board can recharge the attached cell.
One important Seeed-specific detail: when the XIAO is running only from the battery, the 5 V pin is not powered. Sensors that depend on VBUS/5 V therefore need a different supply strategy.
For a compact rechargeable sensor node, the XIAO’s integrated battery path is a major practical advantage.
Deep Sleep
The ESP8266 supports deep sleep, but on a D1 Mini the classic timer wake arrangement requires connecting:
D0 / GPIO16 -> RST
When the RTC timer expires, GPIO16 pulses the reset line and reboots the ESP8266.
Actual D1 Mini board sleep current varies significantly with board revision, USB bridge and regulator. The ESP8266 chip can sleep efficiently, but a generic D1 Mini development board is not automatically an ultra-low-current battery design.
Seeed publishes approximately 15 uA deep-sleep board consumption for the XIAO ESP32-C6 under its 3.8 V test condition. The C6 also has a dedicated low-power core and wake-capable low-power GPIOs; GPIO0-GPIO7 can participate in low-power wake functions, with D0-D2 conveniently exposed on the XIAO side header.
Real project sleep current also includes sensors, pull-ups and external modules, so 15 uA should be treated as a board baseline, not a guarantee for the finished device.
ESPHome: D1 Mini Is Older but Still Very Well Supported
The ESP8266 remains a mature ESPHome platform. A basic D1 Mini configuration is:
esphome:
name: d1-mini-node
esp8266:
board: d1_mini
logger:
api:
ota:
- platform: esphome
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ESPHome still supports ESP8266 and explicitly states that existing ESP8266 devices that work well do not need to be replaced. The limitation is future capability rather than immediate support.
ESPHome also notes that ESP8266 does not meet the newer Made for ESPHome hardware requirements. Modern ESP32 variants offer more memory and peripherals, which gives complex projects much more headroom.
ESPHome on XIAO ESP32-C6
Current ESPHome recommends selecting newer ESP32 chips by variant. For C6:
esphome:
name: xiao-c6-node
esp32:
variant: esp32c6
framework:
type: esp-idf
logger:
api:
ota:
- platform: esphome
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ESPHome currently requires ESP-IDF for ESP32-C6. That is different from using the board in Arduino IDE, where the Espressif Arduino core supports C6 development normally.
The C6 also opens ESPHome features that an ESP8266 cannot provide, including current OpenThread and Zigbee support.
Arduino IDE: Both Are Easy
The D1 Mini has one of the longest-established Arduino workflows in the Wi-Fi microcontroller world. Install the ESP8266 Arduino core, select the D1 Mini board and upload through the USB serial bridge.
The XIAO C6 uses the current Espressif Arduino-ESP32 core. Seeed’s documentation provides a board-specific pin map and examples for Wi-Fi, BLE, battery use and antenna switching.
For a simple GPIO sketch the development experience is not dramatically different. The difference appears as the project grows: C6 gives you much more RAM, additional peripherals and modern radios before you need to change platforms.
D1 Mini Shields Are Still a Real Advantage
The D1 Mini has a mature stackable shield ecosystem built around its dual-row footprint. Depending on supplier, you can find shields for relays, OLED displays, battery interfaces, motor drivers, environmental sensors and prototyping.
If you already own a box of D1 Mini shields, replacing the controller with XIAO means rewiring or creating an adapter PCB. For workshop experimentation, that ecosystem still has value.
XIAO has its own expansion ecosystem, but it is mechanically different and aimed more strongly at ultra-compact modules and Seeed’s Grove/XIAO ecosystem.
D1 Mini Boot Pins Need More Care
The ESP8266 samples GPIO0, GPIO2 and GPIO15 during reset. On D1 Mini these correspond to D3, D4 and D8:
D3 / GPIO0 -> HIGH for normal boot
D4 / GPIO2 -> HIGH for normal boot
D8 / GPIO15 -> LOW for normal boot
A relay, transistor or sensor that forces one of those pins into the wrong state can make the board appear dead after installation.
The C6 also has strapping and board-reserved pins, but the XIAO’s D0-D10 header is generally easier to use without inheriting the ESP8266’s familiar three-pin boot dance.
Which Is Better for Home Assistant?
For a simple mains-powered ESPHome temperature sensor, relay or contact sensor, both boards work well.
The D1 Mini remains perfectly capable of Wi-Fi temperature/humidity nodes, relay controllers, door/window sensors, pulse counters, simple displays and MQTT sensors.
The XIAO C6 becomes the obvious choice when you need Bluetooth, Thread, Zigbee, rechargeable battery support, more analogue inputs, more RAM or a physically smaller enclosure.
Which Is Better for Battery Sensors?
XIAO ESP32-C6. Its onboard charging hardware, published low board-level sleep current and compact footprint make it the more natural battery platform.
A D1 Mini can be made into a good battery sensor, but doing it properly usually means adding a charger, checking regulator quiescent current, considering USB-bridge consumption and wiring GPIO16 to reset for timer wake.
In other words, the ESP8266 can sleep; the difference is that the XIAO board itself was designed with compact battery operation in mind.
Which Is Better for a Simple Relay?
This is one case where the D1 Mini still makes a very strong argument. A relay controller might need only Wi-Fi, one GPIO output, one button input and OTA updates.
The ESP8266 handles that without difficulty. If a D1 Mini costs less and Bluetooth/Thread/Zigbee offer no benefit, buying the C6 purely because it is newer may achieve nothing useful.
That is also why existing D1 Mini installations do not need replacement merely for platform age. ESPHome continues to support ESP8266 and mature Wi-Fi-only nodes can remain in service for years.
Which Is Better for New Custom Hardware?
For a new product or custom PCB, the C6 architecture is much easier to justify. It gives more protocol options and more memory without making the finished board larger.
However, if you are creating a custom production PCB, you would normally consider using the ESP32-C6 module directly rather than soldering a complete XIAO board onto every unit. XIAO is excellent for prototypes, small-volume products and modules where the pre-built compact board solves more problems than it creates.
Reasons to Still Buy a D1 Mini
- You already own D1 Mini shields.
- You are reproducing an existing ESP8266 project.
- The project needs only conventional 2.4 GHz Wi-Fi.
- Cost is the dominant requirement.
- You want enormous amounts of old project/library documentation.
- You already have stable ESPHome YAML for the board.
Reasons to Choose XIAO ESP32-C6
- Much smaller PCB.
- More RAM.
- Bluetooth LE.
- Thread and Zigbee.
- Wi-Fi 6.
- Native USB Serial/JTAG.
- Built-in lithium battery charging.
- More analogue capability.
- Low-power core and modern sleep/wake features.
- External antenna option.
D1 Mini vs XIAO C6: Practical Winners
| Use case | Better choice | Why |
|---|---|---|
| Cheapest simple Wi-Fi relay | D1 Mini | ESP8266 is already sufficient |
| Smallest finished device | XIAO C6 | Much smaller board |
| Battery sensor | XIAO C6 | Charging + low-power design |
| BLE project | XIAO C6 | D1 Mini has no Bluetooth |
| Zigbee / Thread | XIAO C6 | Integrated 802.15.4 radio |
| D1 Mini shield project | D1 Mini | Mechanical ecosystem compatibility |
| Multiple analogue sensors | XIAO C6 | More ADC channels |
| Existing ESP8266 code base | D1 Mini | Least migration effort |
| New ESPHome design | XIAO C6 | More memory and future protocol options |
| Learning legacy ESP8266 | D1 Mini | Huge documentation base |
Should You Replace Existing D1 Minis?
No – not simply because the ESP8266 is old.
If an existing D1 Mini reliably controls a relay, reads a sensor or publishes MQTT data, replacing it with a C6 brings little practical benefit. ESPHome explicitly says existing ESP8266 devices that are working well do not need to be replaced.
Upgrade when the project itself changes: you need BLE, extra ADC channels, better battery design, Thread/Zigbee, more memory or a substantially smaller board.
Which Should You Buy in 2026?
For a new project, buy the Seeed XIAO ESP32-C6 unless the D1 Mini solves a specific legacy or cost problem.
The D1 Mini remains a remarkably useful board. It is cheap, stable, easy to program and supported by years of ESP8266 examples. Nothing about the arrival of ESP32-C6 suddenly makes a working ESP8266 relay obsolete.
But the XIAO C6 gives you substantially more capability in a board that is actually smaller: BLE, Thread, Zigbee, Wi-Fi 6, native USB, battery charging, additional ADC capability and far more memory. That is a difficult combination for the older D1 Mini to beat when both are being considered for a new design.
Related Board Guides
- Wemos D1 Mini Pinout + Safe GPIOs – D-pin mapping, boot pins, deep sleep and current V4 details.
- ESP8266 Complete Guide & Cookbook – ESP-12, NodeMCU and D1 Mini reference.
- Seeed XIAO ESP32-C6 Pinout, Battery Power and ESPHome – GPIO, battery charging, USB and ESPHome setup.
- ESP32-C6 Boards, Modules & Versions Compared – XIAO, DevKitC, DevKitM and SuperMini options.
- Best ESP32 for Matter, Thread & Zigbee – when C6’s 802.15.4 radio matters.
Official Resources
- LOLIN D1 Mini official documentation – current V4 specifications, dimensions and pin information.
- Seeed Studio XIAO ESP32-C6 getting-started guide – specifications, battery use, deep sleep and pin map.
- ESPHome ESP8266 platform – current ESP8266 configuration and board support.
- ESPHome ESP32 platform – current ESP32-C6 variant and ESP-IDF support.