Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fabriziofiorucci/compact-weather-station
This is a MQTT-enabled, compact weather station powered by a Wemos D1 minicontroller and built with 3D-printed parts. It supports OTA updates.
https://github.com/fabriziofiorucci/compact-weather-station
3d-printing esp8266 mqtt sensor weather-station wemos-d1
Last synced: 4 days ago
JSON representation
This is a MQTT-enabled, compact weather station powered by a Wemos D1 minicontroller and built with 3D-printed parts. It supports OTA updates.
- Host: GitHub
- URL: https://github.com/fabriziofiorucci/compact-weather-station
- Owner: fabriziofiorucci
- Created: 2021-10-21T11:03:18.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-01-30T22:38:38.000Z (almost 3 years ago)
- Last Synced: 2024-11-09T12:40:43.401Z (2 months ago)
- Topics: 3d-printing, esp8266, mqtt, sensor, weather-station, wemos-d1
- Language: C++
- Homepage:
- Size: 2.44 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Compact weather station
## Description
This is a MQTT-enabled, compact weather station powered by a Wemos D1 minicontroller and built with 3D-printed parts. It supports OTA updates.
The weather station is meant to be screwed on a windowsill.Used sensors and parts are:
- Wemos D1 minicontroller
- Wind speed: Anemometer with analog voltage output (like https://www.adafruit.com/product/1733)
- Visible light: GY-30 BH1750 Ambient light sensor module
- Air quality/pollution: Digital Particle Concentration Laser Sensor PMS5003
- Rain quantity: Tipping bucket rain gauge (like https://www.bc-robotics.com/shop/tipping-rain-gauge/)
- Rain level: Capacitive soil moisture sensor
- Temperature, humidity, pressure: BME280 Humidity & Pressure Sensor
- Wind speed decoding: ADS1115 16-Bit ADC - 4 Channel with Programmable Gain Amplifier
- LM7805 linear voltage regulator
- 1x 1.8kohm resistor
- 2, 3 & 4 pins JST XH connectors
- 2 & 3 poles PCB screw terminal blocks
- 12V 2A power supply
- M3 Torx screws and bolts
- Cable glands
- 2.54mm / 1 inch PVC pipeThis project is on Thingiverse at https://www.thingiverse.com/thing:5027011
## Schematics
The circuit can be quickly built on a single layer perfboard. It can be powered by a 12V 2A power supply. The onboard LM7805 generates the 5V voltage required for most components. The BME280 sensor is powered at 3.3v directly from the Wemos D1.
## Wemos D1 sketch
The Wemos sketch can be uploaded using Arduino IDE. The software periodically polls sensors and publishes all readings through MQTT. To reduce wear and extend service life, PMS5003 laser is switched off when not reading.
Over-The-Air updates are supported with no need to physically access the Wemos unit.The sketch must be configured to point to your MQTT broker and to connect to your WiFi network (see "CUSTOMIZE HERE" sessions)
It relies on https://github.com/SwapBap/PMS for PMS5003 communication
## 3D components
All parts should be printed using:
- weatherproof filament (ASA or PETG)
- 3 walls
- 0.1mm layer height
- print plate adhesion raft in case it's neededThe Stevenson shield is https://www.thingiverse.com/thing:1053967 printed at 40% of the original size:
- Stevenson_screen_Side_Ring.STL (print 17 times)
- Stevenson_screen_Cover.STL (print once)
- Stevenson_screen_Base.STL (print once)
- 220mmX190mm_Internal_Bracket_for_14_Side_Rings.STL (print once)The Anemometer 1/4-20 adapter is Anemometer_Adapter_riser_version.stl, from https://www.thingiverse.com/thing:2710360
## Complete build