{"id":16251385,"url":"https://github.com/padraigfl/pomodoro","last_synced_at":"2025-04-08T12:28:25.557Z","repository":{"id":94233497,"uuid":"452413093","full_name":"padraigfl/pomodoro","owner":"padraigfl","description":"A pomodoro timer built for BBC MicroBit v2 with no additional components","archived":false,"fork":false,"pushed_at":"2022-01-26T19:58:39.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-14T08:34:18.186Z","etag":null,"topics":["bbc-microbit","makecode","microbit","pomodoro"],"latest_commit_sha":null,"homepage":"https://padraigfl.github.io/pomodoro/","language":"TypeScript","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/padraigfl.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":"2022-01-26T19:32:27.000Z","updated_at":"2022-01-26T20:00:04.000Z","dependencies_parsed_at":"2023-05-10T10:45:50.283Z","dependency_job_id":null,"html_url":"https://github.com/padraigfl/pomodoro","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/padraigfl%2Fpomodoro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/padraigfl%2Fpomodoro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/padraigfl%2Fpomodoro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/padraigfl%2Fpomodoro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/padraigfl","download_url":"https://codeload.github.com/padraigfl/pomodoro/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247841452,"owners_count":21005106,"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":["bbc-microbit","makecode","microbit","pomodoro"],"created_at":"2024-10-10T15:09:58.514Z","updated_at":"2025-04-08T12:28:25.535Z","avatar_url":"https://github.com/padraigfl.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003e Open this page at [https://padraigfl.github.io/pomodoro/](https://padraigfl.github.io/pomodoro/)\n\n# BBC MicroBit Pomodoro experiment\n\nAs the device has a very basic UI and a sound module I figured it had decent potential as a Pomodoro timer and posed an interesting UI challenge in terms of conveying information.\n\n## Controls\n\n### Currently:\n\n- A button: begins timer\n- B button: stops timer\n\n### Planned:\n\nDefault Behaviour\n- A button: begins/resumes timer\n- B button: pauses timer\n- B button + Button: stops timer\n- A + B (for reverse functionality): opens config\n\nMenu Behaviour (sets Work, Break, Long break and Cycle length in order)\n- A button: add + 1 to current value (max 25 for first three, 9 for cycle)\n- B button: confirm setting\n\n## UI\n\nMinutes are represented by one LED, \n\nWork periods are displayed from top of screen, eg.\n```\n#####\n#####\n####.\n.....\n.....\n```\n\nBreaks are displayed from the bottom of the screen, eg.\n```\n.....\n.....\n.....\n....#\n#####\n```\n\nCycle stage is displayed via a number, eg\n```\n..#..\n.##..\n..#..\n..#..\n.###.\n```\n\nUI loops through the following screens every 4 seconds:\n - current minutes remaining\n - total minutes in current storage, dimmed LED\n - current part of cycle\n - total parts in cycle, dimmed LED\n\n# Goals\n\n- [x] Basic pomodoro functionality with representative within device constraint\n- [x] Accurate timing (within a few seconds of accuracy via the `input.runningTime()` function)\n- [x] Sound effects on state changes \n- [ ] Pause/Stop/Resume functionaly\n- [ ] UI displays current settings on launch\n- [ ] Ability to input specific times for work and breaks prior to starting\n- [ ] ~ Ability to save inputted times ~\n- [ ] ~ Ability to resume from current location (within a 1 minute range) in case of power failure~\n- [ ] Work on MicroBit v1 without sound (needs testing)\n\n# Issues encountered\n\nWriting to the internal storage is not achievable via MakeCode so a rewrite in MicroPython is required. I will initially write the menu UIs in MakeCode and that can then be cross referenced with the MicroPython code which should be largely the same\n\nThe TypeScript compiler had some issues with some things I tried to do (in particular enum values) so I decided to work around it for now.\n\n\n\nTo edit this repository in MakeCode.\n\n* open [https://makecode.microbit.org/](https://makecode.microbit.org/)\n* click on **Import** then click on **Import URL**\n* paste **https://github.com/padraigfl/pomodoro** and click import\n\n## Blocks preview\n\nThis image shows the blocks code from the last commit in master.\nThis image may take a few minutes to refresh.\n\n![A rendered view of the blocks](https://github.com/padraigfl/pomodoro/raw/master/.github/makecode/blocks.png)\n\n#### Metadata (used for search, rendering)\n\n* for PXT/microbit\n\u003cscript src=\"https://makecode.com/gh-pages-embed.js\"\u003e\u003c/script\u003e\u003cscript\u003emakeCodeRender(\"{{ site.makecode.home_url }}\", \"{{ site.github.owner_name }}/{{ site.github.repository_name }}\");\u003c/script\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpadraigfl%2Fpomodoro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpadraigfl%2Fpomodoro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpadraigfl%2Fpomodoro/lists"}