Yet another LED board project… My 1st attempt failed, working on 2nd… Does this BSS138 based logic level shifter schematic and layout look okay to you? Trying to boost data signal from QTPY ESP32 to first WS2812B RGB LED. Maybe shifter isn’t required for such a tiny project? Am trying to minimize failure risk. This is my 1st custom PCB design, my goal is to learn and have fun, so any feedback/suggestions are appreciated.
Currently using [BSS138AKDW\-TP MCC\(Micro Commercial Components\) \| C779245 \- LCSC Electronics](https://lcsc.com/product-detail/MOSFETs_MCC-Micro-Commercial-Components-BSS138AKDW-TP_C779245.html). Came up with my schematic based on info mostly from Adafruit learning docs/discord, [https://www.digikey.com/en/blog/logic-level-shifting-basics](https://www.digikey.com/en/blog/logic-level-shifting-basics) and the YouTube rabbit hole. Didn’t realize EasyEDA forum existed until recently.
![schematic](https://canada1.discourse-cdn.com/free1/uploads/wled/original/2X/a/a6f092e4399227256780d06742ad48242146be45.png)
![schematic.2](https://canada1.discourse-cdn.com/free1/uploads/wled/original/2X/7/7a563a50200443e98384dfde695b4c15b427cdc5.png)
![layout.v1](https://canada1.discourse-cdn.com/free1/uploads/wled/optimized/2X/8/880868040f12c9621eb07fa10b62cdf76fc5a957_2_497x500.png)
![layout.v2](https://canada1.discourse-cdn.com/free1/uploads/wled/optimized/2X/8/86210c36ae455fbcb314ffe3875baea80b6d2d0e_2_538x500.png)
Can just about visualize ~3V3 data signal on my cheapo DSO138 scope, but am unable to reliably visualize boosted ~5V signal with enough clarity to inspire confidence that the level shifter fragment of the circuit is good enough for ‘neopixel’ frequencies. Not sure if scope and/or BSS138 and/or me are the issue. I did temporarily hack code to set pin constantly high, this helped verify ~3v is boosted to ~5V. However success at constant 0hz doesn’t mean the circuit works at neopixel frequencies. Mentioning this, because am seeing misc interweb info saying BSS138 are only good up to 2mhz(?). Currently using 10K pull-up, anyone think lower value e.g. 2.2K would be better and help with working well at the 800khz that WS2812B use?
![inspecting_fail](https://canada1.discourse-cdn.com/free1/uploads/wled/optimized/2X/5/529e025c9c935ff33e454126d840bb7fa15b8959_2_690x403.jpeg)
My 1st batch of boards failed/partially-fail various reasons. Found and fixed several problems as I work on 2nd version, for example:
* Used WorldSemi WS2812B-mini 3535 RGB, the LEDs fail in various spots. Would use SK2812 (seem to be more reliable?) but no stock for size I want. Might use jlcpcb’s global part sourcing option.
* Larger traces, 0.4mm or larger (was 0.254mm).
* Larger clearances for traces and copper fills, so less antenna GND copper fill in tiny nooks.
* Removed VIAs under LEDs, my poor attempt at thermal management.
* Made board larger, so parts are >=2mm from board edge (was just 1mm). In addition to my design issues, am concerned LEDs are being damaged during jlcpcb SMT assembly, or panel cutting.
* Increasingly leaning towards using 5050, feels like assembly will be easier and more reliable.
* Currently drooling over Amzn’s top selling scope ($400!), but trying to find something good enough and much much cheaper. Suggestions appreciated!
Thanks for reading, articulating a problem can be cathartic if nothing else :-)
Chrome
106.0.0.0
Windows
10