With a large number of networked devices deployed in the internet of things (IoT), secure communication has become one of the major concerns. A physical unclonable function (PUF) can provide every chip with a unique fingerprint that is difficult for attackers to hack. Furthermore, the PUF provides a light-weight key generator to enhance the IoT security. In this paper, we present a reliable and highly energy efficient PUF with a dark-bit avoidance mechanism to mitigate reliability issues. The measurement results demonstrate that, when compared with several other designs, the proposed design has a smaller area per bit, a lower bit error rate and higher energy efficiency.