Power management with arduino sleeping

The general pattern is:

  1. If the peripheral has an enable input then it may be possible to put it into an ultra-low power mode programmatically - if so do this, its easiest.

  2. If not then a p-channel MOSFET or PNP transistor in a high-side switching configuration can be used to power down that device. In this case you have to ensure all the signals to the device are put either LOW or as INPUTs before powering down.