Hi all
I've been working on this wireless weather station project for 2 weeks now and just can't get the sketch to verify without throwing error after error to the point that now i am confused and am really needing some help :o Now mind ya I am a true noob. I've used this sketch which is the one provided by Dejan Nedelkovski. The Board is the Nano v3, DTH22 Temp-Humidity sensor, DS3231 rtc, and the nRF24L01. and sketch is as follows:
/*
 Arduino Wireless Communication Tutorial
    Indoor unit - Receiver
 by Dejan Nedelkovski, www.HowToMechatronics.com
Libraries:
DS3231 - http://www.rinkydinkelectronics.com/library.php?id=73
U8G2 - https://github.com/olikraus/u8g2
*/
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <DHT.h>
#include <DS3231.h>
#include <U8g2lib.h>
#include <Wire.h>
#define dataPin 8 // DHT22 sensor
DHT22 dth; // Creats a DHT object
DS3231Â rtc(SDA, SCL);
U8G2_SSD1306_128X64_NONAME_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);
RF24 radio(10, 9); // CE, CSN
const byte address[6] = "00001";
char text[6] = "";
int readDHT22, t, h;
String inTemp, inHum, outTemp, outHum;
String rtcTime, rtcDate;
int draw_state = 0;
unsigned long previousMillis = 0;
long interval = 3000;
#define Temperature_20Icon_width 27
#define Temperature_20Icon_height 47
static const unsigned char Temperature_20Icon_bits[] U8X8_PROGMEM = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00,
 0xc0, 0xe1, 0x00, 0x00, 0xe0, 0xc0, 0x01, 0x00, 0x60, 0x80, 0xf9, 0x03,
 0x60, 0x80, 0x01, 0x00, 0x60, 0x80, 0x01, 0x00, 0x60, 0x80, 0x79, 0x00,
 0x60, 0x80, 0x01, 0x00, 0x60, 0x80, 0x01, 0x00, 0x60, 0x80, 0xf9, 0x03,
 0x60, 0x80, 0x01, 0x00, 0x60, 0x80, 0x01, 0x00, 0x60, 0x8c, 0x79, 0x00,
 0x60, 0x9e, 0x01, 0x00, 0x60, 0x9e, 0x01, 0x00, 0x60, 0x9e, 0xf9, 0x03,
 0x60, 0x9e, 0x01, 0x00, 0x60, 0x9e, 0x01, 0x00, 0x60, 0x9e, 0x79, 0x00,
 0x60, 0x9e, 0x01, 0x00, 0x60, 0x9e, 0x01, 0x00, 0x60, 0x9e, 0xf9, 0x03,
 0x60, 0x9e, 0x01, 0x00, 0x60, 0x9e, 0x01, 0x00, 0x60, 0x9e, 0x01, 0x00,
 0x70, 0x9e, 0x03, 0x00, 0x38, 0x1e, 0x07, 0x00, 0x18, 0x3e, 0x0e, 0x00,
 0x1c, 0x3f, 0x0c, 0x00, 0x0c, 0x7f, 0x18, 0x00, 0x8c, 0xff, 0x18, 0x00,
 0x8e, 0xff, 0x38, 0x00, 0xc6, 0xff, 0x31, 0x00, 0xc6, 0xff, 0x31, 0x00,
 0xc6, 0xff, 0x31, 0x00, 0x8e, 0xff, 0x38, 0x00, 0x8c, 0xff, 0x18, 0x00,
 0x0c, 0x7f, 0x1c, 0x00, 0x3c, 0x1c, 0x0e, 0x00, 0x78, 0x00, 0x06, 0x00,
 0xe0, 0x80, 0x07, 0x00, 0xe0, 0xff, 0x03, 0x00, 0x80, 0xff, 0x00, 0x00,
 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
