STEP 1 / 6ESP + IOT

ESP32 LoRa Sensor Monitoring with Web Server (Long Range Communication)

Communication) In this project, you will construct a sensor monitoring system using a TTGO LoRa32 SX1276 OLED board. This board will send readings of temperature, humidity, and pressure v…

ESP32 LoRa Sensor Monitoring with Web Server (Long Range Communication) - source illustration from page 1292
PROJECT#477
TRACKIoT
PARTS12
STAGES06
STEP 1 / 6 · Overview

Know the mission before touching a wire.

Understand what you are making, prepare the right tools, and make the workbench safe.

01

Project details

ESP32 LoRa Sensor Monitoring with Web Server (Long Range Communication) is a iot project. Communication) In this project, you will construct a sensor monitoring system using a TTGO LoRa32 SX1276 OLED board. This board will send readings of temperature, humidity, and pressure v…

Source pages
1292-1300
Named parts
12
Build goal
Working, tested prototype
02

Tools you need

  • Digital multimeter
  • Wire stripper and side cutters
  • Soldering iron with a fine tip
  • Current-limited bench supply
  • Computer with a data-capable USB cable

Use eye protection, good lighting, and a clean insulated surface throughout the build.

03

Safety precautions

  • Disconnect every power source before changing a connection.
  • Check component polarity, pinout, and supply voltage twice.
  • Use a current limit for the first power-up.
  • Keep liquids, loose metal, and uninsulated wires away from the bench.
Ready to continue?
STEP 2 / 6 · Parts library

Gather, identify, and understand every part.

Use the standardized inventory, then open What's this? to learn each part's role, advantages, limitations, handling, and specifications.

NAMED PROJECT INVENTORY12 PART LINES
PARTTYPEQTYREADY
MBME280 sensor for measuring temperature, humidity, and pressure It oughtMODULE1
What's this?Image, role, pros, cons, handling & specifications
ESP32 LoRa Sensor Monitoring with Web Server (Long Range Communication) - source illustration from page 1292MODULE LEARNING VIEW

BME280 sensor for measuring temperature, humidity, and pressure It ought

A sensor converts a physical condition into an electrical signal the circuit can measure.

What it does here

It provides project input as an analogue, digital, resistive, frequency, or calibrated signal.

Buy / compare this part

Advantages

  • Adds real-world awareness
  • Can usually be tested independently
  • Often supports calibration

Limitations

  • Readings can drift
  • Placement affects results
  • Some sensors need warm-up or calibration

Handling

  • Protect the sensing surface
  • Observe supply voltage and polarity
  • Keep signal leads away from noisy power wiring

Specifications to verify

  • Use the exact model, value, package, and rating listed for BME280 sensor for measuring temperature, humidity, and pressure It ought; similar-looking parts are not always interchangeable.
  • Confirm supply range, output type, measurement range, accuracy, response time, and pin order.
MPreparing the Arduino IDEMODULE1
What's this?Image, role, pros, cons, handling & specifications
ESP32 LoRa Sensor Monitoring with Web Server (Long Range Communication) - source illustration from page 1292MODULE LEARNING VIEW

Preparing the Arduino IDE

A programmable controller that reads inputs, makes decisions, and drives the project's outputs.

What it does here

It is the control centre and must use the documented board, pin map, supply, and logic level.

Buy / compare this part

Advantages

  • Reprogrammable and reusable
  • Large learning ecosystem
  • Complex behaviour remains changeable

Limitations

  • GPIO voltage and current are limited
  • Some pins affect boot or communication
  • Loads normally need a driver

Handling

  • Disconnect power before rewiring
  • Avoid static discharge
  • Never power motors, relays, or pumps directly from GPIO

Specifications to verify

  • Use the exact model, value, package, and rating listed for Preparing the Arduino IDE; similar-looking parts are not always interchangeable.
  • Confirm operating voltage, logic level, pinout, memory, USB interface, and maximum GPIO current.
PInstalling librariesPART1
What's this?Image, role, pros, cons, handling & specifications
ESP32 LoRa Sensor Monitoring with Web Server (Long Range Communication) - source illustration from page 1292PART LEARNING VIEW

Installing libraries

A named project component whose exact role is defined by the source circuit and build guide.

What it does here

It performs a documented electrical, control, interface, or construction function in this project.

Buy / compare this part

Advantages

  • Selected for this project
  • Can be checked independently
  • Supports modular troubleshooting

