An ATMEGA328PU and NRF24L01+ based weather station operating on a single 18650 li-ion cell and a solar panel.
Go to file
2021-07-17 23:02:13 +02:00
schematic Updated the schematic 2021-06-13 18:50:30 +02:00
src Removed the dependency files from the test folder 2021-07-17 23:02:13 +02:00
.gitignore Updated the .gitignore file 2021-07-17 22:59:19 +02:00
LICENSE.md First commit 2021-05-14 12:34:03 +02:00
README.md Updated the readme 2021-07-17 15:29:03 +02:00

ATMEGA328PU_lowPower_weather_station

What is it ?

An ATMEGA328PU and NRF24L01+ based weather station operating on a single 18650 li-ion battery (or equivalent) and a solar panel.
On this page is displayed the data collected by this very unit !

Check the LICENSE.md file at the root of this project for more information.

What are the functionalities ?

The station is equipped with the following sensors and has these functionalities :

  • Temperature (BMP280 and HTU21)
  • Humidity (HTU21)
  • Compensated humidity (HTU21)
  • Pressure (BMP280)
  • Sunlight (LDR)
  • Battery level indication (ATMEGA's 10 bit ADC)

Power consumption :

  • Around 60µA during sleep
  • Around a 13mA spike during data transmission and 4mA during sensor data collection.
  • The solar panel is enough to even charge the battery it should thus never need to be replaced or recharged.

Project folder architecture :

/
|_src                   This folder contains all the C/C++ file sources.
| \_app                 This folder contains the main app and it's dependencies.
| |_libs                This folder contains all the required 3rd party libraries that should be put in "Arduino\libraries" folder in order for the app to compile.
| |_test                This folder contains a test program which was used to test the dependencies.
|
|_schematic
| \_KiCad               This folder contains the KiCad files associated with the project.
| |_ATMEGA328PU_lowPower_weather_station.pdf    Which is the most recent schematic exported as a pdf for quick viewing.
|
|_documentation         This folder may one day contain the associated documentation if needed.
| 
|_.gitignore
|_LICENSE.md
|_README.md             The content of this page

Getting started :

  1. Clone this repository : git clone http://web-directories.cf/git/Th3maz1ng/ATMEGA328PU_lowPower_weather_station.git
  2. Go to "src\libs" folder of this project and copy and paste its content in your "Arduino\libraries" folder.
  3. Open the app.ino file with the Arduino IDE and select the "Arduino Pro or Pro Mini" board with processor : (Atmega 3.3V 8 Mhz).
  4. Compile and Upload !
  5. To receive the data sent by the station, you can check this other project which is the receiver end.

Configuration options :

You may change some settings present in the definition.h file.

Set SLEEP_4_SEC_INTERVAL which corresponds to the time interval between each data transmission in 4 seconds increments. 1 minute by default corresponds to a value of 15.

Set SERIAL_DEBUG_ENABLED to 1 to get debug output on the serial console.

Set SERIAL_BAUD_RATE to the desired baudrate for debugging.

Set ADC_QUANTUM to adjust the quantum if your VREF is not the same as mine.
To do so, measure which voltage does the VCC pin of your Arduino board output and divide it by 1024 (10 bit ADC resolution).

Set VOLTAGE_DIV_COEFF to something different if you changed the voltage divider resistor values.

Set RADIO_CHANNEL to the NRF's RF channel (between 0 and 124). Do not forget to set the receiver station up on the same channel

Set RADIO_NODE_ADDRESS to change it's 5 byte address if you feel like it.

Set RADIO_PA_LEVEL to adjust the transmit power level if needed (higher power, higher current consumption)

The hardware :

Here is a list of the parts used to build the station with a link to where you can buy it :

If you have any questions, do not hesitate to contact me at : bugreport[at]laposte[dot]net

Finally here are some pictures of the PCB and device :

PCB top view :

PCB back view :

Device's internals :

Device's internals with the PCB removed :

Device form factor :

Device's LDR and solar panel :

Device's antenna and SHT/HTU 21 cover :