{"id":19389274,"url":"https://github.com/bwolf/weather","last_synced_at":"2026-07-12T02:30:15.193Z","repository":{"id":75889963,"uuid":"52344728","full_name":"bwolf/weather","owner":"bwolf","description":"Open source weather station.","archived":false,"fork":false,"pushed_at":"2016-02-24T19:54:46.000Z","size":501,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-07T09:29:24.149Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bwolf.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-02-23T08:51:18.000Z","updated_at":"2016-02-24T20:16:20.000Z","dependencies_parsed_at":"2023-05-09T11:47:01.401Z","dependency_job_id":null,"html_url":"https://github.com/bwolf/weather","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwolf%2Fweather","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwolf%2Fweather/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwolf%2Fweather/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwolf%2Fweather/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bwolf","download_url":"https://codeload.github.com/bwolf/weather/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240549430,"owners_count":19819137,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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-11-10T10:15:46.140Z","updated_at":"2026-07-12T02:30:15.121Z","avatar_url":"https://github.com/bwolf.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"* Introduction\nThis is the source code for a weather station where multiple stations\nsend their data via wireless transmission to a dedicated base. The\nhardware design is based around the Atmel ATmega88PA, Bosch BMP085\n(pressure sensor), Sensirion SHT75x (high quality temperature and\nhumidity sensor) and a Davis rain measurement unit (0.2mm resolution).\nData transmission is driven by Nordic nRF24L01+.\n\nCurrently missing is the hardware schematic and PCB design which will\nbe added later to this repo. Nevertheless the hardware exists, but\njust on bread boards which is less than optimal.\n\nOne of the design goals of the hardware is running ultra low power. It\nwould be nice if the battery of a station would last for at least six\nmonths. The goal has been reached at the time of this writing with one\nPanasonic 18650 protected cell.\n\nThe base receives all measurements from the stations and gathers them.\nThese data will be written as JSON to the UART. Currently a Raspberry\nPI is connected to the base UART, where a separate collector program\n([[https://github.com/bwolf/weather-collector]]) parses the JSON data and\nstores it into a time series database. In fact the collector\nnormalizes the data (e.g. transform mC into plain C) and enhances it\nby calculating the dew point and sun rise and set based on the\ngeographic location.\n\n[[./grafana1.png]]\n\n* License\nPlease refer to the file =LICENSE= for the license which applies to\nthe source code of this repository. The license applies to all files\nif not otherwise stated in the file header.\n\n* Building\nBuild either the base or the station by running:\n#+BEGIN_SRC sh\n./config base # or station\n#+END_SRC\n\nNow =config.h= and =Makefile= are symlinked to either the base or\nstation variants. Building is simply performed by =make=.\n\nTo program the µC use =make program= (a in-circuit programmer is\nrequired, e.g. [[http://www.fischl.de/usbasp/][USBasp]]).\n\n* Electrical characteristics\n|               | U min | U Max | I min/µA | I max/mA |\n|---------------+-------+-------+----------+----------|\n| ATmega88PA 1) |   1.8 |   5.5 |      0.9 |      2.5 |\n| BMP085        |   1.8 |   3.6 |      3.0 |    0.005 |\n| SHT7x   2)    |   2.4 |   5.5 |      1.5 |     0.91 |\n| nRF24L01+ 3)  |   1.9 |   3.3 |      0.9 |     11.3 |\n| MS5611        |   1.8 |   3.6 |     0.14 |   0.0125 |\n| NCR18650B     |   2.5 |   4.2 |          |          |\n\n1) With external 32.768 kHz oscillator, which is not actually used\n   to drive the system clock, but it is active during power save to\n   drive the asynchronous timer to wake the MCU.\n2) Needs voltage compensation, i.e. fixed power supply required\n3) Needs 3.3V at max, also for input signals (i.e. MCU signals)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbwolf%2Fweather","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbwolf%2Fweather","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbwolf%2Fweather/lists"}