An open API service indexing awesome lists of open source software.

https://github.com/agirilovich/stm32-tx141w

DYI version of TX141W Lacrosse weather sensor
https://github.com/agirilovich/stm32-tx141w

433mhz lacrosse sensors stm32 stm32duino weather-station

Last synced: 16 days ago
JSON representation

DYI version of TX141W Lacrosse weather sensor

Awesome Lists containing this project

README

          

# Arduino based replacement of Lacrosse TX141W Weather Station sensor

This is the DYI copy of TX141W outdoor sensor, that I placed inside of original sensor.
The device is build on components from local electronic store, but works as original one.
The signal (OOK PWM), that is sent by this copy is recognized by main weather station module as original.

Few additional feautures that I implemented here:
* Powered from solar panel and Li-Ion battery
* Air pressure value is sent instead in a wind direction, since we don't have wind direction sensor in TX141W.

(TFA Dostmann 30.3222.02 is the same outdoor sensor.)
![TX141 weather sensor ](TX141_real.jpg)

# Used modules

* BlackPill STM32F401 microcontroller
* RFM69HW Radio transmitter
* SHT41 Digital humidity and temperature sensor
* BMP388 24-bit air pressire and altitude sensor
* TP5100 based module for charging Li-Ion battery
* MP2307 DC-DC converter for stabilisation Li-Ion voltage to 3.3V

# Some features

* Hardware Timers for counting pulses from Wind Speed sensor while MCU is in sleep mode. (injection of HAL code)
* Sleep and DeepSleep modes for MCU from **stm32duino/STM32duino Low Power** library
* Sleep mode for RFM69 radio transmitter
* WatchDog timer
* Data transmission frequency depends on Li-Ion battery charge state (optionally, since wind speed sensor is not counted in DeepSleep mode).
* **robtillaart/RunningAverage** filters fake values from sensors

Code base:
* [**jgromes/RadioLib**](https://github.com/jgromes/RadioLib) for Hardware level managing RFM69 radio module
* [**ropg/OOKwiz**](https://github.com/ropg/OOKwiz/) - how to send OOK PWM signal through RFM69 in a DirectTransmit mode
* [**hdtodd/omnisensor_433**](https://github.com/hdtodd/omnisensor_433) - how to code OOK PWM signal frames
* [**Sensirion/arduino-i2c-sht4x**](https://github.com/Sensirion/arduino-i2c-sht4x) - a genuine library for SHT4x sensors
* [**adafruit/Adafruit BMP3XX Librar**](https://github.com/adafruit/Adafruit_BMP3XX) - a library for the Adafruit BMP388 precision pressure sensor breakout

![Device module schematic](Schematic.png)