{"id":14967294,"url":"https://github.com/devcybiko/rpi-binary-clock","last_synced_at":"2025-10-25T19:30:48.362Z","repository":{"id":181706597,"uuid":"664128084","full_name":"devcybiko/rpi-binary-clock","owner":"devcybiko","description":"Vintage Binary Clock project resurrected using RPi Pico","archived":false,"fork":false,"pushed_at":"2023-12-12T06:46:59.000Z","size":12,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-09T04:44:17.490Z","etag":null,"topics":["binary-clock","micro-python","rpi-pico"],"latest_commit_sha":null,"homepage":"https://drfrancintosh.wordpress.com/pico-binary-clock/","language":"Python","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/devcybiko.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":"2023-07-09T01:58:34.000Z","updated_at":"2024-12-03T14:32:03.000Z","dependencies_parsed_at":"2023-12-12T07:42:50.388Z","dependency_job_id":null,"html_url":"https://github.com/devcybiko/rpi-binary-clock","commit_stats":{"total_commits":7,"total_committers":2,"mean_commits":3.5,"dds":0.1428571428571429,"last_synced_commit":"65f0f602439e5422287b80c2daff4edb2da6ee70"},"previous_names":["devcybiko/rpi-binary-clock"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devcybiko%2Frpi-binary-clock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devcybiko%2Frpi-binary-clock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devcybiko%2Frpi-binary-clock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devcybiko%2Frpi-binary-clock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devcybiko","download_url":"https://codeload.github.com/devcybiko/rpi-binary-clock/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238200607,"owners_count":19433059,"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":["binary-clock","micro-python","rpi-pico"],"created_at":"2024-09-24T13:37:48.335Z","updated_at":"2025-10-25T19:30:48.043Z","avatar_url":"https://github.com/devcybiko.png","language":"Python","readme":"# rpi-binary-clock\n\u003cimg src=\"https://agilefrontiers.com/assets/images/binaryclock.jpg\" width=320\u003e\u003c/img\u003e\n- Converting an old, broken Graymark Binary Clock to use RPi-Pico-W\n- NOTE: I selected micropython over circuitpython because uPy supported the BLE chip\n- I also use AdaFruit's BlueFruit app on iOS to communicate with the clock\n    - in UART mode\n- hard-coded to \"mpy-uart\"\n- hard-coded UUID = `6E400001-B5A3-F393-E0A9-E50E24DCCA9E`\n    - need to research how this number is created\n\n## GPIO\n- GPIO 0-3: Ones of seconds (0-9, little endian)\n- GPIO 4-6: Tens of seconds (0-5, little endian)\n- GPIO 7-10: Ones of minutes (0-9, little endian)\n- GPIO 11-13: Tens of minutes (0-5, little endian)\n- GPIO 14-17: Hours (1-12, little endian)\n\n## FEATURES\n- Bluetooth allows updating the time\n    - format: HHMMSS\n- Uses RTC Module for setting/getting time\n\n## TODO\n- wire circuit board\n    - \"risers\" for RPi Pico W\n    - ribbon cable to LEDs\n    - ribbon cable to pushbuttons\n- update BLE to use command line\n    - perhaps `key=value` or `verb value`\n- push buttons on the back\n    - Hold\n    - Slow\n    - Fast\n- 5V power supply?\n    - battery powered currently\n    - rechargeable batteries?\n- Add config file (writable via BLE commands)\n- Add WiFi time setting (NTP)\n    - https://bhave.sh/micropython-ntp/\n- Add WWVB Atomic clock time setting\n- Add Date setting\n- Add Timezone setting\n- Add DST setting\n- Add HTTP server?\n- Add special \"icon\" displays\n    - box, house, etc...\n\n## FILES\n- binary_clock.py: The main program\n    - NOTE: Store as \"main.py\" to run at boot time\n- ble_advertising.py: From uPy github repo\n    - creates the bluetooth connection\n- ble_simple_peripheral.py\n    - creates the serial port connection\n- ble_blink.py\n    - exaple: toggle led with BLE\n- localtime.py\n    - sample of how to do the binary math etc...\n\n## REFERENCES\n- Hackster.io article on my project\n    - https://www.hackster.io/news/greg-smith-gives-a-beloved-1970s-binary-clock-a-micropython-upgrade-with-a-raspberry-pi-pico-w-c814e78032a6\n- Hackster.io article describing bluetooth low energy\n    - https://www.hackster.io/Ramji_Patel/raspberry-pi-pico-w-and-bluetooth-low-energy-a829c7\n- uPy Docs on BLE\n    - https://docs.micropython.org/en/latest/library/bluetooth.html\n- uPy Github Repo for BLE\n    - https://github.com/micropython/micropython/tree/master/examples/bluetooth\n- Graymark Binary Clock: https://www.worthpoint.com/worthopedia/vintage-binary-clock-graymark-model-19959448\n- Bluefruit Connect App from AdaFruit\n    - https://learn.adafruit.com/bluefruit-le-connect/ios-setup\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevcybiko%2Frpi-binary-clock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevcybiko%2Frpi-binary-clock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevcybiko%2Frpi-binary-clock/lists"}