Climate change, soil erosion, and degradation among others affect the growth and production of crops. Soil is suffering from intensive farming and unsustainable soil disturbance, leading to severe soil degradation. The Internet of Things (IoT) allows the monitoring of crucial environmental parameters such as soil nutrients, moisture, humidity, and temperature. A pre-understanding of these parameters allows agriculturists to use the optimum quantity of water and fertilizer for different types of soil. Soil fertility can be detected by using NPK sensors. The Internet of Things (IoT) brought a new face to the crop farming approach where conventional methods are automated and/or remotely controlled to improve crop farming. In this paper, a survey on IoT technologies for crop farming including sensors, communication, and network protocols in crop farming activities is considered. Additionally, applications of IoT technologies in soil management and monitoring, growth and yield estimation, and quality control mechanisms are presented.