{"id":17022147,"url":"https://github.com/feldim2425/esp-weatherstation","last_synced_at":"2026-05-01T12:31:21.051Z","repository":{"id":101504191,"uuid":"277952175","full_name":"feldim2425/ESP-WeatherStation","owner":"feldim2425","description":null,"archived":false,"fork":false,"pushed_at":"2020-07-08T18:17:42.000Z","size":30,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-25T09:26:25.139Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/feldim2425.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-08T00:36:53.000Z","updated_at":"2020-07-08T18:17:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"ef8751f8-5ce4-4818-8d2f-fccaf3f13fbb","html_url":"https://github.com/feldim2425/ESP-WeatherStation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/feldim2425/ESP-WeatherStation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feldim2425%2FESP-WeatherStation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feldim2425%2FESP-WeatherStation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feldim2425%2FESP-WeatherStation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feldim2425%2FESP-WeatherStation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/feldim2425","download_url":"https://codeload.github.com/feldim2425/ESP-WeatherStation/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feldim2425%2FESP-WeatherStation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32497809,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-14T07:09:25.684Z","updated_at":"2026-05-01T12:31:21.024Z","avatar_url":"https://github.com/feldim2425.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ESP32 Weather Station\n\nThis is the code for my weather station.\nIf basically keeps track of temperature, humidity, pressure, particles (pm10, pm2.5) and rain and pushes the data to MQTT.\n\nThe project is not Ardunino based. It is made using the [ESP-IDF SDK](https://github.com/espressif/esp-idf) with FreeRTOS.\n\n## Hardware\n * ESP32\n * SDS011\n * BME280\n * Tipping bucket rain gague\n\n## Measurements\n\nThe weatherstation starts a new measurment every 60 seconds. Every 10 measurments the SDS011 is activated for new PM readings. Since the SDS takes some time to get accurate results it runs for 30 seconds. Which also delays the measurment.\n\nThe data is pushed to a MQTT Broker (IP, Authentication and Topic set in the config) in a JSON format:\n```\n{\n\t\"humid\": \"\u003chumidity in %\u003e\", \n\t\"pressure\": \"\u003cpressure in hPa\u003e\", \n\t\"temp\": \"\u003ctemperature in °C\u003e\", \n\t\"pm10\": \"\u003cpm10 value in µg/m³\u003e\", \n\t\"pm25\": \"\u003cpm2.5 value in µg/m³\u003e\", \n\t\"rain\": \"\u003crain amount in ml/m²\u003e\"\n}\n```\n\n## Build the project\n\n1. Download and install the [ESP-IDF SDK](https://github.com/espressif/esp-idf) you can find more information in the README of the SDK or [here](https://docs.espressif.com/projects/esp-idf/en/stable/get-started/#step-1-install-prerequisites)\n2. Configure the project (Refer to the section below)\n3. Build the project with ``make`` and flash it to your ESP with ``make flash``\n\n### Configuration\nTo configure the project run ``make menuconfig``.\n\nIf you select a menu entry/option you can press ``?`` to get more info. The keys will also be shown in on the bottom.\n\nThe Project configuration can be found in the menu ``Project (Weather) Configuration``.\n\nIn ``Networt`` set your WiFi SSID, Password. Optionally you can also change the Hostname.\n\nUnder ``MQTT`` you have to set the Broker URI (``mqtt://\u003cip or hostname\u003e:\u003cport\u003e``) and the topic for weather data. If you use user authentication enable the option ``Use User Authentication`` and set the Username and Password.\n\nDepending on your setup and board you might want to modify the ``Hardware`` configuration. Here you can set the Pin for the Status LED and invert the LED if necessary. You can also change the I2C settings (Pins and Clock), Uart Config for the SDS11 (Internal Uart number and pins), and more importantly the rain gague (Pin, Pull-up, Edge Trigger, Debounce, Measure period, Counts per 100ml and area).\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeldim2425%2Fesp-weatherstation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffeldim2425%2Fesp-weatherstation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeldim2425%2Fesp-weatherstation/lists"}