{"id":21452651,"url":"https://github.com/nmrr/flipperzero-atomicdiceroller","last_synced_at":"2025-07-14T23:30:51.804Z","repository":{"id":186302282,"uuid":"674962002","full_name":"nmrr/flipperzero-atomicdiceroller","owner":"nmrr","description":"🎲☢ An atomic dice roller for the Flipper Zero ☢🎲","archived":false,"fork":false,"pushed_at":"2024-06-24T20:28:37.000Z","size":296,"stargazers_count":9,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-06-24T22:15:05.077Z","etag":null,"topics":["flipper-zero","flipperzero","geiger-counter","radioactivity","random","random-numbers"],"latest_commit_sha":null,"homepage":"","language":"C","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/nmrr.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-08-05T10:07:20.000Z","updated_at":"2024-06-24T20:28:41.000Z","dependencies_parsed_at":"2024-06-24T22:14:59.681Z","dependency_job_id":null,"html_url":"https://github.com/nmrr/flipperzero-atomicdiceroller","commit_stats":null,"previous_names":["nmrr/flipperzero-atomicdiceroller"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmrr%2Fflipperzero-atomicdiceroller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmrr%2Fflipperzero-atomicdiceroller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmrr%2Fflipperzero-atomicdiceroller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmrr%2Fflipperzero-atomicdiceroller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nmrr","download_url":"https://codeload.github.com/nmrr/flipperzero-atomicdiceroller/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226002879,"owners_count":17558151,"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":["flipper-zero","flipperzero","geiger-counter","radioactivity","random","random-numbers"],"created_at":"2024-11-23T04:31:10.776Z","updated_at":"2024-11-23T04:31:11.294Z","avatar_url":"https://github.com/nmrr.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# flipperzero-atomicdiceroller\n🎲☢ An atomic dice roller for the Flipper Zero ☢🎲\n\n![banner](https://github.com/nmrr/flipperzero-atomicdiceroller/blob/main/img/banner.jpg)\n\n[**Geiger Counter**](https://github.com/nmrr/flipperzero-geigercounter) application must work on your **Flipper Zero** to be able to use this application. You need the same **geiger board** and this board must be connected in the same way as described in the description of the **Geiger Counter** application.\n\n**Note:** There is no test port compared to the **Geiger Counter** application, your absolutely need a **geiger board** to run this application.\n\nThis application generates **true** random numbers by hashing timestamps obtained when a tick is produced by the **geiger counter** (i.e. when a **beta** or **gamma** ray is detected). Timestamps have 32 bit resolution and are produced from a 64 MHz signal.\n\nTwo hash methods have been implemented:\n- **CRC32**: 8 ticks are needed to obtain a hash, for low activity sources\n- **MD5**: 32 ticks are needed to obtain a hash, for high activity sources\n\nDice rolls are produced by transforming a single hash into a number between **1 and 6**. Out of scope values are ignored so the dice is really balanced.\nModulo-based methods are ugly because they are usually unbalanced.\n\nIt's possible to roll the dice without using a **radioactive isotope**. Air contains **radon** gas that is **radioactive**. **Geiger board** can detect descendants of radon gas that emit strong **beta** or **gamma** rays.\n\n## Gallery\n\n\u003cimg src=\"https://github.com/nmrr/flipperzero-atomicdiceroller/blob/main/img/flipper2.png\" width=25% height=25%\u003e \u003cimg src=\"https://github.com/nmrr/flipperzero-atomicdiceroller/blob/main/img/flipper3.png\" width=25% height=25%\u003e\n\nIn the left corner, **counts per second** (cps) indicates the activity. In the right corner, **availiable dice rolls** are indicated. 64 rolls can be stored.\n\n## Build the program\n\nAssuming the toolchain is already installed, copy **flipper_atomicdiceroller** directory to **applications_user**\n\nPlug your **Flipper Zero** and build the atomic dice roller:\n```\n./fbt launch_app APPSRC=applications_user/flipper_atomicdiceroller\n```\n\nThe program will automatically be launched after compilation\n\n\u003cimg src=\"https://github.com/nmrr/flipperzero-atomicdiceroller/blob/main/img/flipper1.png\" width=25% height=25%\u003e\n\n**Button assignments**: \n\nbutton  | function\n------------- | -------------\n**Ok** *[short short]*  | Roll the dice\n**Left** *[long press]* | Set CRC32 as hash method\n**Right** *[long press]* | Set MD5 as hash method\n**Up** *[long press]* | Set 0-1 as output range (coin flipper)\n**Down** *[long press]* | Set 1-6 as output range (dice roller)\n**Back** *[long press]*  | Exit\n\nIf you don't want to build this application, just simply copy **flipper_atomicdiceroller.fap** on your **Flipper Zero** \n\nBuild has been made with official toolchain (0.102.3), **API Mismatch** error may appear if you are using custom firmware. You can bypass this error but the program may crash.\n\n## Changelog\n\n* 2024-06-24\n  * Bug fix\n\n* 2024-03-11\n  * Bug fix\n\n* 2024-02-22\n  * Bug fix\n\n* 2023-12-13\n  * Output range can be selected, other range will be added later\n  * MD5 library is now a local library because this library has been removed in the toolchain\n\n* 2023-08-05\n  * Initial release","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnmrr%2Fflipperzero-atomicdiceroller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnmrr%2Fflipperzero-atomicdiceroller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnmrr%2Fflipperzero-atomicdiceroller/lists"}