I’m trying to use an ESP8266 to control a fairy light string via a relay. The lights look like this, with 40 tiny LEDs that seem to be wired in parallel. I don't see a resistor along the wire anywhere.
I would like to be able to power the lights off the ESP board so I can rely on the integrated USB power port. The development board I'm using is an ESP-12F which has both 3.3v and 5v pins.
There is a battery and timer box included with the lights that runs off 4.5v worth of AA batteries. Measuring the voltage at the contacts where the light string connects to the timer PCB, I see 2.7-2.8v. I can't find a data sheet to get the exact 𝑉𝑓. I'm opting to use the ESP's 3.3v pin to hopefully waste less energy as heat since it's closer to the LEDs' required voltage.
My first thought was to build a voltage divider with two resistors, and measuring the voltage across the second resistor was exactly 2.8v as expected. But powering the light string from that is so dim it’s basically unusable. When I connect it directly to 3v3 and GND pins, it's perfectly bright, so it seems microcontroller has the current to power it. I wouldn't want to power it this way for long though to not shorten their lifespan.
I recently learned that voltage dividers don’t really work for LEDs because their intensity is current-driven. How do I properly change the 3.3v supply voltage down to 2.8v that I can safely give to the light string, without dimming them? The original power source supplies only 2.8v with full brightness so I know it’s possible somehow.