{"id":23288891,"url":"https://github.com/ke4roh/rpi-calendar","last_synced_at":"2026-02-24T08:47:53.706Z","repository":{"id":56600006,"uuid":"306750956","full_name":"ke4roh/rpi-calendar","owner":"ke4roh","description":"Create a wall display of your Google Calendar with a Raspberry Pi and a TV.","archived":false,"fork":false,"pushed_at":"2025-07-27T18:02:21.000Z","size":5449,"stargazers_count":3,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-27T20:21:51.575Z","etag":null,"topics":["calendar","calendars","raspberry-pi","raspberry-pi-3","raspberry-pi-3b"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ke4roh.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,"zenodo":null}},"created_at":"2020-10-23T21:30:20.000Z","updated_at":"2025-07-20T15:10:20.000Z","dependencies_parsed_at":"2025-07-04T16:02:06.901Z","dependency_job_id":"7ac479b4-9ca9-4b9d-b1cd-670ccac0d76a","html_url":"https://github.com/ke4roh/rpi-calendar","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/ke4roh/rpi-calendar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ke4roh%2Frpi-calendar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ke4roh%2Frpi-calendar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ke4roh%2Frpi-calendar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ke4roh%2Frpi-calendar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ke4roh","download_url":"https://codeload.github.com/ke4roh/rpi-calendar/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ke4roh%2Frpi-calendar/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29776978,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T04:54:30.205Z","status":"ssl_error","status_checked_at":"2026-02-24T04:53:58.628Z","response_time":75,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["calendar","calendars","raspberry-pi","raspberry-pi-3","raspberry-pi-3b"],"created_at":"2024-12-20T03:49:55.830Z","updated_at":"2026-02-24T08:47:53.685Z","avatar_url":"https://github.com/ke4roh.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Calendar Pi\nDid you live your life near the turn of the century by a dry-erase \ncalendar in the kitchen?  Do you long for more visibility into your \nGoogle Calendar (or perhaps other online calendar)?  Then look no\nfurther!  The solution is here.\n\nThis setup runs **Chromium** in kiosk mode. A modern user agent string keeps\nGoogle Calendar happy while providing full ECMAScript and CSS support.\n\n![Photo of the finished product mounted on a wall near clipboards, dry-erase, and files.](photos/Overview.jpg)\n\n## Ingredients\n1. Raspberry Pi (I used model 3 B)\n2. 2.5 A USB power supply\n3. Short HDMI cable - see [photo of the back](photos/Back.jpg)\n4. 32\" LCD TV with HDMI input (I got one on Craigslist for $5)\n5. Wall-mount for the TV (eBay and Amazon have them cheap)\n6. Cheap flat USB HUB - see [photo of a mounted hub](photos/USBHub.jpg)\n7. 8GB+ SD card\n8. Wi-Fi or ethernet where you want the calendar\n9. USB or Bluetooth Keyboard and USB mouse to help with setup\n10. Double-sided foam tape or something similar\n11. Small cable ties (a.k.a. zip ties) \n12. Duct tape\n\n## Getting the Raspberry Pi ready to turn on \n1. Get the [Raspberry Pi imager](https://www.raspberrypi.org/downloads/) for a computer near you with an SD card slot.\n2. Download the [Raspberry Pi OS image](https://downloads.raspberrypi.org/raspios_armhf_latest) or another supported release. Legacy images were previously recommended due to a Wi-Fi bug.\n3. Use the imager to install the image to the SD card.\n4. Put it all together: Connect the HDMI cable between the Pi and the TV, connect the USB hub to the Pi.\nPut the SD card in the Pi, connect the power supply to the Pi, but don't plug it in yet. \nAt this point, you should be able to see where the Pi will fit against the back of the TV.  Use the double-sided tape to fix the\nUSB hub to a back corner of the TV. Secure the cables with duct tape and cable ties. Let the Pi float, but keep it still relative\nto the TV. [It might look something like this](photos/Back.jpg).  Take a look at [all the photos](photos).  The most fragile\npart of this arrangement is the micro USB power connector.  Be sure the pins on the Pi aren't touching metal.\n5. Power it up, plug in the keyboard and mouse to the usb hub.\n6. Do the basic setup for your Pi - select language, keyboard style, time zone, password, etc., and set up the network.  You'll\nuse the default user \"pi\" to run the calendar, and this user has sudo permission by default, which will be needed.\n\nNow select whether you want to set up from the Pi or manage from elsewhere.\n\n## Setting up just from the Pi\n8. `curl -L https://github.com/ke4roh/rpi-calendar/releases/download/v8/calendar-install-8.run | bash`\n\n## Setting up from a remote system\n11. Enable SSH on the Pi either in system preferences or by placing an empty file named `ssh` on the boot partition before first boot.\n12. On the configuring machine, install Ansible (for Debian/Ubuntu: `sudo apt-get install ansible`) and clone this repo.\n13. Run `ssh-copy-id pi@\u003cpi-hostname\u003e` to set up key-based access.\n14. Copy `hosts-localhost` to a new file named `hosts` and replace `localhost` with the Pi's hostname or IP.\n15. If you want to try the new Wayland-based desktop, set `use_wayland: true` in\n    your inventory or pass it via `--extra-vars`. The playbook then runs\n    `raspi-config nonint do_wayland W3` (for labwc). Leaving `use_wayland: false`\n    uses X11 via `raspi-config nonint do_wayland W1`.\n16. `ansible-playbook playbook.yml -i hosts -u pi`\n\n## Finishing up\n18. `reboot` the pi\n19. Log in to your Google account on the Pi\n20. Put a bow on it. You're done!\n21. The calendar autostarts via `~/.config/lxsession/LXDE-pi/calendar.desktop`.\n    Move that file to `/etc/xdg/autostart` for a system-wide setup.\n\n## Testing\nRun `make package` to build the installation archive. This step exercises the\npackaging scripts and ensures everything is wired correctly.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fke4roh%2Frpi-calendar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fke4roh%2Frpi-calendar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fke4roh%2Frpi-calendar/lists"}