{"id":13503061,"url":"https://github.com/TeXitoi/rusty-clock","last_synced_at":"2025-03-29T13:30:42.995Z","repository":{"id":43042645,"uuid":"145009632","full_name":"TeXitoi/rusty-clock","owner":"TeXitoi","description":"An alarm clock with environment stats in pure bare metal embedded rust","archived":false,"fork":false,"pushed_at":"2024-04-28T13:23:40.000Z","size":11111,"stargazers_count":346,"open_issues_count":9,"forks_count":26,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-03-17T11:58:44.249Z","etag":null,"topics":["alarm","alarm-clock","clock","diy","embedded","humidity","pressure","rust","sensors","temperature"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TeXitoi.png","metadata":{"files":{"readme":"README.md","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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-16T15:53:48.000Z","updated_at":"2025-03-07T05:50:34.000Z","dependencies_parsed_at":"2024-10-25T18:43:17.178Z","dependency_job_id":"8525ad4c-e480-4fb4-824c-13b9dc845efd","html_url":"https://github.com/TeXitoi/rusty-clock","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/TeXitoi%2Frusty-clock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TeXitoi%2Frusty-clock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TeXitoi%2Frusty-clock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TeXitoi%2Frusty-clock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TeXitoi","download_url":"https://codeload.github.com/TeXitoi/rusty-clock/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246190198,"owners_count":20737989,"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":["alarm","alarm-clock","clock","diy","embedded","humidity","pressure","rust","sensors","temperature"],"created_at":"2024-07-31T22:02:35.302Z","updated_at":"2025-03-29T13:30:42.268Z","avatar_url":"https://github.com/TeXitoi.png","language":"Rust","readme":"# Rusty clock [![Build status](https://travis-ci.org/TeXitoi/rusty-clock.svg?branch=master)](https://travis-ci.org/TeXitoi/rusty-clock)\n\nAn alarm clock in pure bare metal embedded rust (no OS). It features pressure, temperature, humidity, monophonic alarm on a e-paper display. The 5 programmable alarms can ring one time (and never repeat) or every week day that you want (for example only Monday and Thursday).\n\n![front](images/front.jpg)\n\nYou can also look at the [gallery](gallery.md).\n\n## Hardware\n\nThe hardware used in this project is\n- a [blue pill board](https://wiki.stm32duino.com/index.php?title=Blue_Pill) featuring a STM32F103C8 microcontroller (20KiB RAM, 64 KiB flash, ARM Cortex M3 @72MHz);\n- a [2.9\" WaveShare e-paper display](https://www.waveshare.com/wiki/2.9inch_e-Paper_Module) (296x128 black or white pixels);\n- a [BME280 sensor](https://www.bosch-sensortec.com/bst/products/all_products/bme280) for temperature, humidity and pressure on a [I2C compatible PCB (VIN, GND, SCL and SDA pins)](https://www.aliexpress.com/item/a/32847825408.html);\n- a [2\" speaker](https://www.aliexpress.com/item/a/32728713916.html) driven by PWM;\n- 4 [16mm normally open push buttons](https://www.aliexpress.com/item/a/32867071630.html) (cancel, previous, next, OK);\n- a [3D printed case](cad/);\n- USB power plug;\n- micro USB cable;\n- a CR20xx coin battery (optional);\n- wires (I use [single core wires](https://www.aliexpress.com/item/a/32832816460.html)) and soldering set;\n- 4 2mm wood screws.\n\nYou also need a [ST-Link v2](https://www.aliexpress.com/item/a/32719963657.html) to flash and debug.\n\nEverything can be purchased on [Aliexpress](https://my.aliexpress.com/wishlist/shared.htm?groupId=100000007706754). Budget is around US $40 without the 3D printed case and soldering set.\n\n## Wiring\n\nEverything is plugged directly to the blue pill board.\n\nE-paper display to blue pill board:\n- BUSY -\u003e A10\n- RST -\u003e A9\n- DC -\u003e A8\n- CS -\u003e B12\n- CLK -\u003e B13\n- DIN -\u003e B15\n- GND -\u003e G\n- VCC -\u003e 3.3\n\nBME280 to blue pill board:\n- VIN -\u003e 3.3\n- GND -\u003e G\n- SCL -\u003e B6\n- SDA -\u003e B7\n\nButtons are connected to the blue pill board between G and\n- A6 for cancel\n- A7 for previous\n- B0 for next\n- B1 for OK\n\nThe speaker is connected to the blue pill board between A0 and A1.\n\nCoin battery to blue pill board:\n- (-) -\u003e G\n- (+) -\u003e VB\n\nPlug the micro USB connector of the blue pill board to a USB power supply (or a computer).\n\n## Compiling and flashing\n\nFor compiling and flashing, please refer to [the blue pill quickstart](https://github.com/TeXitoi/blue-pill-quickstart/blob/master/README.md).\n\nBasically:\n\n```shell\ncurl https://sh.rustup.rs -sSf | sh\nrustup target add thumbv7m-none-eabi\nsudo apt-get install gdb-arm-none-eabi openocd\ncd rusty-clock\n# connect ST-Link v2 to the blue pill and the computer\n# openocd in another terminal\ncargo run --release\n```\n","funding_links":[],"categories":["Rust"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTeXitoi%2Frusty-clock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTeXitoi%2Frusty-clock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTeXitoi%2Frusty-clock/lists"}