It has become my habbit to place pulldown resistors on inputs/outputs. This ensures that pins are not floating and are pulled to GND to a known state.
Normally, this wouldn't be a problem but since I am working on ultra low power battery powered device based on STM32L0, I want to understand whether the pulldowns would not cause any unexpected current consumption.
Please look at my schematic below:
As you can see from the schematic, I have 3 LED's that I use for debugging purposes. Once I finish writing firmware, I will no longer be using the LED's since they draw a lot of power.
My concern is that even when the GPIO's are pulled down, there will be some leakage current which I would like to avoid. Is that something to worry about?
Any advice is appreciated. Thanks in advance.!
You're asking about R4/R5/R6? No, they shouldn't be pulling current through the GPIO port. Set the pins to analog mode, the external pulldown will pull them to GND.
You could also just removed R4/R5/R6 entirely. The LED and resistor will act as a weak pulldown if the pin is floating.
As an output, there will be practically no current, perhaps just the leakage current of the pin which is most likely 50 nA max. You don't need the pullups at all. When the part powers on, the pins are likely configured as analog, so you'll just see the leakage. Once you configure them as outputs, the current is again the leakage.
Note that if you connect them to a timer output compare, if you ever disable the output, the pin will drive Hi-Z. In this case, it is possible (and I've observed it) that the voltage reaches an indeterminate state and begins burning current in the input buffer. In my case, I simply enabled the pull-downs in the processor and the extra current went away.