Limitations

  • Substitutes may differ
  • Generic names can hide variants
  • Pinouts and ratings vary

Handling

  • Compare the received part with the source
  • Keep it labelled
  • Do not force connectors or adjusters

Specifications to verify

  • Use the exact model, value, package, and rating listed for Installing libraries; similar-looking parts are not always interchangeable.
  • Confirm dimensions, ratings, connection method, polarity, and environmental limits.
MLibrary support for LoRa, BME280, and OLEDMODULE1
What's this?Image, role, pros, cons, handling & specifications
ESP32 LoRa Sensor Monitoring with Web Server (Long Range Communication) - source illustration from page 1292MODULE LEARNING VIEW

Library support for LoRa, BME280, and OLED

An output component turns an electrical control signal into light, sound, motion, switching, or displayed information.

What it does here

It presents the circuit result or acts on the physical world.

Buy / compare this part

Advantages

  • Makes system state visible
  • Can be tested separately
  • Supports clear troubleshooting

Limitations

  • Loads may exceed controller current
  • Polarity or driver direction can matter
  • Inductive loads create voltage spikes

Handling

  • Use the documented driver stage
  • Check polarity and load current
  • Add flyback protection for inductive loads

Specifications to verify

  • Use the exact model, value, package, and rating listed for Library support for LoRa, BME280, and OLED; similar-looking parts are not always interchangeable.
  • Confirm voltage, current, polarity, interface, driver requirements, and duty cycle.
Pfollowing libraries on your computer. Find the library's name byPART1
What's this?Image, role, pros, cons, handling & specifications
ESP32 LoRa Sensor Monitoring with Web Server (Long Range Communication) - source illustration from page 1292PART LEARNING VIEW

following libraries on your computer. Find the library's name by

A named project component whose exact role is defined by the source circuit and build guide.

What it does here

It performs a documented electrical, control, interface, or construction function in this project.

Buy / compare this part

Advantages

  • Selected for this project
  • Can be checked independently
  • Supports modular troubleshooting

Limitations

  • Substitutes may differ
  • Generic names can hide variants
  • Pinouts and ratings vary

Handling

  • Compare the received part with the source
  • Keep it labelled
  • Do not force connectors or adjusters

Specifications to verify

  • Use the exact model, value, package, and rating listed for following libraries on your computer. Find the library's name by; similar-looking parts are not always interchangeable.
  • Confirm dimensions, ratings, connection method, polarity, and environmental limits.
Pgoing to Sketch > Include Library > Manage Libraries andPART1
What's this?Image, role, pros, cons, handling & specifications
ESP32 LoRa Sensor Monitoring with Web Server (Long Range Communication) - source illustration from page 1292PART LEARNING VIEW

going to Sketch > Include Library > Manage Libraries and

A named project component whose exact role is defined by the source circuit and build guide.

What it does here

It performs a documented electrical, control, interface, or construction function in this project.

Buy / compare this part

Advantages

  • Selected for this project
  • Can be checked independently
  • Supports modular troubleshooting

Limitations

  • Substitutes may differ
  • Generic names can hide variants
  • Pinouts and ratings vary

Handling

  • Compare the received part with the source
  • Keep it labelled
  • Do not force connectors or adjusters

Specifications to verify

  • Use the exact model, value, package, and rating listed for going to Sketch > Include Library > Manage Libraries and; similar-looking parts are not always interchangeable.
  • Confirm dimensions, ratings, connection method, polarity, and environmental limits.
MSandeep Mistry's Arduino-LoRa library is referred to as the LoRaMODULE1
What's this?Image, role, pros, cons, handling & specifications
ESP32 LoRa Sensor Monitoring with Web Server (Long Range Communication) - source illustration from page 1292MODULE LEARNING VIEW

Sandeep Mistry's Arduino-LoRa library is referred to as the LoRa

A programmable controller that reads inputs, makes decisions, and drives the project's outputs.

What it does here

It is the control centre and must use the documented board, pin map, supply, and logic level.

Buy / compare this part

Advantages

  • Reprogrammable and reusable
  • Large learning ecosystem
  • Complex behaviour remains changeable

Limitations

  • GPIO voltage and current are limited
  • Some pins affect boot or communication
  • Loads normally need a driver

Handling

  • Disconnect power before rewiring
  • Avoid static discharge
  • Never power motors, relays, or pumps directly from GPIO

