The battery driven nature of wireless sensor networks, combined with the need for operational lifetimes of months to years, mandates that energy efficiency be treated as a metric of utmost priority while designing these distributed sensing systems. This chapter presents an overview of energy-centric sensor node design techniques that enable designers to significantly extend system and network lifetime. Such extensions to battery life can only be obtained by eliminating energy inefficiencies from all aspects of the sensor node, ranging from the hardware platform to the operating system, network protocols, and application software.