Wireless forest sensor system using FSO (Free Space Optical / Laser) communication. Transmitter node collects environmental data and sends it over a laser link to a receiver node.
| Block Diagram | Prototype |
|---|---|
![]() |
![]() |
Transmitter reads sensors every 5 seconds and sends a CSV packet over UART → FSO transceiver:
temperature,humidity,soilMoisture,irState,objectCount,uptime_ms
Receiver parses the incoming packet and prints it to the control center over UART.
| Sensor | Pin | Data |
|---|---|---|
| DHT11 (Temp & Humidity) | A0 (PC0) | °C and % |
| Soil Moisture | A1 (ADC1) | 0–1023 |
| IR Movement | D2 (PD2) | 0/1 + hourly count |
| Signal | Arduino Pin | AVR Pin |
|---|---|---|
| DHT11 Data | A0 | PC0 |
| Soil Moisture | A1 | PC1 / ADC1 |
| IR Sensor | D2 | PD2 |
| UART TX (to FSO) | D1 | PD1 |
| Signal | Arduino Pin | AVR Pin |
|---|---|---|
| UART RX (from FSO) | D0 | PD0 |
| UART TX (to PC) | D1 | PD1 |
Install toolchain (Ubuntu):
sudo apt install gcc-avr avr-libc avrdudeTransmitter:
cd transmitter
make
make flashReceiver:
cd receiver
make
make flashChange
PROGRAMMERandPORTin each Makefile as needed.
Transmitter (debug monitor):
Sensors Data Transfer
Object detected!
Data transmitted:
27,65,430,1,3,15000
Receiver:
ForestSense Receiver Ready
---- Received Data ----
Temperature : 27 C
Humidity : 65 %
Soil Moisture: 430
IR State : 1
Object Count : 3
Uptime (ms) : 15000
-----------------------

