Crop Link is a long-range IoT communication system designed to keep smart farming devices connected in rural regions where cellular networks are unreliable or completely unavailable. Built around the ESP32 and a 433 MHz LoRa transceiver, the system enables low-power, long-distance transmission of agricultural sensor data from remote farms to a cloud-connected gateway located up to 10–15 km away from cellular connectivity.
Using a spreading bandwidth of 125 kHz, Crop Link provides high receiver sensitivity, strong noise immunity, and stable communication even in harsh rural environments.
By enabling reliable data delivery without depending on cellular infrastructure, Crop Link offers a scalable, Subscription Free, and energy-efficient communication framework engineered for the unconnected rural landscapes of India.Crop Link is a long-range IoT communication system designed to keep smart farming devices connected in rural regions where cellular networks are unreliable or completely unavailable.
Image description
The image illustrates a rural area with little to no cellular connectivity across agricultural farms. It shows a network of sensors deployed in crop fields, collecting environmental and soil data. A central tower or pole is installed to mount the transmitting antenna at an elevated height, allowing radio signals to travel over small obstacles such as tractors, houses, and boundary walls.
In the illustration, a house located away from the crop field is shown as internet-enabled. A Yagi antenna mounted on the roof receives the transmitted data from the field and forwards it to the cloud using a Wi-Fi connection. This setup Iotisize the rural area having low/no cellular or internet connectivity.
2. System OverviewCrop Link is a long-range communication system built to transfer agricultural sensor data from remote crop fields to cloud dashboards in areas with poor or no cellular connectivity. The system uses LoRa for low-power, long-distance communication and an ESP32-based, solar-powered design to support continuous operation in rural environments.
System Components
The complete system is divided into three main parts:
1. ESP32 Field Node & Receiving Node
Deployed in the crop field to collect sensor data and transmit it using LoRa.
2. LoRa Gateway Node
Receives data from the field node and forwards it to the cloud.
3. Cloud Backend & Dashboard
Stores, processes, and visualizes the collected data for monitoring and analysis.
The Crop Link data logger consists of a combined ESP32 Field/Receiver Node and a LoRa Gateway Node integrated into the system.
3. Research ExtentLoRa Configuration: Think of LoRa configuration like tuning a radio. Every parameter is a knob, and turning one always affects something else. During Crop Link testing, each of these knobs was tested in the field to see what actually changes.
3.1. Spreading Factor (SF)Formula behind it:
Chips per symbol=2SF\text{Chips per symbol} = 2^{SF}Chips per symbol=2SFWhat this really means: Higher SF → more chips → longer chirps
Longer chirps → receiver has more time to “hear” the signal
What I observed:
SF7–SF8: Fast data, short range
SF9–SF10: Best balance for crop fields
SF11–SF12: Very long range, but painfully slow
Experiment takeaway:
SF12 worked great for distant rural testing, but increased packet time and power usage. For daily operation, SF9 was the sweet spot.
Formula:
Tsym=2SFBWT_{sym} = \frac{2^{SF}}{BW}Tsym=BW2SFWhat happens when Tsym increases:
Packets stay on air longer
Battery drains faster
Network becomes slower
What we saw in testing:
High SF → longer symbol time
Longer symbol time → higher reliability, lower speed
Experiment takeaway:
Use long symbol durations only when range is more important than speed.
What BW does:
High BW → faster data, lower sensitivity
Low BW → slower data, better sensitivity
Field observation:
125 kHz gave stable links with acceptable data rate
Lower BW improved range slightly but slowed data too much
Experiment takeaway:
125 kHz is a good “don’t think too much” bandwidth for rural LoRa.
Formula:
Rb=SF×BW2SF×CRR_b = SF \times \frac{BW}{2^{SF}} \times CRRb=SF×2SFBW×CRTranslation to human language:
Increase SF → data rate drops
Increase BW → data rate increases
Experiment takeaway:
Higher data rate is useless if packets don’t reach the gateway. Range always wins in agriculture.
You can review the complete research extent here.
4. Schematic & LayoutThe gateway itself does not use any sensors. However, it includes quiik connectors and a few headers for SPI, I²C, and UART interfaces. The primary aim of this project is to establish a reliable communication link between rural areas and internet-connected locations. At this stage, the focus is not on sensor data extraction, although the system is designed to support sensor integration in future versions.
The layout diagram includes multiple test points, and each pin is clearly labeled, indicating the corresponding ESP32-S3 GPIO used.
I have use the GPIO reference from here.
Thanks to atomic14
The Circuit BOM
The BOM includes the major components such as the ESP32-S3 and LoRa SX1278, along with required decoupling capacitors, regulators, and an MPPT charging circuit. The MPPT circuit is not functioning correctly in the current version, and another hardware iteration is planned for the next revision.
SX1278 DIO Pin Function Mapping Table
Page number 69 of datasheet LoRa Sx 1278
This table shows what each DIO pin (DIO0–DIO5) does in the SX1278 LoRa module, depending on how it is configured and which mode the radio is in (TX, RX, sleep, or standby).
Each DIO pin can be programmed to signal different events such as packet received, transmission complete, timeout, or mode ready. The function of a DIO pin changes based on the selected DIO mapping bits.
All DIO pins are kept as open breakout points on the PCB. These pins can be connected by soldering if specific LoRa features are required. If not used, the corresponding ESP32-S3 GPIO pins remain free and can be repurposed for connecting sensors.
In this project, only DIO0 is used by shorting it through a solder jumper, as it is sufficient for handling the primary LoRa events such as packet transmission and reception. The remaining DIO pins are kept as open breakout points and are not used in the current implementation. Additional LoRa features using other DIO pins can be implemented in future once the existing test cases perform reliably.
PCB ver1
The PCB version1 consist of header, and connector for sesnors, LoRa and MPPT operating at 3.7v with 18650 cell.
5. MPPT CircuitThe device consists of an MPPT IC (CN3791) and a single 18650 Li-ion cell. The MPPT circuit is designed to operate with a 12 V solar panel input and provides a 5 V output for charging and system operation.
12 V to 30 W solar panels are compatible with the circuit. To configure it, connect the solar panel and place it under maximum sunlight, typically around 12 PM, then measure the voltage using a multimeter and adjust the preset accordingly.
measure volt at mumtimeter at J1 and adjust the multimeter it should show 1.205 volt for using solar with volt of 12-30volt
6. FlashingThe flashing can be done by UART programmer by C-type USB data cable as the ESP32S3 Wroom boared support C type USB programming
I used ESP-IDF for Flashing the ESP32
7. Enclosureworking on it ................
8. IOT Dashboard8.1. Visualization & Application LayerThe Visualization and Application Layer provides a simple, user-friendly dashboard to view agricultural sensor data collected by Crop Link. While the LoRa hardware handles data transmission, this layer converts raw data into clear visuals and insights for farmers and operators.
8.2. Dashboard OverviewThe dashboard is designed to be:
Real-time (live updates from Firebase)
Accessible on desktop and mobile
Farmer-friendly with minimal complexity
Scalable for multiple field nodes
Technology Stack
React.js (frontend)
Firebase Realtime Database (cloud data)
Recharts for graphs
TailwindCSS for UI styling
Development Using Test Data
During early development, a synthetic dataset was used to simulate sensor values such as temperature, humidity, soil moisture, pH, and battery voltage. This allowed full UI testing, graph validation, and threshold tuning before live LoRa data was available.
8.3. Key FeaturesReal-time monitoring of sensor values and node status
Historical trends (24-hour and 7-day graphs)
Node health overview (battery level, last active time)
Color-coded alerts for critical conditions
Multi-node support for scaling across farms
The dashboard follows a minimal, visual-first design optimized for mobile use in the field, with future plans for regional language support.










_4YUDWziWQ8.png?auto=compress%2Cformat&w=48&h=48&fit=fill&bg=ffffff)





Comments