Driving RGB Leds from ESP8266
To control your LED brightness, you should pulse-width (PWM) modulate your LEDs at a rate faster than the human eye can see. Modern MCUs often have built-in PWM circuits. If not, they will always have timers, and you can use timers and interrupts to do it with minimal software.

https://randomnerdtutorials.com/esp8266-pwm-arduino-ide/

Many different sizes of power adapters are available from amazon, add some margin, don't run near their limit. I would use 1A minimum.