Recent technological developments in embedded systems have led to the emergence of a new class of networks, known as Wireless Sensor Networks (WSNs), where individual nodes cooperate wirelessly with each other with the goal of sensing and interacting with the environment. Routing has a significant influence on the overall WSN lifetime, and providing an energy efficient routing protocol remains an open problem. This thesis addresses the issue of designing WSN routing methods that feature energy efficiency. This book presents novel cross-layer routing algorithms. It also investigates the impact of the hop distance on network lifetime and proposes a method of determining the optimal location of the relay node. The problem of predicting the transition region (the zone separating the region where all packets can be received and that where no data can be received) is also addressed. The performance of described solutions was tested in simulations and also they were deployed on sensor nodes using TinyOS. All proposed schemes extend the network lifetime and due to their lightweight architecture they are very efficient WSN nodes with constrained resources.