Hello, I am trying to design a circuit for the STM32F401RDTx. I proceed as per the datasheet, Application Note 4488 from ST, and Carmen Noviellos "Mastering STM32" , but I don't find it simple at all right now and have a few questions. I have attached the current state. Firstly: how does the supply look? I have a LiPo that ranges 3.2V to 4.1V, and a MCP1700 3.3V LDO regulator with 2 caps that supplies VDD with 3.3V. Does this suffice? Moreover, I am not sure about the decoupling of the supply. I have connected every VDD pin to GND via a 100nF cap. VBAT also, but should I touch that at all? It goes to VDD at the moment. What makes all this confusing is that even in the corresponding application note for the processor, VCAP1, VCAP2, VREF+, VBAT, VDDA... are mentioned but my LQFP-64 package only has VREF+, VCAP1, VDD, and VBAT. For example, I do not know if I need the ferrite bead that Noviello uses in the book between VDD and AVDD (yet another name for VDDA (?)...), because I do not have a VDDA net. Also, I chose 0805 for now, which I previously soldered using the hot air station. But would it be beneficial for EMI to go smaller? Sorry if all this comes across as a bit disoriented, maybe this is a bit more than I can chew, but I want to try.
The ldo has 0.178V drop voltage. Define vcc to be 3.0 V and you're ok. Check that all components can handle this within the defined operation range. Use a ferite bed if you want to use the ADC and another capacitor. Add also 1uF to the supply output. Bigger capacitor to the input. All supply and grounds have to be connected. Connect also JTAG/SWD. The schematic is not showing the power supply as far as I can see. The resistor size do no matter. The smaller capacitor are better for emc/efficiency if you use short traces to the relevant supply pin. 100nF is typically ok for such an MCU. 0805 ok, from my experience with an lpc1768/9. One cap for each supply pin. Connect also the next/matching ground near to this cap. The supply should first see the cap and then the pin of the MCU. Connect vcap with a capacitor as in the datasheet 4.7uF. If you don't use vdda/adc treat it as vdd and connect it. Connect all power pins. Connect vbat to 3V if you don't have a battery, treat it same as any other supply pin. Pins which are not available in your package can be ignored. Kind Regards Thorsten
> Add also 1uF to the supply output. Bigger capacitor to the input. I already have 4.7uF and 10uF (directly right of the uC in the attached schematic). Should I still add another one? The power supply is in the lower left of the attached schematic. > Connect also JTAG/SWD. I have a 6-pin connector that contains SWDIO, SWCLK and so on. It is to the right of the uC. Do I need more components? > The supply should first see the cap and then the pin of the MCU. Do you mean, the trace from GND to the cap should be shorter than the one from VDD to the pin? Thank you very much!
Rafael Bachmann wrote: > I already have 4.7uF and 10uF (directly right of the uC It's better to have some 100 nF capacitors more or less evenly distributed on the board near to the pins of the chip, than to have only one or two big capacitors. The place for a 10µF capacitor ist better near to the voltage regulator. If you plan to run your controller from a lipo, then provide also a loader-ic for it on the board and a mini-usb. It's necessary to connect all gnd and vcc to a proper voltage. Most go to the common 3.3V rail, may be you want to filter the vcc for analog parts with a separate 100 nF and ferrite bead or a little coil or simply with a 33 ohms. If you want to have the low current parts of the chip permanently running, then connect the vbat dirctly to the lipo (via a suitable diode to lower the voltage somewhat) and all other supplies via a switch (per hardware or per software+fet or so). Usually all the STM32Fxxx have a built-in boot loader, so it's the best, to have on your maintenance connector some more signals: gnd, vcc, /reset, boot1 or boot0 (depends on the part. chip, so read the manual), txd1, rxd1, swdio, swclk. If you do so, you also have a nice communications port between PC and your controller. Also provide at least a footprint for a quartz, in case you need a stable system clock. And do not forget pins like boot0,1 or so. Some pins of the chip need to be at certain levels during bootup. The manual is your friend. And one additional word to the schematics you have posted: for me it looks ugly and confusing. Much better is to divide the chip into several symbols, where one symbol is for the "householding" (gnd and all supply rails, also quartz/clock, reset, boot0/1, programming etc.) and other symbols are for the remaining port pins. And make the symbols for the controller with the pins only in one direction, for example all on the right side. With this arrangement you do not need to place the chip into the middle of your schematics and so you can use the free room in the middle for the necessary net-lines. Also use symbols for gnd and vcc to avoid to draw vcc- and gnd- net-lines. With several symbols you can place different parts of your schematics on different pages, that makes your work easier than squeezing all together onto one sheet. This also makes a schematic much better readable. W.S.
> It's better to have some 100 nF capacitors more or less evenly distributed on the board near to the pins of the chip, than to have only one or two big capacitors. I have 100nF on each VDD pin. I moved the bigger ones closer to the supply as per your recommendation. boot0 is connected to GND via 10k resistor. You said I should break it out for maintenance connector. So far I only have SWDIO, SWDCLK, GND/VCC, uart tx and rx, and SWO. About the schematic: > divide the chip into several symbols, where one symbol is for the "householding" (gnd and all supply rails, also quartz/clock, reset, boot0/1, programming etc.) and other symbols are for the remaining port pins. I do not know how to divide the chip symbol into more symbols in KiCad, but looking into it to organize the schematic. Thanks for your help!
Kicad.. oh sorry. I remember the never ending discussions about this eda system and it's very specific workflow, where you must assign footprints to symbols at the way from schematics to layout. That's not my taste, so I nevermore had a glance on this eda system. With Eagle, I have "devices", which can hold as much symbols as I want, I also have as much schematic pages as I want and I can place any symbol on any page. So if you are bound to Kicad, you are on your own. W.S.