Excellent critique Phil - thanks for that, I learned a great deal. And thanks Lukas for the submission - it is always very humbling these sorts of reviews but I believe it has helped many.
I always wanted to see this kind of video, as I want to learn something that every professional engineers naturally know, but not all hobby engineers know. Thank you for this precious contents.
For the 32 MHz crystal, the MCU probably has an integrated capacitor bank which he planned on using. It's becoming really common with newer microcontrollers.
That feature is great to hear about! Are the capacitors selected by programming fuses? To dial these in, I guess making use of the "clock out" pin would be a great help.
That makes sense! They (the caps) are not even drawn in the schematic of STM32WB reference design and I was investigating the reason until see this. Thanks
Again a great video Phil! These videos fill a very valuable role, in a world where ever more of us are working individually, and don't hang out at an office with the opportunity to look over colleagues' shoulders, or have informal incremental chats to resolve some of these more subtle details, or simply to become aware of them. Well done!
So much useful and practical to learn from this! It is great content to keep my engineering brain going while being on sick leave. Thanks again Phil :)
That’s great. Learnt quite a lot. Thanks for the video! For the trace where the width changes, the copper pour under the wider trace can be masked to maintain the impedance consistency.
Hey Phil, thank you very much for reviewing my design. I would like to mention a couple things. 1) The reverse polarity diode actually was a shotkey diode, so no problems with the ams1117. Also, the reference design does also not specify load caps for the crystal. I had no problems with it. Even probing the signal was no issue, because the drive strength on HSE is quite high. 2) I took the schematic symbol and parts of it from a reference design. I later realized, that it got pretty messed up. 3) The ws2812b actually works pretty well on 3.3v. I tested this thoroughly beforehand, but i guess it is not good practice to assume this. 4) The stm32wb55 actually have all the same pinout on the same packages, that's why, the exact model number does not matter too much. 5) I only fitted one of those 10n capacitors on the RF line, which is kind of a low cost RF switch. I would never fit both caps, due to the reasons you mentioned with the impedance. 6) Because of the small PCB size, I had trouble to get the layout done on S GND GND S stack up and because my design does not need to fullfil any EMI specs, I thought this would be fine. 7) Filling the top layer with GND was certainly a mistake. However, the Bluetooth performance is even better than on my evaluation boards. But that's probably due to a higher antenna gain and a filter, which is specifically designed for these MCUs. 8) You actually moved my parts, so the silkscreen got moved as well :D 9) These USB C sockets are a nightmare to route. I also did not find a 3d model, the SMD one was the best I could find. 10) The reset switch is on purpose that big. I wanted to be able, to easly reset my oven with a big button on the front panel, because I work with 230v and I didn't want a bug to mess things up. 11) Adding flyback diodes is important, added them later on the loads. Maybe, these points clarify some issues, which were not entirely clear by looking at the design. I am using this oven really often, and the controller works beautifully, even though I certainly missed critical points :)
Yeah! Some parts could have done it better (like the usb routing), thats how it is, but other aspects are a little too analytical on the review. Also, deadlines are another constraint in this kind of project! You cant spend a whole year finishing the schematic up to it most minor detail. Especially when you are the circuit, pcb, firmware and mechanical designer. Leave aside BOM management. Sometimes you just make mental notes and keep on working on another stuff or else project is going to be finished by 2080. Specially when you are workin on a open source project (ie: mostly non-paid work) I think you did a great job and the reviewer is being analitical in order to help others in their designs and share knowledge. I know you havent (and i wouldnt) take the review as a critique. Kudos to you for the job and Phill for the review! Good job both of you!
6:41 he might not have used a schottky diode symbol, but he has a part number, and that is a schottky diode part. The AMS1117-3.3 needs a Vin of 4.8V, which is a problem with a 0.55V forward voltage drop
Agreed on the diode. Regarding the AMS1117-3.3 Vin requirement, it looks to me like the Vin-Vout differential needed is more like 1.1 or 1.2V, based on not very high load current. So should operate off 4.5V (not accounting for the diode).
minimal dropout voltage is internal reference voltage + int amp offset + safe margin (which has to be non zero to even make sense of using LDO in the first place) + current based margin + tempco drift. So your 5v rail to give 3.3 linear outuput either has to be compensated for Vdrop (like 5.2V on USB chargers) or designed bang on with particular load level in mind. To use such a simple LDO that is.
Lots of great info on this review! Agree with the antenna config, you probably only intend to use either/or, but IMO it's unnecessary to use an RF switch unless; you have a spare GPIO, you are not board space confined, you can swallow the extra cost and the device use-case is to switch between internal and external antenna in operation (unlikely here). Instead, I'd recommend using either a 'shared pad' 0R pop option or a u.FL with an integrated switch in series with the RF trace.
I am In the process of reviewing a couple of my own MCU PCB. I am glad this video came when it did. I will be re-doing parts of the layout. I would moderate the suggestion to keep all of the MCU stuff on one page. Once the pin count gets high, I think it is practical to partition the pins based on functionality and put some of those functions on separate sheets. I found that idea to be nearly mandatory practice on a 144-pin MCU project. Perhaps do a hierarchy if it gets that complicated?
Thanks, Isaac! For larger MCUs/ICs - yes, I also split the schematic over several pages. But for something as small as this project, I'd keep the MCU stuff on one page.
Again a great video. I find the schematics symbol of Q1-Q5 rather interesting though. I've never seen that in KiCAD. I expect the arrow to point to the gate for an N-channel mosfet
@Phil's Lab Really helpful as always! Question: If you have a sig, gnd, gnd, sig stackup, is there a benefit to creating gnd fills on the top/bottom layer to surround critical low speed GPIO lines?
There are different grade AMS1117 out there I test quite a bunch of them some time ago... I'm sure there are some which work and some that won't for this design. The difference from one to another which I have seen is quite something.
Just about the WB2812 I have it working great in a board with Vdd = 3.3v according to the datasheet min is 3.5v but well it work with 3.3v too, for experience, with the Vi note that Vdd min can by 3.5v it means that you can have a high of 2.45v at least
I've been wanting to make a design with a Silabs RF microcontroller but put it off because I thought the RF part would be complicated. Thanks for this review showing may not be as hard as I thought. Also I've been using those WS2812's with 3v3 signals for a while, it may not be in spec but in my experience they work fine. A simple solution could be a diode in series to lower the VDD to around 4.3V allowing for a signal high voltage of 3V, the diode on the +5V input might already be enough for that. A 32MHz clock source is recommended for at least some of the STM32WB controllers and they have internal programmable capacitance.
Another option for the LED is to pull the data pin up to 5V and run the GPIO open drain, *assuming* the GPIO pin is 5V tolerant. That works on the STM32F401 for interface with a asynch serial device.
At 5:10, I can confirm that powering WS2812 LEDs at 5V, you can communicate at 3.3V from the microcontroller, but I think this is working at their bare limit even though I have never got any problem working with them
If there is a voltage drop due to the protection diode at the power supply 5v is really about 4.3v which puts the minimum signal here at about 3.01v, which is within tolerance.
I really liked the video and found it informative. If you think your video is too long, why not split it into parts? It also seems like you are rushing to keep your video short. I would love to hear more about the nuances in the aspects that you are reviewing in your video.
Hello Phill. I have a question, which is, should I make copper ground pour on the top and bottom layer of the 4-layer PCB? What is the benefit of both varieties?
Hey, I'd say in most cases it's harmless and can be useful to supress 'edge-fired emissions' and for general shielding. This is of course if the stitching is done properly (1/20th wavelength of f(max)).
Yep, and also accepts 3.3V input per spec as well. The connection in this design is fine with V5 LEDs, and it's quite possible he received V5 LEDs without knowing, so it works, but would be good to note it in the schematic
23:52 What’s the issue with bias being too close to pads? I always thought it was fine to have the via tangent to an SMD pad, or even to have the via drill tangent to the pad- lower impedance and all that. (obviously this design is not exactly space constrained. and usually I place vias on the same 0.5mm grid as components so this isn’t an issue. still curious though)
As Phil said it can cause solder leaking. If via is too close to pad it can "suck" solder during soldering process which can cause bad joint between pcb and smd part.
This is absolutely outstanding! Thank you for doing these, Phil.
Thank you very much for watching - glad you like the video!
Excellent critique Phil - thanks for that, I learned a great deal. And thanks Lukas for the submission - it is always very humbling these sorts of reviews but I believe it has helped many.
Thanks, Rube!
I'm doing a design with stm32wb55rg, and this was a pleasant surprise! I'm doing a marathon on your videos! great material
I always wanted to see this kind of video, as I want to learn something that every professional engineers naturally know, but not all hobby engineers know. Thank you for this precious contents.
Thanks for watching!
For the 32 MHz crystal, the MCU probably has an integrated capacitor bank which he planned on using. It's becoming really common with newer microcontrollers.
Ah that makes sense! I hadn't seen that in STM32s before, so that's pretty awesome.
Cool. I never heard of that. That's worth this month's internet fee.
That feature is great to hear about! Are the capacitors selected by programming fuses? To dial these in, I guess making use of the "clock out" pin would be a great help.
great timing to start introducing features that take up large areas of silicon real estate that is already pretty much at at gold value.
That makes sense! They (the caps) are not even drawn in the schematic of STM32WB reference design and I was investigating the reason until see this. Thanks
Thank you both! The creator for making enough mistakes to allow Phil to make such an interesting video! Really cool!
More RF content please! Great job Phill 👌
More to come! Thank you :)
These are an amazing way of learning tips you might not encounter in every design. I love these videos.
Thank you, Daniel!
Thanks much for this review. Content like this is what i need to take my hobby to the next level.
One of my favorite series, I love watching and learning them. Thank you so much!
Thank you - glad to hear that :) Design review videos should be coming once per month.
@@PhilsLab That's awesome!! Looking forward to them!!
This was very helpful. Thank you for taking the time to share.
Thanks for watching, Jeff!
Super helpful video - well explained. Thanks to your viewer for sharing their project too :).
Again a great video Phil! These videos fill a very valuable role, in a world where ever more of us are working individually, and don't hang out at an office with the opportunity to look over colleagues' shoulders, or have informal incremental chats to resolve some of these more subtle details, or simply to become aware of them. Well done!
Thank you very much, Graham!
So much useful and practical to learn from this! It is great content to keep my engineering brain going while being on sick leave. Thanks again Phil :)
Thank you, Jakob - hope you recover soon :)
Nice review! Not many ppl would take the time and effort to do such a thorough design review.
Very informative.
This semester we are going to use WB MCU for an IoT project. This is priceless for me.
That’s great. Learnt quite a lot. Thanks for the video!
For the trace where the width changes, the copper pour under the wider trace can be masked to maintain the impedance consistency.
Thank you!
This video earned you a sub. I learned more just from your vocabulary. Very pleasing. Maybe I’m weird.
God Bless.
I love this series. Looking forward for the next chapter
keep it up Phil, I really like your point of view and learning from it, so I thank you for it✌
Hey Phil, thank you very much for reviewing my design. I would like to mention a couple things.
1) The reverse polarity diode actually was a shotkey diode, so no problems with the ams1117. Also, the reference design does also not specify load caps for the crystal. I had no problems with it. Even probing the signal was no issue, because the drive strength on HSE is quite high.
2) I took the schematic symbol and parts of it from a reference design. I later realized, that it got pretty messed up.
3) The ws2812b actually works pretty well on 3.3v. I tested this thoroughly beforehand, but i guess it is not good practice to assume this.
4) The stm32wb55 actually have all the same pinout on the same packages, that's why, the exact model number does not matter too much.
5) I only fitted one of those 10n capacitors on the RF line, which is kind of a low cost RF switch. I would never fit both caps, due to the reasons you mentioned with the impedance.
6) Because of the small PCB size, I had trouble to get the layout done on S GND GND S stack up and because my design does not need to fullfil any EMI specs, I thought this would be fine.
7) Filling the top layer with GND was certainly a mistake. However, the Bluetooth performance is even better than on my evaluation boards. But that's probably due to a higher antenna gain and a filter, which is specifically designed for these MCUs.
8) You actually moved my parts, so the silkscreen got moved as well :D
9) These USB C sockets are a nightmare to route. I also did not find a 3d model, the SMD one was the best I could find.
10) The reset switch is on purpose that big. I wanted to be able, to easly reset my oven with a big button on the front panel, because I work with 230v and I didn't want a bug to mess things up.
11) Adding flyback diodes is important, added them later on the loads.
Maybe, these points clarify some issues, which were not entirely clear by looking at the design. I am using this oven really often, and the controller works beautifully, even though I certainly missed critical points :)
Yeah! Some parts could have done it better (like the usb routing), thats how it is, but other aspects are a little too analytical on the review.
Also, deadlines are another constraint in this kind of project!
You cant spend a whole year finishing the schematic up to it most minor detail. Especially when you are the circuit, pcb, firmware and mechanical designer. Leave aside BOM management.
Sometimes you just make mental notes and keep on working on another stuff or else project is going to be finished by 2080. Specially when you are workin on a open source project (ie: mostly non-paid work)
I think you did a great job and the reviewer is being analitical in order to help others in their designs and share knowledge.
I know you havent (and i wouldnt) take the review as a critique.
Kudos to you for the job and Phill for the review! Good job both of you!
Question, did you learn how to make a pcb like this in school or was this something you just have to learn outta school?
6:41 he might not have used a schottky diode symbol, but he has a part number, and that is a schottky diode part. The AMS1117-3.3 needs a Vin of 4.8V, which is a problem with a 0.55V forward voltage drop
Agreed on the diode. Regarding the AMS1117-3.3 Vin requirement, it looks to me like the Vin-Vout differential needed is more like 1.1 or 1.2V, based on not very high load current. So should operate off 4.5V (not accounting for the diode).
minimal dropout voltage is internal reference voltage + int amp offset + safe margin (which has to be non zero to even make sense of using LDO in the first place) + current based margin + tempco drift.
So your 5v rail to give 3.3 linear outuput either has to be compensated for Vdrop (like 5.2V on USB chargers) or designed bang on with particular load level in mind. To use such a simple LDO that is.
Lots of great info on this review! Agree with the antenna config, you probably only intend to use either/or, but IMO it's unnecessary to use an RF switch unless; you have a spare GPIO, you are not board space confined, you can swallow the extra cost and the device use-case is to switch between internal and external antenna in operation (unlikely here).
Instead, I'd recommend using either a 'shared pad' 0R pop option or a u.FL with an integrated switch in series with the RF trace.
Awesome review. So helpful. The silk screen was messed up a bit because you were moving components around, I think that caused it to look funny.
Thanks! Whoops - I should've moved the components back before commenting on that, good catch :)
Great review Phil. Enjoyed that one :)
I am In the process of reviewing a couple of my own MCU PCB. I am glad this video came when it did. I will be re-doing parts of the layout.
I would moderate the suggestion to keep all of the MCU stuff on one page. Once the pin count gets high, I think it is practical to partition the pins based on functionality and put some of those functions on separate sheets. I found that idea to be nearly mandatory practice on a 144-pin MCU project. Perhaps do a hierarchy if it gets that complicated?
Thanks, Isaac! For larger MCUs/ICs - yes, I also split the schematic over several pages. But for something as small as this project, I'd keep the MCU stuff on one page.
great video, for future reviews please review the power electronic devices layout too
Great review and full speed too! I enjoyed this.
Thanks, Tim!
Again a great video. I find the schematics symbol of Q1-Q5 rather interesting though. I've never seen that in KiCAD. I expect the arrow to point to the gate for an N-channel mosfet
@Phil's Lab Really helpful as always! Question: If you have a sig, gnd, gnd, sig stackup, is there a benefit to creating gnd fills on the top/bottom layer to surround critical low speed GPIO lines?
Wondered myself.
I'd imagine it'd be better to create power fills so you get some extra capacitance.
This is inspiring.. I may submit my ongoing project for review i.e. if i can finish it : )
Thanks for explaining your thoughts. Very interesting!
Thanks for watching!
Really prof engineering job ... Thank you Phil ...
Thanks, Ahmed!
There are different grade AMS1117 out there I test quite a bunch of them some time ago... I'm sure there are some which work and some that won't for this design. The difference from one to another which I have seen is quite something.
Very interesting! Was the variation outside the variation allowed by the datasheet, and did datatsheets vary across manufacturers?
the ws2812bs usually work fine on 3.3V data . to be sure a TTL bus interface chips are dirt check to step it up.
You say that you could get away with only 1/3 of the stitching vias. I understand that that is a minimum? So the additional vias aren't harmful?
Correct. Aside from wearing out the drill bit!
Exactly, as Graham also already has noted.
Just about the WB2812 I have it working great in a board with Vdd = 3.3v according to the datasheet min is 3.5v but well it work with 3.3v too, for experience, with the Vi note that Vdd min can by 3.5v it means that you can have a high of 2.45v at least
Thanks for share.
Thanks for watching :)
PHIL IS. THE MAN 💪💪💪💪...❤❤❤......
Thanks :)
I've been wanting to make a design with a Silabs RF microcontroller but put it off because I thought the RF part would be complicated. Thanks for this review showing may not be as hard as I thought.
Also I've been using those WS2812's with 3v3 signals for a while, it may not be in spec but in my experience they work fine. A simple solution could be a diode in series to lower the VDD to around 4.3V allowing for a signal high voltage of 3V, the diode on the +5V input might already be enough for that.
A 32MHz clock source is recommended for at least some of the STM32WB controllers and they have internal programmable capacitance.
Another option for the LED is to pull the data pin up to 5V and run the GPIO open drain, *assuming* the GPIO pin is 5V tolerant. That works on the STM32F401 for interface with a asynch serial device.
At 5:10, I can confirm that powering WS2812 LEDs at 5V, you can communicate at 3.3V from the microcontroller, but I think this is working at their bare limit even though I have never got any problem working with them
If there is a voltage drop due to the protection diode at the power supply 5v is really about 4.3v which puts the minimum signal here at about 3.01v, which is within tolerance.
I can confirm this is true. Such LEDs can work well with 3.3V communication.
LEDs were powered from Lab PSU with strict 5V power
still a bad practice and a wishful thinking to rely on out of spec quirks.
Or you can power the addressable LED with 4.7V, which puts the control level in range at 3.3V, no?
I really liked the video and found it informative. If you think your video is too long, why not split it into parts? It also seems like you are rushing to keep your video short. I would love to hear more about the nuances in the aspects that you are reviewing in your video.
While the WS2812Bs don't state 3.3v support, in my experience they have always worked with 3.3v signals and 5V power.
Thanks for this, I really learned alot, don't know if I can get my board review too.
Thanks, Hassan - sure, just share your design (via WeTransfer) via my website (phils-lab.net).
@@PhilsLab ok
Very good, once again!
Thanks, Joakim! :)
Hello Phill. I have a question, which is, should I make copper ground pour on the top and bottom layer of the 4-layer PCB? What is the benefit of both varieties?
Hi Phil, any comments on the perimeter trace on the top and bottom of the board? Is it useful, harmless, etc?
Hey, I'd say in most cases it's harmless and can be useful to supress 'edge-fired emissions' and for general shielding. This is of course if the stitching is done properly (1/20th wavelength of f(max)).
@@PhilsLab 👍
why does the stitching via distance around the RF need to be 1/20 of the wavelength?
Can you please explain ur point with the zero ohm resistor in path of the rx/tx lines in case something happens?
Can you make one for the soft stuido trail
Perfecto!
There is WS2812B Ver. No.:V5 which does not need 100n cap.
Yep, and also accepts 3.3V input per spec as well. The connection in this design is fine with V5 LEDs, and it's quite possible he received V5 LEDs without knowing, so it works, but would be good to note it in the schematic
great!!!
Youre a genius
Nice review, but you nicked him for silkscreen under components, highlighting the crystal load caps that *you* hastily rearranged… 😂
True haha.. sorry about that :D
23:52 What’s the issue with bias being too close to pads? I always thought it was fine to have the via tangent to an SMD pad, or even to have the via drill tangent to the pad- lower impedance and all that.
(obviously this design is not exactly space constrained. and usually I place vias on the same 0.5mm grid as components so this isn’t an issue. still curious though)
As Phil said it can cause solder leaking. If via is too close to pad it can "suck" solder during soldering process which can cause bad joint between pcb and smd part.
Also, you will be charged more for the PCB if the fabricator considers them as "via in pad".
@@MSP_TechLab Solder wicking
Foreal man.
Ive watched tNice tutorials a couple tis and i tNice tutorialnk the key is to slow the video down to .75. TRY IT!!!
bro Usually the components in each MCU, what am I?. Please reply
👍🙏❤
Hi
Hello :)