ATtiny Wireless Weather Station Remote Outdoor Unit

The Experiment: ATtiny Based Wireless Weather Station. Build a 433Mhz wireless weather station remote outdoor unit around an Atmel ATtiny85 micro-controller, with the following sensors, Anemometer, Wind vane, Temperature, Rain gauge plus Solar battery charger.

The challenge, the ATtiny85 only has 8-pins, 8KB ISP flash memory and pin1-4-8 are dedicated to Reset-GND-VCC. So the first thing to do, assign the available pins for each sensor.

ATtiny85-sensor-pinout

433Mhz Wireless Transmitter Module:

433-mhz-rf-wireless-transmitter-module

Schematic:

Outdoor Unit1 With LM35 Temperature Sensor
ATtiny85-Wireless-Weather-Station-Schematic-LM35-Revised-5
U1 Pin2 = A3 Analog Input

Outdoor Unit2 With DHT11 Humidity / Temperature Sensor
ATtiny85-Wireless-Weather-Station-Schematic-DHT11-Revised-5
U1 Pin2 = D3 Input/Output

Prototype:

ATtiny85-wireless-weather-station-board-rev5

Notes:

ATtiny85 Power Consumption
——————————- 1Mhz BOD disabled
5.5v 2.67mA
3.3v 1.05mA
——————————- 8Mhz BOD disabled
5.5v 8.94mA
3.3v 4.20mA
——————————- 8Mhz BOD disabled – Programed
5.5v 9.00mA
3.3v 4.44mA
——————————- 16Mhz internal BOD enabled
5.5v 17mA
3.3v 8.1mA
LM1117 Quiescent Current
5.5v 5.78mA

Mar 13, 2014: A lot of updates today Software and Hardware. Hardware reworked the Wind vane circuit installed a Vane CAL potentiometer to calibrate the wind vane.

Steps to calibrate the Wind vane:

  1. Find the Wind vane potentiometer dead spot that’s (N) North 0 degrees
  2. Rotate the Wind vane 180 degrees (S) South adjust the Vane CAL potentiometer for 180 degree (S)
  3. Rotate the Wind vane to (E) East should read 90 degrees and then (W) West should read 270 degrees.

That’s it for the Wind vane calibration.

Notes: The above Vane CAL update tested with 3.3v Vcc with 1.1v (INTERNAL1V1) Ref, not been tested with 2.56v (INTERNAL2V56) Ref.  The 15k resistor / 10k potentiometer not needed with 3.3v Vcc and Vcc (Default) Ref .

Required Libraries:

  1. #include <TinyDebugSerial> (only for debugging “TX out pin changed to D2”)
  2. #include <PinChangeInterrupt.h>
  3. #include <VirtualWire.h>
  4. #include <TinyDHT.h> (Only For Outdoor Unit2)

Required Function:

  1. readVcc()

Part List:

  1. One(1) ATtiny85
  2. One(1) 433Mhz Transmitter Module
  3. One(1) LM1117 3.3v LDO Voltage Regulator
  4. One(1) LM35 Temperature Sensor (Outdoor Unit1)
  5. One(1) DHT11 Humidity / Temperature Sensor (Outdoor Unit2)
  6. One(1) .o1 uf Capacitor
  7. One(1) 100 uf 16v Electrolytic Capacitor
  8. One(1) 1K Resistor
  9. One(1) 10K Resistor
  10. One(1) 10K Miniature Trimmer Potentiometer
  11. One(1) 10K 360 Degree NO Stop Precession Potentiometer (for Wind vane)
  12. One(1) 15K Resistor
  13. One(1) 8pin IC Socket
  14. One(1) General Purpose PC Board
  15. One(1) 6v 1.5w Solar Panel
  16. Two(2) Miniature Reed Switch (for Anemometer / Rain gauge)
  17. Three(3) 1N8517 Schlocky Diode
  18. Four(4) AA 1800Mah NiMh Batteries
  19. Six(6) PC Board Terminals

Dec 10, 2019: Updated the Communication link of the ATtiny Based Wireless Weather Station to ESP8266 WiFi Serial Transceiver. Now have direct access to the weather data through  a browser via a WiFi connection.

Anemometer / Windvane made from PVC pipe – fittings

(See Reference Links: 1)

ESP8266 WiFi Serial Transceiver…

Common abbreviations – symbols – prefixes

  • nickel-metal hydride ( cell ) – NiMH
  • nickel-cadmium battery ( cells ) – NiCd
  • 9 volts battery – 9V – 9 V
  • milliampere hour – milliamp hour – mAh – mAhr – mAhrs
  • milliampere – mA ( 1/1000 of ampere | 1 A = 1000 mA )
  • ampere – A ( electric charge amount measure )
  • battery current or capacity – C
  • hour – h – hr
  • hours – hrs

Current = 81.3 mA
Charger = 6V open 9.95V
Battery = 4.8V Ni-MH 2100 mAh open 5.86V
resistor = (9.95V- 5.86V) / 0.008 A
resistor = 511 ohm charge rate = 4.0 mA
resistor = 1k charge rate = 2.4 mA

Note: 2100 mAh NiMH size AA – 69.3 mA max. current for continuous-trickle charging.

Board Layout & Pin-Out are the same…

                                       Anemometer    Wnd Vane
                                         ano gnd     /\/\/\/\
                                                    gnd cnt vcc
                                          ano  gnd  cnt  vcc
                                          ---  ---  ---  ---
    +| Solar Power 7v
    -|

        Battery 4.8v
           +   -                  gnd  data 3.3v rain
          --- ---                 ---  ---  ---  ---
                             3.3v data nc gnd
                               1    2   3  4   gnd - rain
                                   DHT11       Rain Gauge

Required Libraries:
dht11.h
TimerOne.h
PinChangeInterrupt.h
TinyDebugSerial.h

Reference Links:
1. ESP8266 weather station using Arduino IDE
2. N8MDP Weather Station Anemometer / Wind Vane
3. How to Hookup Davis Anemometer to Arduino (Part 1 of 3)
4. Arduino Rain Gauge Calibration