This paper proposes an energy efficient clustering algorithm for self-organizing and self-managing WSNs, called SNOWCLUSTER. It introduces region node selection as well as cluster head election based on the residual battery capacity of nodes to reduce the costs of managing sensor nodes and of the communication among them. SNOWCLUSTER clusters periodically to select cluster heads that are richer in residual energy level, compared to the other nodes to achieve load balancing and extend the lifetime of every individual sensor nodes. After the cluster heads are selected, SNOWCLUSTER selects the region nodes in the cluster heads based on the energy level of them and chooses gateway nodes between clusters based on their location information. The effectiveness of the proposed SNOWCLUSTER algorithm is validated through actual implementation and simulation using ns-2. The simulation results reveal that the proposed framework allows smaller energy consumption for network management and longer network lifetime than the existing schemes such as LEACH and LEACH-C for practical size networks.