Calculate current requirements to prevent burning out your microcontroller.
The most common reason an Arduino or ESP32 project starts smoking is attempting to power too many NeoPixels directly from the microcontroller's 5V pin. While a microcontroller can provide the data signal for thousands of LEDs, its onboard voltage regulator can usually only provide enough power for about 10-15 LEDs at full brightness.
A standard 5V WS2812B NeoPixel contains three separate microscopic LEDs inside it: Red, Green, and Blue. When set to maximum brightness, each color draws about 20mA of current. Therefore, when a single pixel is set to display pure White (all three colors at max), it draws a total of 60mA (0.06 Amps).