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.
- DOIT ESPC2-05 module with ESP8684H2 (ESP32-C2 v1.0); 26 MHz crystal. [Elektroda, divadiow, post #21634234]
- SPI flash 2 MB, DIO mode at 60 MHz; two ~960 KB OTA slots. [Elektroda, divadiow, post #21634234]
- Five PWM channels on GPIO 3–7 drive RGBCW outputs. [Elektroda, divadiow, post #21634234]
- Stock firmware: CozyLife SDK 0.6.0, HomeKit HAP active (Setup ID KIFP). [Elektroda, divadiow, post #21634234]
- AliExpress listing can be region‑restricted and bounce to 404. [Elektroda, p.kaczmarek2, post #21634525]
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?
- Hold IO9 to GND and power the bulb to enter bootloader; confirm ESP32‑C2 v1.0.
- Back up the full 2 MB: esptool --chip esp32c2 read_flash 0x000000 0x200000 dump.bin.
- 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]
Comments
Link to ali does not work, 404 [Read more]
works for me. try searching for product code 1005006367930047 in your Ali [Read more]
@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]
toasty. this is with powersave 1 https://obrazki.elektroda.pl/8250514200_1755177816_thumb.jpg [Read more]