Specifications to verify

  • Use the exact model, value, package, and rating listed for Sandeep Mistry's Arduino-LoRa library is referred to as the LoRa; similar-looking parts are not always interchangeable.
  • Confirm operating voltage, logic level, pinout, memory, USB interface, and maximum GPIO current.
PBoth the Adafruit SSD1306 library and the Adafruit GFX libraryPART1
What's this?Image, role, pros, cons, handling & specifications
ESP32 LoRa Sensor Monitoring with Web Server (Long Range Communication) - source illustration from page 1292PART LEARNING VIEW

Both the Adafruit SSD1306 library and the Adafruit GFX library

A named project component whose exact role is defined by the source circuit and build guide.

What it does here

It performs a documented electrical, control, interface, or construction function in this project.

Buy / compare this part

Advantages

  • Selected for this project
  • Can be checked independently
  • Supports modular troubleshooting

Limitations

  • Substitutes may differ
  • Generic names can hide variants
  • Pinouts and ratings vary

Handling

  • Compare the received part with the source
  • Keep it labelled
  • Do not force connectors or adjusters

Specifications to verify

  • Use the exact model, value, package, and rating listed for Both the Adafruit SSD1306 library and the Adafruit GFX library; similar-looking parts are not always interchangeable.
  • Confirm dimensions, ratings, connection method, polarity, and environmental limits.
MAdafruit BME280 library and Adafruit unified sensor library areMODULE1
What's this?Image, role, pros, cons, handling & specifications
ESP32 LoRa Sensor Monitoring with Web Server (Long Range Communication) - source illustration from page 1292MODULE LEARNING VIEW

Adafruit BME280 library and Adafruit unified sensor library are

A sensor converts a physical condition into an electrical signal the circuit can measure.

What it does here

It provides project input as an analogue, digital, resistive, frequency, or calibrated signal.

Buy / compare this part

Advantages

  • Adds real-world awareness
  • Can usually be tested independently
  • Often supports calibration

Limitations

  • Readings can drift
  • Placement affects results
  • Some sensors need warm-up or calibration

Handling

  • Protect the sensing surface
  • Observe supply voltage and polarity
  • Keep signal leads away from noisy power wiring

Specifications to verify

  • Use the exact model, value, package, and rating listed for Adafruit BME280 library and Adafruit unified sensor library are; similar-looking parts are not always interchangeable.
  • Confirm supply range, output type, measurement range, accuracy, response time, and pin order.
PLoRa Sender CircuitPART1
What's this?Image, role, pros, cons, handling & specifications
ESP32 LoRa Sensor Monitoring with Web Server (Long Range Communication) - source illustration from page 1292PART LEARNING VIEW

LoRa Sender Circuit

A named project component whose exact role is defined by the source circuit and build guide.

What it does here

It performs a documented electrical, control, interface, or construction function in this project.

Buy / compare this part

Advantages

  • Selected for this project
  • Can be checked independently
  • Supports modular troubleshooting

Limitations

  • Substitutes may differ
  • Generic names can hide variants
  • Pinouts and ratings vary

Handling

  • Compare the received part with the source
  • Keep it labelled
  • Do not force connectors or adjusters

Specifications to verify

  • Use the exact model, value, package, and rating listed for LoRa Sender Circuit; similar-looking parts are not always interchangeable.
  • Confirm dimensions, ratings, connection method, polarity, and environmental limits.
MESP32 - controller board / ICMODULE1
What's this?Image, role, pros, cons, handling & specifications
ESP32 LoRa Sensor Monitoring with Web Server (Long Range Communication) - source illustration from page 1292MODULE LEARNING VIEW

ESP32 - controller board / IC

A programmable controller that reads inputs, makes decisions, and drives the project's outputs.

What it does here

It is the control centre and must use the documented board, pin map, supply, and logic level.

Buy / compare this part

Advantages

  • Reprogrammable and reusable
  • Large learning ecosystem
  • Complex behaviour remains changeable

Limitations

  • GPIO voltage and current are limited
  • Some pins affect boot or communication
  • Loads normally need a driver

Handling

  • Disconnect power before rewiring
  • Avoid static discharge
  • Never power motors, relays, or pumps directly from GPIO

Specifications to verify

  • Use the exact model, value, package, and rating listed for ESP32 - controller board / IC; similar-looking parts are not always interchangeable.
  • Confirm operating voltage, logic level, pinout, memory, USB interface, and maximum GPIO current.
