I have designed a PCB that includes an STM32L1xx MCU, a Micro SD Card, a pressure sensor, an accelerometer, a battery 18650 type and a buck-boost converter for a stable output of 3.3V (ISL9120IRTNZ).

I have followed the instructions from all the datasheets in order to connect the appropriate capacitors, make the correct connections etc.

  1. I think that I have used too many capacitors for my design. Since every module requires some capacitors, can I omit some of them?
  2. Do you find any other error in the schematic?

enter image description here

  • \$\begingroup\$ The 10uF caps near each device might not be necessary depending on layout, distance and bulk capacitance on your buck converter. \$\endgroup\$ – Wesley Lee Jun 4 '18 at 13:36
  • \$\begingroup\$ Caps seem okay, If i were you I would add some protection for the Micro SD card though, since it is a connection to the outside world. There are a lot of cheap EMI filter, ESD Protection chips for SD card connections. \$\endgroup\$ – Remco Vink Jun 4 '18 at 13:53
  • \$\begingroup\$ Rarely is there such a thing as too much decoupling \$\endgroup\$ – PlasmaHH Jun 4 '18 at 18:46

I think that I have used too many capacitors for my design. Since every module requires some capacitors, can I omit some of them?

It's nearly impossible to have "too many". The only technical case where it would be too many is that an overly capacitive load could destabilize certain power supplies – not happening here.

Of course, caps cost money and space (and time when soldering). Oh, and weight, considering your affiliation.

But, generally, you'll need decoupling caps as close as possible to the individual components, and by spatial considerations alone you can't omit "duplicates".

Especially since you have sensors in your circuitry, you also wouldn't want things to share capacitors – by sharing, you'd lose a good part of the isolation between supply noise source.

From looking at your schematic, I wouldn't get rid of a single one of your capacitors (in fact, I'd even add a couple of "do not populate" caps, so that if things later happen to not work out of sheer bad luck, you can easily try and add more). I must admit that I don't think 10 µF at every end is necessary, and I'd replace these at the NRST and at left sensor with maybe 1/10 of the capacitance, but they don't hurt, either, as the low-ESR fast-acting compensation is done with 100 nF.

Also, I'd drawn the schematic slightly different with respect to C7 to C10: make it clear that they all belong to their "own" VCC pin by not first having them all connected to one wire and then splitting that, but by placing them in connection with one pin each.

Oh and also, add test points. These cost nothing but are tremendously helpful during assembly, testing and potentially debugging. For anything that's not a high speed/RF signal, I'd actually recommend using a 2 pin pin header footprint – that way, you can just solder in a pin header if you need to test something for a little longer, and if you don't, it's easy to "hit" the contact with the pointy probe of a multimeter if that contact is a hole ;) You really cannot have enough test points, believe me. Omitting test points is a mistake I still do to this day, and I always regret it.

If you have the space: a fuse in line with the battery would be good style!


I normally have one 100nF per supply pin, which is what you have too. The extra 10uF is good but you have rather lot if you add up them all up in the in various places. Fine if you can place them on the PCB and keep the adjacent to the 100nF where they are needed. For a commercial product it may become a bit expensive.

Also I always add a resistor between 3V3 and VDDA. You can solder a zero-ohm in there but it gives the possibility for extra noise filtering. (You can even place an L if your want)

Internal pull ups are fine to 'tie-off' a pin but I would not rely on them for a reset-RC. Also the value can vary a lot. As mentioned: add a pull-up resistor.

Post edit:
I also make some testpoints to a few unused pins:
enter image description here

Murphy's law says you suddenly find you're in need for one more I/O pin then expected. (e.g. : if I would have connect my serial RX to another input pin I could have made auto baud detection...).
Murphy's law also says the test point is always on the wrong pin, because it has does not have the special .... function you need.


I don't think these are too many caps, rather have "too much" than too less. Just make sure to have them close to the supply pins of the IC and in case of the MCU you rather want to have one at each VCC pin instead of all at the same pin - just in case. I'd probably consider to add a pull-up resistor to the NRST input circuit.

  • \$\begingroup\$ I did not place a pull up to the NRST pin because in the STM32 datasheet it is stated that the internal pull up from the pin can be used. \$\endgroup\$ – ElectroPro Jun 4 '18 at 13:26
  • \$\begingroup\$ @ProdromosThmmy , i'd suggest you check the datasheet's table for the power-on / reset states of each pin. If the internal pullup resistor is not permanently connected, then it's possible that the NRST pin is in Hi-Z on reset (pullup resistor disabled). In which case you will need an external pullup, otherwise the MCU may not be able to turn on. \$\endgroup\$ – Matthew Di Nardo Jun 4 '18 at 13:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.