#define Humidity_20Icon_width 27
#define Humidity_20Icon_height 47
static const unsigned char Humidity_20Icon_bits[] U8X8_PROGMEM = {
 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
 0x00, 0x70, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00,
 0x00, 0xdc, 0x01, 0x00, 0x00, 0x8e, 0x01, 0x00, 0x00, 0x86, 0x03, 0x00,
 0x00, 0x06, 0x03, 0x00, 0x00, 0x03, 0x07, 0x00, 0x80, 0x03, 0x06, 0x00,
 0x80, 0x01, 0x0c, 0x00, 0xc0, 0x01, 0x1c, 0x00, 0xc0, 0x00, 0x18, 0x00,
 0xe0, 0x00, 0x38, 0x00, 0x60, 0x00, 0x30, 0x00, 0x70, 0x00, 0x70, 0x00,
 0x30, 0x00, 0xe0, 0x00, 0x38, 0x00, 0xc0, 0x00, 0x18, 0x00, 0xc0, 0x01,
 0x1c, 0x00, 0x80, 0x01, 0x0c, 0x00, 0x80, 0x03, 0x0e, 0x00, 0x80, 0x03,
 0x06, 0x00, 0x00, 0x03, 0x06, 0x00, 0x00, 0x03, 0x07, 0x00, 0x00, 0x07,
 0x03, 0x00, 0x00, 0x06, 0x03, 0x00, 0x00, 0x06, 0x03, 0x00, 0x00, 0x06,
 0x63, 0x00, 0x00, 0x06, 0x63, 0x00, 0x00, 0x06, 0x63, 0x00, 0x00, 0x06,
 0xe3, 0x00, 0x00, 0x06, 0xc7, 0x00, 0x00, 0x06, 0xc6, 0x01, 0x00, 0x07,
 0x86, 0x03, 0x00, 0x03, 0x0e, 0x1f, 0x00, 0x03, 0x0e, 0x1e, 0x80, 0x01,
 0x1c, 0x00, 0xc0, 0x01, 0x38, 0x00, 0xe0, 0x00, 0x78, 0x00, 0x70, 0x00,
 0xf0, 0x00, 0x38, 0x00, 0xe0, 0x07, 0x1f, 0x00, 0x80, 0xff, 0x0f, 0x00,
 0x00, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
};
void setup() {
 radio.begin();
 radio.openReadingPipe(0, address);
 radio.setPALevel(RF24_PA_MIN);
 radio.startListening();
 u8g2.begin();
 rtc.begin();
}
void loop() {
 if (radio.available()) {
  radio.read(&text, sizeof(text)); // Read incoming data
  outTemp = String(text[0]) + String(text[1]) + char(176) + "C"; // Outdoor Temperature
  outHum = String(text[2]) + String(text[3]) + "%"; // Outdoor Humidity
 }
 unsigned long currentMillis = millis();
 if (currentMillis - previousMillis > interval) {
  previousMillis = currentMillis;
  u8g2.firstPage();
  do {
   switch (draw_state ) {
    case 0: drawDate(); break;
    case 1: drawInTemperature(); break;
    case 2: drawInHumidity(); break;
    case 3: drawOutTemperature(); break;
    case 4: drawOutHumidity(); break;
   }
  } while ( u8g2.nextPage() );
  draw_state++;
  if (draw_state > 4) {
   draw_state = 0;
  }
 }
}
void drawDate() {
 String dowa = rtc.getDOWStr();
 dowa.remove(3);
 rtcDate = dowa + " " + rtc.getDateStr();
 u8g2.setFont(u8g2_font_timB14_tr);
 u8g2.setCursor(0, 15);
 rtcTime = rtc.getTimeStr(); // DS3231 RTC time
 rtcTime.remove(5);
 u8g2.print(rtcDate);
 u8g2.setFont(u8g2_font_fub30_tf);
 u8g2.setCursor(8, 58);
 u8g2.print(rtcTime);
}
void drawInTemperature() {
 read.DHT22 = DHT.read22(dataPin); // Reads the data from the sensor
 t = DHT22.temperature; // Gets the values of the temperature
 inTemp = String(t) + char(176) + "C";
 u8g2.setFont(u8g2_font_helvR14_tr);
 u8g2.setCursor(24, 15);
 u8g2.print("INDOOR");
 u8g2.setFont(u8g2_font_fub30_tf);
 u8g2.setCursor(36, 58);
 u8g2.print(inTemp);
 u8g2.drawXBMP( 0, 17, Temperature_20Icon_width, Temperature_20Icon_height, Temperature_20Icon_bits);
}
void drawInHumidity() {
 h = DHT22.humidity; // Gets the values of the humidity
 inHum = String(h) + "%";
 u8g2.setFont(u8g2_font_helvR14_tr);
 u8g2.setCursor(24, 15);
 u8g2.print("INDOOR");
 u8g2.setFont(u8g2_font_fub30_tf);
 u8g2.setCursor(36, 58);
 u8g2.print(inHum);
 u8g2.drawXBMP( 0, 17, Humidity_20Icon_width, Humidity_20Icon_height, Humidity_20Icon_bits);
}
void drawOutTemperature() {
 u8g2.setFont(u8g2_font_helvR14_tr);
 u8g2.setCursor(12, 15);
 u8g2.print("OUTDOOR");
 u8g2.setFont(u8g2_font_fub30_tf);
 u8g2.setCursor(36, 58);
 u8g2.print(outTemp);
 u8g2.drawXBMP( 0, 17, Temperature_20Icon_width, Temperature_20Icon_height, Temperature_20Icon_bits);
}
void drawOutHumidity() {
 u8g2.setFont(u8g2_font_helvR14_tr);
 u8g2.setCursor(12, 15);
 u8g2.print("OUTDOOR");
 u8g2.setFont(u8g2_font_fub30_tf);
 u8g2.setCursor(36, 58);
 u8g2.print(outHum);
 u8g2.drawXBMP( 0, 17, Humidity_20Icon_width, Humidity_20Icon_height, Humidity_20Icon_bits);
}