Skip to content

JakubJaszczur/433-Weather-Station-Transmitter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Device

Weather Station Transmitter

Status GitHub Issues GitHub Pull Requests License


Weather Station based on HC12 transceiver

Table of Contents

1. About

Weather Station powered by 18650 Li-ion battery, charged by solar panel. 433MHz HC-12 module is used to send data formatted in JSON. The project is a part of bigger IOT system, and is related to my other projects:

2. Features

  • Various sensors - temperature, humidity, pressure, light intensity, UV index, PM2.5, PM10
  • Battery and solar panel voltage measurements
  • Possibility to add more sensors (e.g. by I2C)
  • Deep sleep to save power
  • Debug mode

3. Bill of Materials

Main components:

Device Description Price
Arduino Nano V3 Main IC (clone) $2.50
BME280 Temperature, humidity, pressure sensor $2.10
MCP9808 High accuracy temperature sensor $0.75
BH1750 Light sensor $1.00
SI1145 UV index sensor $3.70
PMS3003 Dust sensor $13.40
HC12 433MHz transceiver $1.95
J5019 Battery charger with DC-DC converter $0.69
2000mAh Li-Ion 18650 Battery $2.20
18650 holder 18650 Battery holder $0.35
PC,B Custom PCB
Housing Custom housing (3D printed)

## 4. Libraries

5. Getting Started

To run Weather Station, user should change some settings:

Node ID - used to identify device by receiver

#define NODE_ID           103   // Device ID, for internal purpose

Sleep time - how often device will wake up and send measurements

#define SLEEP_TIME        37    // x * 8s = sleep time

Calibration factors - booth should be 1.0 at the beginning, later can be adjusted to fit measured voltages to real values

#define BAT_FACTOR        0.979981    // a = y/x, calibration factor
#define PAN_FACTOR        0.986017    // a = y/x, calibration factor

Altitude - set real value of your location, used for pressure readings

#define ALTITUDE        515.0 //define altitude of location

6. Description

Measurements

  • Temperature: measured by MCP9808 to ensure high accuracy (0,25ºC)
  • Humidity, Pressure: measured by BME280
  • Light: measured by BH1750 (lux)
  • UV index: measured by SI1145
  • PM2.5, PM10: measured by PMS3003
  • Voltages: battery and solar panel voltages measured by analog inputs

Output Parameters

Measurements send by device using HC-12:

{
  "id":103,
  "te":4,       // temperature
  "hu":72,      // humidity
  "pr":1024.8,  // pressure
  "p2":34,      // PM2.5
  "p1":45,      // PM10
  "ba":4.07,    // battery voltage
  "pa":4.794    // solar panel voltage
}

7. Changelog

2021-04-09 V1.0 Stable version

8. Task list

Software:

  • Service commands (receive data, e.g. calibration factors, sleep time and store in EEPROM)

Hardware:

  • Add additional capacitor to Vcc for better stability
  • Change MOSFET circuit - Q1 should be connected to GND, add gate-source resistor
  • For future - add anemometer, rainmeter, wind direction etc.

9. Pictures

About

Weather Station based on HC12 transceiver

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages