ESP32-WROOM-32D detected as single core variant while datasheet says it's dual core

I’m flashing ESPHome on a Xiaomi Desk lamp 1S with ESP32-WROOM-32D inside. The process is successful using the official YAML which has CONFIG_FREERTOS_UNICORE

esp32:
  board: esp32doit-devkit-v1
  framework:
    type: esp-idf
    sdkconfig_options:
      CONFIG_FREERTOS_UNICORE: y
    advanced:
      ignore_efuse_mac_crc: true
      # See https://github.com/esphome/issues/issues/6333
      ignore_efuse_custom_mac: true

I did an experiment without this option, and the error from series port is like:

[16:06:33]E (506) cpu_start: Running on single core variant of a chip, but app is built with multi-core support.
[16:06:33]E (511) cpu_start: Check that CONFIG_FREERTOS_UNICORE is enabled in menuconfig

However, according to the chip datasheet, ESP32-WROOM-32D should be a dual core MCU. May I ask why it was detected as single core? Thanks!

This is based on pulling it apart? There are a couple of older ESP32 single core variants - prior to the release of the C3.

Hmm a bit of googling shows this happening with a few of the Xioami lamps - must be something weird with the chips they use.

Maybe they got a stock of cheap ESP32-S0WD chips…

1 Like

That’s possible. I’m having the exact board and chip as in this Github repo. GitHub - xoste49/MJTD01SYL: Xiaomi Mi LED Desk Lamp 1S (MJTD01SYL) Reverse engineering and firmware Tasmota

The Espressif doc is a little confusing for not mentioning any other possible core for ESP32-WROOM-32D at all.

Xiaomi change chips at will without telling anybody. Have you opened the device and read the top of the chip?

The firmware you are loading is not “official”. It is from a user contributed database of configurations that other people have used successfully and then contributed. Nothing more, nothing less.

1 Like