STM32 vs Arduino: Why Does Your LED Always Fail to Light Up? In recent IoT projects, I have used various mainstream development boards and found differences in the drive levels of their onboard LEDs. This is documented for reference. For example, the onboard LEDs of Arduino Nano (D13), Arduino Uno (D13), and ESP32 (D2) are lit by a high level; while the ESP32, ESP8266, and STM32 (PC13) require a low level to light up. This phenomenon may be related to hardware design and is not a commonality across all models, so special attention should be paid during actual development. Every line of code is a relay baton of technical inheritance!
The onboard LED requires a high level to light up and indicates the LED position.

Arduino Nano
Arduino Uno
ESP32
The onboard LED requires a low level to light up and indicates the LED position.
STM32 Core Board 
ESP8266
ESP8266 and ESP32 in Arduino IDE Device Options

ESP8266

ESP32
Your support is the greatest motivation for my continued creation. If you find the content helpful, please like and share. Thank you for your companionship along the way!