• One should not leave any I/O configured as an unconnected input but tie them to Vdd or Vss. Or one can also set unconnected I/O as output thus forcing a steady level.
• The same recommendation applies to unbonded I/O on small packages (on the QFP80 package vs QFP112 for instance). In this case we recommend setting the unbonded I/O as output.
• For inputs whose logic state is uncertain (for a Hall-effect sensor signal for instance), one should use external pull-up or pull-down resistors instead of the internal ones that are “weak” (typically between 20kΩ and 50kΩ). This way the power consumption is minimized in case the level of these inputs changes during the low-power mode.
– Example: When using an input with internal pull-up, if the input signal goes low, we may get an additional current consumption of 5V / 20,000 = 250μA !
Disabling the internal pull-up and using an external 100kΩ pull-up resistor in this case would only lead to 50μA additional consumption at the application level.
• In some cases, peripheral devices can be powered down (if connected to V2 of the SBC for instance). This implies that their I/O have an undefined state. In such cases it might be better to set the MCU port as an output in order to set a fixed level (to be defined depending on the device), thus avoiding floating nodes.
>>>>>>>>>>>
I hope this helps.