Pro2 Compact Receiver


The WeatherDuino Pro2 Compact was announced in May 2018 as the latest member of the family of WeatherDuino receivers. It is supplied as a fully assembled and tested unit. Everything except the RF antenna is included: TFT, Atmospheric Pressure sensor, Indoor Temperature / Humidity sensor, Real Time clock, SMA antenna connector. It is compatible with all existing WeatherDuino Transmitter units operating at 433Mhz.

The WeatherDuino Pro2 Compact receiver is not intended to be a replacement for the Pro2 PLUS receiver, with which it shares most of its functions. The main goal was to provide a solution for those who want to build a WeatherDuino weather station, but prefer to concentrate their efforts on constructing the Transmitter unit. The Pro 2 Compact will also be a quick and cheap upgrade option for users of the older Pro2 receiver, which doesn't have some of the capabilities of the newer receivers (Wi-Fi, support for Air Quality data, TFT colour display, among others).

The Pro2 Compact uses a 32-bit Tensilica L106 microcontroller running at 80Mhz, making it the fastest of all the WeatherDuino receivers.

Navigation through the several data screens is simply achieved using the touch screen. A touch on the right-hand side advances to the next data screen; a touch on the left-hand side returns to the previous data screen. There is also a menu screen which allows direct and quick navigation to any of the other data screens.

You can see it in action on the short video below. Notice how fast it refreshes the data screens!

NOTE: The current software uses smooth fonts and new icons giving improved clarity and better visual appearance.

Main characteristics of the Pro2 Compact receiver

  • 2.8“ Touch-sensitive color TFT display
  • Integrated Atmospheric Pressure and Temperature / Humidity sensors (latest Bosch BME280).
  • Wi-Fi capability (amongst other things, this allows direct upload to WU without the need to have a permanent connection to a PC or Raspberry Pi - 'Stand alone' Mode).
  • Weather forecast for the next twelve hours.
  • Broadcast data to any number of 4Pro Wireless Display units by Wi-Fi, which is faster than RF, and allows better reception of RF data packets from the Transmitter units.
  • Sync system time with NTP servers.
  • Over The Air (OTA) software upgrades. No need to remove or disconnect the USB cable.
  • Mini Web Server - allows monitoring real-time weather data from anywhere on your local network.
  • Davis VP2 emulation including support for the LOOP2 command.
  • Last 12 hours graphics of the most important weather variables (Atmospheric Pressure, Wind gust and speed, Rain, outside Temperature and Humidity).
  • Internationalization - User can chose interface language (Check here the list of currently available languages).
  • Very low power consumption. Can be powered via USB port even on a Raspberry Pi.

For a full comparison between WeatherDuino receivers, please see the (WeatherDuino Receivers - Comparison Chart)

The pictures below illustrate some of the available data screens:

pro2plus_overview_04.jpg weatherduinopro2plus_rx_v130_revb_assembled_style.jpg pro2plus_overview_03.jpg

Installing and Configuring the software

As part of pre-delivery testing, all units are programmed with the latest version of the WeatherDuino software, however, users need to configure some items specific to their installation and should also check that other options are appropriate, including:

  • SSID and password of your Wi-Fi access point
  • location to be used for the OpenWeather forecast
  • other configurable options (see below)

If you are a newcomer to the system you should start by reading some general information about: Programming WeatherDuino devices, otherwise continue reading.

At this point we are assuming that you already have all the required Arduino libraries installed.
After loading the Pro2 Compact software in the Arduino IDE, the first thing that should always be done is reviewing all user configurable options. Click on the Config_Option.h tab, all user configurable options are here.


Here you will define things like your Station_ID, Time Zone, user interface language, and many other things. Review them all, and edit each one to suit your specific system. Each user configurable option includes comments about their use, and available options.

After having reviewed and editing all the user configurable settings, click on the Credentials.h tab. This is where your credentials to access some services are stored. For example, if you have enabled the direct upload to Wunderground option, you need to provide your access details. You can see an example Credentials.h file below.

//         WeatherDuino Pro2 Compact RF Receiver
//             Personal Credentials File

// --------------------------------------------------------------------------------------
//   WiFi Credentials
// --------------------------------------------------------------------------------------
#define WIFI_SSID        "xxxxxxxxxxxx"              // WiFi Name
#define WIFI_PASSWORD    "xxxxxxxxxxxx"              // WiFi Password

// --------------------------------------------------------------------------------------
//   OTA Settings
// --------------------------------------------------------------------------------------
const char* OTA_DEVICE_ID  = "Pro2C-RX";   // Define a unique ID for each Pro2 Compact RX (used to identify unit for OTA upload)
const uint16_t OTA_port    = 8266;         // This is the default port used for OTA. Once set, don't change.

// --------------------------------------------------------------------------------------
//   OpenWeather API used for 12 Hours Forecast
// --------------------------------------------------------------------------------------
// Sign up for an account at Open Weather to get your free API Key.
const char* OpenWeather_api_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";

// --------------------------------------------------------------------------------------
//   WU Credentials 
// --------------------------------------------------------------------------------------
const char* WU_STATION_ID = "XXXXXXXXX";         // WU Station ID
const char* WU_PWD        = "XXXXXXXXX";         // WU Station Key

