To cite this version:Abstract-The myriad of potential applications supported by wireless sensor networks (WSNs) has generated much interest from the research community. Various applications range from small size low industrial monitoring to large scale energy constrained environmental monitoring. In all cases, an operational network is required to fulfill the application missions. In addition, energy consumption of nodes is a great challenge in order to maximize network lifetime. Unlike other networks, it can be hazardous, very expensive or even impossible to charge or replace exhausted batteries due to the hostile nature of environment.Researchers are invited to design energy efficient protocols while achieving the desired network operations. This paper focuses on different techniques to reduce the consumption of the limited energy budget of sensor nodes. After having identified the reasons of energy waste in WSNs, we classify energy efficient techniques into five classes, namely data reduction, control reduction, energy efficient routing, duty cycling and topology control. We then detail each of them, presenting subdivisions and giving many examples. We conclude by a recapitulative table.