## 1 Introduction  
Recent technological advances have enabled the inexpensive mass production of sensor nodes, which, despite their relatively small size, have particularly advanced sensing, processing and communication capabilities. A WSN consists of spatially distributed sensor nodes, which are interconnected without the use of any wires [1, 2]. In a WSN, sensor nodes sense the environment and use their communication components in order to transmit the sensed data over wireless channels to other nodes and to a designated sink point, referred to as the Base Station (BS). BS collects the data transmitted to it in order to act either as a supervisory control processor or as an access point for a human interface or even as a gateway to other networks [3, 4]. Through the collaborative use of a large number of sensor nodes, a WSN is able to perform concurrent data acquisition of existing conditions at various points of interest located over wide areas. Nowadays, WSNs, due to the numerous benefits that their utilization offers, support an ever growing variety of applications, including agriculture, traffic control, environment and habitat monitoring, object tracking, fire detection, surveillance and reconnaissance, home automation, biomedical applications, inventory control, machine failure diagnosis and energy management [5, 6, 7].  
However, despite the advantages that the utilization of a WSN offers, their use is severely limited by the energy constraints posed by the sensors. The energy expenditure of the sensor nodes occurs during the wireless communication, the environment sensing and the data processing. Therefore, most of the routing protocols in WSNs aim mainly at the attainment of power conservation. Since most of the routing protocols developed for wired networks pursue the attainment of high Quality of Service (QoS), they are practically improper for application in WSNs. For these reasons, many protocols have been proposed for data routing in sensor networks [4, 8, 9, 10].  
Most of the protocols use clusters in order to provide energy efficiency and to extend the network lifetime. Each cluster first elects a node as the cluster head (CH), and then, the nodes in every cluster send their data to their own cluster head. The cluster head sends its data to the base station. This data transfer can be performed in two alternative ways. Either directly, in the case in which the cluster head is located close to the base station, or via intermediate cluster heads. In this paper, a novel energy efficient protocol, named ECHERP, is proposed. ECHERP, contrary to other existing cluster-based protocols that select a random node or the node with the higher energy at a particular time instance as the new cluster head, considers the current and the estimated future residual energy of the nodes, along with the number of rounds that can be cluster heads, in order to maximize the network lifetime. The network is modeled as a linear system, and the Gaussian elimination algorithm is used in order to calculate the combinations of nodes that can be chosen as cluster heads. The proposed protocol allows new nodes to be added to the system and automatically adjusts its behavior based on the dying nodes and the signal-to-noise interference. In addition, node mobility is also handled.  
This paper is organized as follows. In Section 2, related work in energy efficient protocols is presented. In Section 3, the proposed protocol that models the network as a linear system using Gaussian elimination, in order to select the cluster head that minimizes the energy consumption in the cluster, is described. In Section 4, the performance of the proposed protocol is evaluated. In Section 5, conclusions are drawn.