Check if the LOLIN (WeMos) D1 R2 & mini is available in your list of boards (Arduino IDE Tools > Boards). If it isn't, then follow these instructions: LOLIN (WeMos) D1 R2 & mini isn't listed in my list of available boards. How do I add it?

Having the LOLIN (WeMos) D1 R2 & mini in the list of boards, select it and choose the COM port. Compile the code and upload, that's all.

A note for those accustomed to using other WeatherDuino receivers:
Unlike all other WeatherDuino Pro2 receivers, the Pro2 Compact receiver doesn't have the PROGRAM / RUN switch.
Programming / upgrading is normally done via OTA, and in most cases it can be done without having to stop the Weather Software (tested with CumulusMX running on a RaspBerry Pi).

Settings for the 12 Hours Forecast

In order to use the 12 Hours Forecast, you need to have a OpenWeather API key. If you don't have one, get it for free here:
Choose the free 5 day / 3 hour Forecast.
Once you have your API key, insert it in the Credentials.h file:

// --------------------------------------------------------------------------------------
//   OpenWeather API used for 12 Hours Forecast
// --------------------------------------------------------------------------------------
// Sign up for an account at Open Weather to get your free API Key.
const char* OpenWeather_api_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";

There is no need to set anything else to get the correct twelve hours forecast for your location.
Just make sure you have correctly placed your location on the Config_Option.h

// --------------------------------------------------------------------------------------
//   Define your Weather Station location
//   The more precise you define your location, the more accurate will be the 4 Days Forecast.
//   Use decimal format for Latitude and Longitude, with at least 4 decimal places (preferably 5)
//   LATITUDE:  90.00000 to -90.00000 (negative for Southern hemisphere)
//   LONGITUDE: 180.000 to -180.000 (negative for West) 
// --------------------------------------------------------------------------------------
#define LATITUDE      36.22350    // Put here your Station Latitude (up to 5 decimal places, don't use less than 4 decimal places)
#define LONGITUDE     -7.99650    // Put here your Station Longitude (up to 5 decimal places, don't use less than 4 decimal places)
#define ELEVATION     124         // Put here your Station height above sea level in Meters (no decimal places)

USB Programing

To program a new unit or perform a software upgrade you need to use the USB connection to update the files stored on the SPIFFS memory, as described here: LOLIN (WeMos) D1 R2 & mini. How to upload files to the SPIFFS memory?

Over The Air (OTA) Programing

On first use, the WeatherDuino Pro2 Compact receiver should be programmed using the USB cable. After that it can be upgraded / programmed by OTA, unless the upgrade requires updating files stored on the SPIFFS memory (which can only be done by USB connection). This info is given in each software version.

For checking the requirements for OTA to work, please refer to this article: OTA programming

When upgrading software by OTA, instead of choosing a COM port, choose the IP address of the device you want to upgrade / program.

Initialization Sequence

The first time a new receiver runs, it needs to perform a special initialization sequence. This initialization sequence ends after the receiver has received at least one data packet from each of the three main sensors (Temperature / Humidity, Wind and Rain). During the initialization process the screen will show three letters (T-W-R) that will change from Red to Green once the corresponding data packet has been received.

From the above, it is evident that if you don't have a Transmitter unit already working and transmitting data, the receiver will stay forever in the initialization sequence. This is why we recommend to anyone that is starting to build a WeatherDuino weather station, to always start by assembling the Transmitter unit first.

On subsequent restarts, the receiver also will remain in the initialization screen, until it receives data from the three main sensors referred above.

Once the initialization sequence completes, the system is ready to communicate with your preferred weather software.

Accessing the internal webpage

If the webserver is enabled in Config_Options, just open your browser and type the IP address of the receiver followed by: /weather.
Example: IP_Address/weather

All Weatherduino devices equipped with a 2.8” TFT screen use the same navigational scheme.
The order of each of the data screen can be defined by the user in the Config_Options

User Interface - List of available languages

Currently, the user interface can be set to any of the following languages:

  • Czech - Translation by Zdenek
  • Dutch - Translation by Pierrelux
  • English - Base Language
  • French - Translation by Laulau
  • German - Translation by engolling
  • Italian - Translation by kraken1881
  • Polish - Translation by jarekh3
  • Portuguese - Translation by Werk_AG
  • Spanish - Translation by Ardummy

Is your language not on the list?
If so, maybe you could contribute to the project with a translation. It will not take more than an hour of your time, and a whole country will thank you.

Custom Box for the WeatherDuino Pro2 Compact receiver


A member of the WeatherDuino Team (Jarek from Poland) has designed a custom case for the WeatherDuino Pro2 Compact receiver.
Anyone with access to a 3D printer can print it, or alternatively order it through any of the several 3D print services available online.

The required files are freely available at Thingiverse

New Version:

Old Version:

If you don't have a 3D printer, you can order your case directly from online 3D printing services like 3Dhubs.

Where I can get the WeatherDuino Pro2 Compact?

All information about prices, availability and how to order can be found here: WeatherDuino Pro2 Compact, prices and availability.

QR Code
QR Code pro2_compact_receiver (generated for current page)