Dotar al circuito de condensadores más grandes es un buen comienzo. Para determinar la capacidad necesaria se necesita la energía utilizada durante el pico. Para ello se puede medir la tensión y la corriente en función del tiempo con un osciloscopio. La energía que el condensador tiene que proporcionar durante el pico es aproximadamente \$W_S \approx \int_{t_{s0}}^{t_{s1}}u(t)(i(t)-I_{USB,max}) dt\$
donde \$I_{USB,max}\$ es la corriente que puede suministrar el puerto USB. La energía de un condensador es
\$W= \frac{1}{2}C\cdot V_{USB}^2 \$ y el condensador necesita mantener al menos la tensión \$V_\mu\$ necesario para alimentar el microcontrolador. Así, la energía mínima en el condensador es \$W_\mu=\frac{1}{2}\cdot V_{\mu}^2\cdot C\$ . Por consiguiente, tenemos \$ W = W_s + W_\mu \$ que se resuelve con una capacidad mínima de \$C=2\frac{\int_{t_{s0}}^{t_{s1}}u(t)(i(t)-I_{USB,max}) dt}{V_{USB}^2-V_{\mu}^2}\$ Otra posibilidad es poner un condensador muy grande en paralelo con la alimentación. Mida la corriente a lo largo del tiempo durante el pico. La capacidad mínima sería entonces \$C= \frac{(\overline{I}-I_{USB,max})\cdot T}{V_{USB}}\$ donde \$\overline{I}\$ es la media aritmética de la corriente volada durante el pico.
Si esos picos de corriente se deben a la conmutación de los LED y el tiempo de conmutación no es crítico (por ejemplo, no hay transmisión óptica de datos), puedes añadir una inductancia en serie a los LED. Si el tamaño es lo suficientemente grande en comparación con la energía necesaria y la duración de los picos, el pico se igualará en un intervalo de tiempo mayor, lo que reducirá el tamaño del condensador necesario utilizando la corriente suministrada a través del USB. Esto no es recomendable para la comunicación inalámbrica de tiempo crítico.
Edición: Después de un pico también tiene que haber tiempo suficiente hasta el siguiente pico en el que el condensador se pueda recargar, lo que depende de \$I_{USB,max}\$ .