logo elektroda
logo elektroda
X
logo elektroda

Aiyato E14 CozyLife Homekit RGBCW LED Bulb Cloud-Free: ESP8684H2, DOIT ESPC2-05, OpenESP32C2

divadiow  4 750 Cool? (+4)
📢 Listen (AI):

TL;DR

  • Aiyato E14 CozyLife HomeKit RGBCW LED bulb uses a C37 HomeKit module built around an ESP8684H2 on a DOIT ESPC2-05 board.
  • The module was de-canned to confirm the chip, then probed through TX0 at 74880 baud and with IO9 low for esptool chip info.
  • The bulb carries 2 MB flash, and a flash backup was loaded into OpenESP32C2 for testing.
  • Like other Aiyato/CozyLife ESP devices, it has no flash encryption or secure boot, and GPIO PWM channels were quickly identified.
Generated by the language model.
Quick look at an Aiyato CozyLife Homekit bulb I bought in November 2024 and forgot about. https://www.aliexpress.com/item/1005006367930047.html

Aiyato CozyLife RGB+CW E14 LED bulb with WiFi control and HomeKit support

Aiyato SMART Candle Light box with colorful bulb image and QR codes Side of Aiyato CozyLife bulb box with specs and feature icons visible. White box for Aiyato VA1005-1 LED bulb with barcode and pairing instructions. Side of CozyLife bulb packaging with manufacturer data and CE markings

AIYATO E14 5W RGB+2700~6500K bulb with technical specs printed on casing Candle-style E14 LED bulb with QR code on white body, placed on textured carpet Disassembled C37 Homekit module and round LED board with SMD components LED light bulb PCB with labeled parts A1–A5 and surface-mounted components RGBCW LED PCB with labeled connection pins and surface LEDs on blue surface LED bulb circuit board with BP2516F chip, capacitors, coil, and surface-mounted components Close-up of LED bulb power module with capacitors, inductor, and SMD components Close-up of PCB from a smart bulb showing BP2516F chip, coil and capacitors

C37 homekit module - I had to de-can it to check the chip. Couldn't see much about it Googling - ESP8684H2

Top view of ESP8684 module on LED bulb PCB

It's a DOIT (Doctors of Intelligence & Technology) ESPC2-05 module (datasheet attached)

Pinout diagram of ESPC2-05 module with labeled functions and antenna area

TX0 log at 74880 baud:

Code: Text
Log in, to see the code


With IO9 low:

esptool chip info
Code: Text
Log in, to see the code


like other Aiyato/CozyLife ESP devices, this is not flash encrypted or secure boot enabled

Code: Text
Log in, to see the code


flash backup
Code: Text
Log in, to see the code


flash 2mb ESP32-C2 OpenESP32C2
Code: Text
Log in, to see the code


OpenESP32C2 initial boot
Code: Text
Log in, to see the code


And with GPIO Dr PWM channels are quickly identified

Code: JSON
Log in, to see the code


Web GUI for OpenESP32C2 with LED control sliders and device diagnostic info
Attachments:
  • ESPC2-05_User_Manual.pdf (1.54 MB) You must be logged in to download this attachment.

About Author
divadiow
divadiow wrote 4839 posts with rating 852 , helped 420 times. Live in city Bristol. Been with us since 2023 year.

Comments

jarekgol 13 Aug 2025 23:35

Link to ali does not work, 404 [Read more]

divadiow 14 Aug 2025 08:00

works for me. try searching for product code 1005006367930047 in your Ali [Read more]

p.kaczmarek2 14 Aug 2025 09:14

@divadiow thank you for interesting presentation, so, ESP32 was not encrypted, since it's not a Matter device? Nice. Does it get hot quickly when on full brightness? @jarekgol Link to product, when... [Read more]

divadiow 14 Aug 2025 15:23

toasty. this is with powersave 1 https://obrazki.elektroda.pl/8250514200_1755177816_thumb.jpg [Read more]

FAQ

