This article is an overview of energy-constrained sensor networks, focusing on energy-conserving communications and signal processing strategies. We assume battery-driven nodes, employing robust communications, with little or no fixed infrastructure. Our discussion includes architectures, communications connectivity, capacity and scalability, mobility, network localization and synchronization, distributed signal processing, and cross-layer issues. Because energy is a precious system resource, all aspects of the network must be designed with energy savings in mind. In particular, transmissions and idle listening must be minimized, which implies the use of duty cycling to the maximum extent possible. When external assets are available, for tasks such as network synchronization and node geolocation, these can greatly relieve the energy burden and significantly enhance network lifetime.