So apart from tonight bench work being rather disappointing in that everything worked first time, I have a conundrum.
I'm using an ESP32 to run some WS2812 LEDs. 144 of them in fact. The WS2812 run on 5V and take a 5V signal of around 1Mhz. The ESP32 however is a 3.3V device.
Having read a bit about this, I bought a 74 series TTL bus transceiver which has a suitably low logic trigger voltage and emits Vcc. Running it on 5V and feeding the 3.3V signal into it and 5V signal comes out, and it's fast enough to level shift the 1Mhz.
So when I wired this up, it all worked, annoying the LEDs worked with the 3.3V signal, but that might not be reliable. First time I wired up the bus transciever on the breadboard and it also worked. Checked with a handheld scope and could see rougly 3.3V going in and 5V coming out.
The conundrum is in powering the ESP32. It will run from USB 5V of course and has a 3.3V regulator. It also has a Vin pin. Here's the catch. The Vin pin takes 7-20V. Giving it 5V and the device does not start. How dumb is that? Why not just put a pin on the USB power and allow it to run from 5V?
So either there is a 5V pin I'm missing or I'll have to use a boost converter to get 7+ volts or... I hack the board... or I use a USB plug to power it.
It's intended to be hidden inside an IKEA floor lamp with the LEDs running up the middle. I have a beefy 10A 5V brick to power it. The LEDs claim 60mA max each, so that's around 8Amps, but I have yet to provoke them to pull more that 5Amps.