MDHT11 - temperature and humidity sensorMODULE1
What's this?Image, role, pros, cons, handling & specifications
ESP32 LoRa Sensor Monitoring with Web Server (Long Range Communication) - source illustration from page 1292MODULE LEARNING VIEW

DHT11 - temperature and humidity sensor

A sensor converts a physical condition into an electrical signal the circuit can measure.

What it does here

It provides project input as an analogue, digital, resistive, frequency, or calibrated signal.

Buy / compare this part

Advantages

  • Adds real-world awareness
  • Can usually be tested independently
  • Often supports calibration

Limitations

  • Readings can drift
  • Placement affects results
  • Some sensors need warm-up or calibration

Handling

  • Protect the sensing surface
  • Observe supply voltage and polarity
  • Keep signal leads away from noisy power wiring

Specifications to verify

  • Use the exact model, value, package, and rating listed for DHT11 - temperature and humidity sensor; similar-looking parts are not always interchangeable.
  • Confirm supply range, output type, measurement range, accuracy, response time, and pin order.
Ready to continue?
STEP 4 / 6 · Source code

Confirm the hardware-only control path.

This project does not include firmware in the source. The circuit itself provides the required behaviour.

01

How to connect

  1. Match every controller label to the circuit view and source pin map.
  2. Join grounds before signal wires when separate low-voltage supplies are used.
  3. Keep motors, relays, pumps, and other loads on a suitable driver and external supply.

Common mistakes

Reversed VCC/GND, board-label versus GPIO-number confusion, missing common ground, and charge-only USB cables.

Troubleshoot

Disconnect loads, continuity-test one path at a time, then test with a current limit.

02

Software preparation

No IDE, board package, library, or firmware upload is required for this project.

If you add a programmable controller as an extension, document its pin map separately.

03

How to upload code

The original design is implemented entirely in hardware, so proceed after verifying the circuit and supply.

Ready to continue?
STEP 5 / 6 · Build

Assemble, deploy, test, and troubleshoot.

Use the complete source notes in build order, then pass the final checks before calling the project finished.

ASSEMBLY

Build in functional stages

  • Power and regulation
  • Controller or processing stage
  • Inputs and sensors
  • Outputs and loads
  • Enclosure and strain relief
TEST

Power up safely

  • Inspect unpowered continuity first
  • Apply the lowest safe current limit
  • Measure supply rails before signals
  • Add one load at a time
  • Record expected and actual results
TROUBLESHOOT

Work from simple to complex

  • Confirm power, ground, polarity, and orientation
  • Compare each pin with the source
  • Test inputs separately from outputs
  • Replace only one variable at a time
  • Power off before every correction
PROJECT-SPECIFIC BUILD NOTES

Follow the documented instructions.

These notes come from this project's source and remain in their original order.

01

Project overview

Project build note

Communication) In this project, you will construct a sensor monitoring system using a TTGO LoRa32 SX1276 OLED board. This board will send readings of temperature, humidity, and pressure via LoRa radio to an ESP32 LoRa receiver that you will build yourself. The most recent sensor readings can be viewed on a web server thanks to the receiver. Over the course of the past few years, a variety of communication technologies have become available for use in the interaction of Internet of

Things devices. The Wi-Fi Technology and the Bluetooth Module are two of the most well-known examples. However, they have a few drawbacks, such as a restricted range, a restricted number of access points, and a high level of power consumption. Therefore, Semtech developed the LoRa technology in order to resolve all of these problems. This device can run for over a year on a single battery even though it only requires one. As a result, in this Internet of Things project, we will design an ESP32 LoRa Web Server to enable wireless monitoring of sensor readings from distances of several kilometers. The DHT11 Sensor will be used to read the data pertaining to the relative humidity and temperature by the sender. After that, it sends the data out using a LoRa Radio. The data is obtained through the receiver module, which is the component responsible for housing the OLED Display. The receiver has the ability to link the device to a WiFi network so it can communicate with other devices. The IP Address will be displayed on the OLED screen. You can log into any web browser where the sensor reading is monitored by using the IP address.

02

Project Overview

Project build note

The image that follows provides a high-level overview of the project that we will construct throughout the entirety of this project.

