A couple of things went wrong on the first PCB. Firstly, the fab I used did not support V-grooves, which meant that instead of being able to mount the BBC MicroBit vertically by snapping off the top section of the PCB, it had to mount horizontally. Secondly, I needed to include level translation so that the MicroBit (which operates at 3.3V) could talk to the LEDs (which operate at 5V).
For level translation I used the 74LVC1T45 from Diodes Incorporated which is a single channel level converter in a tiny SOT563 package which is, as usual, unnecessarily small.
Vcc(A) was connected to 3.3V and Vcc(B) was connected to 5V. DIR was connected to 3.3V so that pin A was an the 3.3V input for the data from the MicroBit and pin B was the 5V output to the LEDs. The data sheet did not specify bypass caps but I added one to each of the 5V and 3.3V rails just to be safe.
PCB Bring Up
When I first was bringing up the board, it worked as expected – all of the issues with level translation went away… until the level translator chips started blowing up. Every time I replaced the level translator, it worked fine at first until I turned off the power to the LED strip via the MOSFET. Probing the 5V rail showed large 16V+ spikes during turn off. I suspect the cause for this was the large inductance on the 5V rail due to the long LED strips. This was fixed by adding a large 10uF cap on the 5V rail, making use of the capacitor footprints I put on the PCB for the level translator bypass caps.
3D Printed Enclosure
I wanted to mount this board on the skirting around the ceiling of my bedroom so I 3D printed a small “enclosure” to put it in (it was not fully enclosed).
To control the lights I had a second MicroBit on my desk that communicated over RF. For this I printed a MicroBit case which I found on the internet
As usual, all designs can be found on my GitHub.