Using ESP32 for a weather station

I am currently in the process of selecting an ESP32 board for the development of a weather station, and I’m in need of guidance to find the most suitable option. I aim to have a reliable communication link between two ESP32 boards, one for the indoor weather station and the other for the outdoor weather station unit.

I want a communication distance of 25-70 metres, with a minimum coverage of 25 meters. This communication is intended exclusively between the two ESP32 boards, eliminating the need for connection to external Wi-Fi networks during this phase of data exchange. The idea involves the outdoor unit collecting weather data and transmitting it wirelessly to the indoor unit.

Moreover, the indoor weather station unit should have the ability to connect to the home internet when necessary, allowing access to weather information via a website. However, this internet connectivity requirement is limited to the indoor unit and is not mandatory for the ESP32 boards’ direct communication. I really want the data exchange process between the outdoor and indoor units to not rely on external networks.

Another important aspect is the incorporation of a display to show weather information. While looking at the ESP32’s features, I am uncertain if it has support for a display. If the ESP32 does not allow for a display, I am open to considering alternative boards that will work with the ESP32 for communication purposes while having display functionality.

I also really want to have the outdoor weather unit powered by a single 18650 battery which can be recharged using a solar panel.

Overall, I need to find the correct ESP32 board that will offer reliable communication within the specified range, support data exchange between the outdoor and indoor units, and, if possible, integrate with a display system for presenting weather information on the indoor unit. I am keen on optimising power consumption and minimising the reliance on external Wi-Fi networks during direct communication between the ESP32 boards. Any recommendations on ESP32 board models or other boards for display integration would be highly appreciated.


Hi Lost,

This is ambitious for WiFi, especially considering the smaller antennas on ESP32s, and the fact that you want to use one as an access point for the other.

We have created a simple long range communication link module between devices that will plug right into a Pico W as well as other sensors you might find helpful. Give it a look and let me know if that sparks followup questions :slight_smile:

Otherwise, you might want to ask @Liam about the range limits of ESP-NOW if your heart is set on ESP32s


Hello, that looks like it would work perfectly, thanks. Would that also work for the Raspberry Pi Zero 2w?

I plan on adding a 7-inch display, so I am trying to find something that would support it.

1 Like


Absolutely, it is an I2C breakout that we design and developed here in Newcastle, the Python libraries should support all Raspberry Pi hardware including the Zero 2 W. You’ll need one transceiver and Pi set up on either end of course, but you should easily be able to use some Python to serialise and transmit the data too and from the sensor and base unit.

If you go with a Pi you’ve got a myriad of options for display, personally I’d go either with the official version or one of the Waveshare displays. Both should have touchscreen variants based on preference (capacitive/resistive/display-only):

You can choose an ESP32 board that support LoRa (Long Range) communication protocol. LoRa enables long-range wireless communication with low power consumption, ideal for your outdoor weather station.

1 Like

Completely agree, not sure how much we’ve got in terms of ESP32 boards with LoRA (there used to be a SparkX version Core Electronics imported from the states, but that’s been retired a while now)

Should still be plenty of STM boards and other similar microcontrollers with integrated LoRA capabilities or breakouts that provide the same functionality that you could use with an ESP32 (haven’t linked any here as it’ll depend on specs)

P.S. Just a heads up, make sure to check the ACMA regulations in your region before choosing what channels or bands to broadcast in if you use imported breakouts or a custom solution. LoRA typically uses 433 MHz or 915 MHz which both have legal bands in Australia, although American boards have a nasty habit of pushing outside the legal AU915 bands with a couple of the available channels if you don’t configure them correctly.