Readings from the BME280 sensor are transmitted over the LoRa radio by the LoRa sender every ten seconds. The readings are obtained by the LoRa receiver, which then displays them on a web server; Accessing the web server will allow you to monitor the readings from the sensors; Depending on where both the LoRa sender and the Lora receiver are situated, there may be a distance of several hundred meters between the two devices. Therefore, if your fields or greenhouses are located some distance from your house, you can use this project to monitor sensor readings from those locations;

The LoRa receiver operates as an asynchronous web server, and the files for the web page are stored on the ESP32 filesystem (SPIFFS). The LoRa receiver also displays the date and time that the most recent readings were obtained. Utilizing the Network Time Protocol on the ESP32 allows us to obtain the current date and time.

03

Required Component

Project build note

The following elements will be utilized in the completion of this project: TTGO LoRa32 SX1276 OLED board (2x): this is a development board for the ESP32 platform that incorporates an OLED display and a LoRa chip. You can use boards that are similar to what you already have, or you can use an ESP32, LoRa chip, and OLED individually. BME280 sensor for measuring temperature, humidity, and pressure It ought to be possible for you to adapt this project so that you can use any other sensor. Preparing the Arduino IDE We will be using Arduino IDE as our programming environment for the TTGO LoRa32 SX1276 OLED boards. We are going to make use of the ESP32 filesystem uploader plugin in order to transfer files to and from the ESP32 filesystem. Installing libraries You will need to download and install a few different libraries for this project. Library support for LoRa, BME280, and OLED The Arduino Library Manager allows you to install any of the following libraries on your computer. Find the library's name by

going to Sketch > Include Library > Manage Libraries and searching for it there. Sandeep Mistry's Arduino-LoRa library is referred to as the LoRa library. Both the Adafruit SSD1306 library and the Adafruit GFX library are OLED libraries. Adafruit BME280 library and Adafruit unified sensor library are two examples of BME280 libraries.

LoRa Sender Circuit

The I2C communication protocol is utilized for conversation between the BME280 and the ESP32 that we are using. Connect the sensor's wires in the

04

manner depicted in the following wiring diagram

Project build note

Testing the LoRa Sender Transfer the code to the ESP32 LoRa Sender Board that you are using. Select the COM port it is connected to by going to the Tools menu and selecting the Port option. Then, select the board you want to use by going to the Tools menu and selecting Board. In our situation, we are utilizing the TTGO LoRa32-OLED V1. To finish, click the button labeled "Upload." Start up the Serial Monitor with the baud rate set to 115200. You need to obtain something similar to what is shown below.

It is expected that the most recent sensor readings will be displayed on the OLED of your board. Your LoRa Sender is prepared and ready to go. Let's move on from here and talk about the LoRa Receiver. LoRa Receiver The LoRa Receiver is responsible for receiving incoming LoRa packets and displaying the readings that it has received on an asynchronous web server. In addition to the readings from the sensors, we show the most recent time that these readings were received as well as the RSSI (received signal strength indicator).

05

Demonstration

Project build note

Launch a web browser and enter the IP address of your ESP32. You ought to be able to view the most recent sensor readings on the web server. In open field, we were able to maintain a stable LoRa communication using these boards for a distance of up to 180 meters (590 feet). This indicates that the sender and receiver can be located at a distance of 180 meters from

one another, and we will still be able to get and check the readings on the web server. It is really impressive that stable communication can be maintained at a distance of 180 meters using boards with such low costs and without any additional customization.

Nevertheless, in a previous project we used an RFM95 SX1276 LoRa transceiver chip with a homemade antenna, and we obtained better results: a range of more than 250 meters despite the presence of many obstructions in between. The communication range will be determined largely by the environment in which the LoRa board is being used along with a great deal of other factors. By incorporating solar panels and a deep sleep mode into your LoRa sender, you can expand the functionality of this project and create a monitoring system that operates independently from the grid.

Ready to continue?
PROJECT ACHIEVED

You built ESP32 LoRa Sensor Monitoring with Web Server (Long Range Communication).

You followed the full workflow from understanding the mission to testing the finished project. That is a real engineering achievement - well done.

Visualize Your Sensor Readings from Anywhere in the World (ESP32/ESP8266 + MySQL + PHP) project thumbnail featuring ESP8266, ESP32, Raspberry Pi
NEXT IOT ADVENTURE

Visualize Your Sensor Readings from Anywhere in the World (ESP32/ESP8266 + MySQL + PHP)

Ready to reuse what you learned in another project from the same track?

Start this project
Browse all 500 projects