TL;DR: Aiyato CozyLife E14 HomeKit bulb runs ESP32‑C2 with 5 PWM channels; "not flash encrypted or secure boot enabled". Backup 2 MB, then flash OpenESP32C2 for cloud‑free control. [Elektroda, divadiow, post #21634234]

Why it matters: It shows how to get local, private control of a HomeKit RGBCW bulb using open firmware.

Quick Facts

What chip and module are inside the Aiyato CozyLife E14 bulb?

The bulb uses a DOIT ESPC2‑05 Wi‑Fi module. Its SoC is an Espressif ESP8684H2, reported as ESP32‑C2 revision v1.0. The crystal is 26 MHz, per esptool output. The PCB appears as a C37 HomeKit module in the teardown. [Elektroda, divadiow, post #21634234]

Is the stock firmware locked or encrypted?

No. Security flags are zero with secure boot and flash encryption disabled. esptool get_security_info confirms both are off. As noted: "not flash encrypted or secure boot enabled". This simplifies backup and migration to OpenESP32C2. [Elektroda, divadiow, post #21634234]

How do I flash OpenESP32C2 on this bulb safely?

  1. Hold IO9 to GND and power the bulb to enter bootloader; confirm ESP32‑C2 v1.0.
  2. Back up the full 2 MB: esptool --chip esp32c2 read_flash 0x000000 0x200000 dump.bin.
  3. Write the 2 MB factory OpenESP32C2 image at 0x0000 (e.g., 460800 baud), then reboot. [Elektroda, divadiow, post #21634234]

What PWM pins control RGBCW channels?

GPIOs 3, 4, 5, 6, and 7 are PWM channels 1–5. They map to RGB plus Cold and Warm White. The shared JSON shows five PWM entries for pins 3–7. This matches typical RGBCW control. [Elektroda, divadiow, post #21634234]

Does it support Apple HomeKit natively?

Yes. Stock firmware initializes HAP and advertises _hap._tcp via mDNS. Setup ID is KIFP, and the accessory is unpaired. CozyLife SDK version is 0.6.0 with firmware 1.0.3. Logs show HomeKit web handlers registering. [Elektroda, divadiow, post #21634234]

What flash size and SPI settings does the hardware use?

Boot logs report 2 MB SPI flash. The flash runs DIO mode at 60 MHz. The partition table shows two ~960 KB OTA app slots. An LFS partition sits at 0x1F0000 with 64 KB length. [Elektroda, divadiow, post #21634234]

Why does the AliExpress product link show 404 or "not available in your country"?

AliExpress can region‑restrict listings. From a Polish IP, the page loads, shows an availability note, then redirects to 404. This indicates country blocking, not a removed product. Switch region or find another seller. [Elektroda, p.kaczmarek2, post #21634525]

How can I find the product if the link breaks?

Search AliExpress by its numeric product code. Use 1005006367930047 in the site’s search field. This works when direct URLs fail or are geo‑blocked. The author confirmed this approach. [Elektroda, divadiow, post #21634475]

How do I confirm the SoC with esptool?

Enter bootloader, then run esptool chip_info. It should report ESP32‑C2 revision v1.0. Features show Wi‑Fi and BLE with a 26 MHz crystal. This matches the ESP8684H2 on the module. [Elektroda, divadiow, post #21634234]

What should I expect on first boot of OpenESP32C2?

You will see "lfs is absent" and defaults loading. The device starts an AP at 192.168.4.1 with DHCP. Wi‑Fi may run full RF calibration if data is missing. Logs note saving new calibration data after checksum failure. [Elektroda, divadiow, post #21634234]

Will the bulb run hot at full brightness?

The thread includes no thermal readings. Run it at 100% for 10–15 minutes and check temperature. Use an IR thermometer or careful touch. Avoid enclosed fixtures if it feels very warm. Document results if you plan continuous full‑power use. [Elektroda, divadiow, post #21634234]

Is control cloud‑free after flashing OpenESP32C2?

Yes. OpenESP32C2 boots without CozyLife cloud services. It exposes an AP and local HTTP server. MQTT handlers register on boot for local automation. Configure Wi‑Fi and MQTT to keep control offline. [Elektroda, divadiow, post #21634234]

Which LED driver IC does this bulb use?

The PCB lists a BP2516F LED driver. The teardown photos and shared JSON mention BP2516F. This driver pairs with ESPC2‑05 to regulate RGBCW output. It supports the five PWM channels used. [Elektroda, divadiow, post #21634234]

Which GPIO puts ESP32‑C2 into bootloader for flashing?

Pull IO9 low during power‑on to enter the ROM bootloader. The author captured esptool output with IO9 held low. Use this strap to read or write flash. Release IO9 and power‑cycle to run firmware. [Elektroda, divadiow, post #21634234]
Generated by the language model.
%}