{"id":21452652,"url":"https://github.com/nmrr/flipperzero-geigercounter","last_synced_at":"2025-04-04T14:04:15.553Z","repository":{"id":152608474,"uuid":"586664554","full_name":"nmrr/flipperzero-geigercounter","owner":"nmrr","description":"☢☢ A geiger counter application for the Flipper Zero ☢☢","archived":false,"fork":false,"pushed_at":"2025-01-20T23:09:03.000Z","size":4117,"stargazers_count":227,"open_issues_count":0,"forks_count":7,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-03-28T13:05:36.071Z","etag":null,"topics":["flipper-zero","flipperzero","geiger","geiger-counter","radioactivity","uranium"],"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-01-08T22:45:54.000Z","updated_at":"2025-03-27T01:18:03.000Z","dependencies_parsed_at":"2023-11-18T23:25:55.782Z","dependency_job_id":"9b436075-5f54-4ebe-ac6d-3a3c90daa012","html_url":"https://github.com/nmrr/flipperzero-geigercounter","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/nmrr%2Fflipperzero-geigercounter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmrr%2Fflipperzero-geigercounter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmrr%2Fflipperzero-geigercounter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmrr%2Fflipperzero-geigercounter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nmrr","download_url":"https://codeload.github.com/nmrr/flipperzero-geigercounter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247186376,"owners_count":20898147,"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","geiger-counter","radioactivity","uranium"],"created_at":"2024-11-23T04:31:10.792Z","updated_at":"2025-04-04T14:04:15.535Z","avatar_url":"https://github.com/nmrr.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# flipperzero-geigercounter\n☢☢ A geiger counter application for the Flipper Zero ☢☢\n\n![banner](https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/logo.jpg)\n(banner has been made with **Midjourney**)\n\n\nYou need a **geiger counter** board to run this application, this board can be used: https://fr.aliexpress.com/item/1005005983829775.html (**NOT** sponsored)\n\nSimilar boards on AliExpress may also work\n\nYou also need jumper wires to connect the board on the **Flipper Zero**.\n\n**Note 1:** This board uses a **J305** geiger tube. According this [website](https://www.rhelectronics.store/j305-glassy-geiger-muller-tube-nuclear-radiation-sensor) gamma conversion factor is **0.0081** for this tube. This value has been declared in the header of the source file so you can change it easily if needed. Incorrect conversion factor will give false measurements when **Sv** or **Rad** is selected.\n\n**Note 2:** **J305** geiger tube is only sensible to **beta** and **gamma** rays. **Alpha** rays cannot be detected. \n\n**Usable** radioactive sources: \n- natural uranium (alpha, beta, gamma)\n- natural thorium (alpha, beta, gamma)\n- radium-226 (alpha, beta, gamma)\n- cobalt-60 (beta \u0026 gamma)\n- iodine-131 (beta \u0026 gamma)\n\n**Not really usable** radioactive sources (must be in contact with the geiger tube to be detected): \n- americium-241 (alpha \u0026 low gamma, some strong beta/gamma rays are emitted during radioactive cascade or due to the presence of radioisotope impurities)\n- high purity metallic uranium/thorium (same as am241)\n\n\n**Totaly unusable** radioactive sources: \n- polonium-210 (pure alpha)\n- tritium (very low beta)\n\n\nThe **+5V** power pin on the Flipper Zero can be used to power the Geiger counter board: This pin will be automatically turned on when the program is initiated.\n\nThe output pin for measurement on the Arduino is not suitable for use with the **Flipper Zero** due to low output voltage. Use the jack out port instead. Cut an audio jack cable and connect the audio channel (left, right, or both) to a cut half male jumper wire, then connect it to the **A7** GPIO.\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/jack.png\" width=40% height=40%\u003e\u003c/p\u003e\n\nThe black wire is typically used for ground (sleeve on the schematic). Verify this with a multimeter or by testing the other wires.\n\nGlobal schema:\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/schema.jpg\" width=100% height=100%\u003e\u003c/p\u003e\n\n**Note:** Polarity of the geiger tube may be different on your board\n\n\nUI of the application:\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/flipper3.png\" width=33% height=33%\u003e\u003c/p\u003e\n\n**CPS**: **c**ounts **p**er **s**econd (instantaneous measure of the radioactivity). CPS is alway displayed on the left corner.\n\n**CPM**: **c**ounts **p**er **m**inute (the sum of CPS over a period of one minute). Other units of measurement can be chosen with **Left/Right**.\n\nNew CPS bar measure appears on the left every second.\n\n## Build the program\n\nAssuming the toolchain is already installed, copy **flipper_geiger** directory to **applications_user**\n\nPlug your **Flipper Zero** and build the geiger counter:\n```\n./fbt launch_app APPSRC=applications_user/flipper_geiger\n```\n\nThe program will automatically be launched after compilation\n\n\u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/flipper1.png\" width=25% height=25%\u003e\n\n**A4** GPIO can be connected on **A7** GPIO to test this application without using a geiger tube. **A4** GPIO generates a signal with a frequency that varies every second.\n\n**Button assignments**: \n\nbutton  | function\n------------- | -------------\n**Ok** *[long press]*  | Clear the graph\n**Left/Right** *[short press]* | Choose unit on the right corner (cpm, μSv/h, mSv/y, Rad/h, mRad/h, uRad/h), **cps** on the left is always displayed\n**Up** *[long press]*  | Enable/disable recording, led of **Flipper Zero** is colored in red when recording\n**Up/Down** *[short press]*  | Zoom/unzoom \n**Down** *[long press]*  | Display version of the application\n**Back** *[long press]*  | Exit\n\nIf you don't want to build this application, just simply copy **flipper_geiger.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## Use cases\n\nAmbient radioactivity (descendants of radon gas are detected, not radon itself):\n\n\u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/flipper2.png\" width=25% height=25%\u003e \u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/flipper8.png\" width=25% height=25%\u003e \u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/flipper9.png\" width=25% height=25%\u003e\n\nMeasurement of a sample of uranium ore within a lead container:\n\n\u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/flipper3.png\" width=25% height=25%\u003e \u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/flipper12.png\" width=25% height=25%\u003e \u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/flipper13.png\" width=25% height=25%\u003e \u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/flipper14.png\" width=25% height=25%\u003e\n\n**Note:** measures in **Sv** or **Rad** are not precise\n\nMeasurement of a sample of uranium ore (the most radioactive part):\n\n\u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/flipper4.png\" width=25% height=25%\u003e\n\nMeasurement of radium dial pointers:\n\n\u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/flipper5.png\" width=25% height=25%\u003e\n\nAll prior measurements in sequence (the scale of the graph is automatically adjusted):\n\n\u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/flipper6.png\" width=25% height=25%\u003e\n\nMeasurement of uranium orange pottery:\n\n\u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/flipper10.png\" width=25% height=25%\u003e\n\nMeasurement of americium-241 button from a smoke detector (descendants of americium or radioisotope impurities are detected, not americium itself):\n\n\u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/flipper11.png\" width=25% height=25%\u003e\n\n**A4** GPIO on **A7** GPIO (to test this program without a geiger board):\n\n\u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/flipper7.png\" width=25% height=25%\u003e\n\nZoom levels (the third picture is the default zoom):\n\n\u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/zoom0.png\" width=25% height=25%\u003e \u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/zoom1.png\" width=25% height=25%\u003e \u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/zoom2.png\" width=25% height=25%\u003e \u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/zoom3.png\" width=25% height=25%\u003e\n\nVersion of the application (press down button during 1 sec to display version):\n\n\u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/version.png\" width=25% height=25%\u003e\n\n## Recording function\n\nOutput **CSV** files are stored in the root directory of the SD card. Date and time are incorporated into the file name (example: **geiger-2023-07-03--23-48-15.csv**)\n\nData sample:\n\nepoch  | cps\n------------- | -------------\n0  | 10\n1  | 14\n2  | 8\n3  | 11\n4  | 9\n\n## Atomic Dice Roller\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/dice.jpg\" width=25% height=25%\u003e\u003c/p\u003e\n\nI maintain another application that uses the **geiger board** to roll dice by using radioactivity: https://github.com/nmrr/flipperzero-atomicdiceroller\n\n## Gallery/video of the community\n\n[BRD8 [Reddit]](https://www.reddit.com/user/BRD8/) - https://www.reddit.com/r/flipperzero/comments/110062z/am_i_a_hacker_now_mom/: \n\n\u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/user/abQXuEz.jpg\" width=50% height=50%\u003e\n\n[Funbob235 [Reddit]](https://www.reddit.com/user/Funbob235/) - https://www.reddit.com/r/flipperzero/comments/13m1qly/testing_of_the_geiger_counter/: \n\n\u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/user/testing-of-the-geiger-counter-v0-3zv9gdq4nt0b1.jpg\" width=50% height=50%\u003e\n\n[Axewarior [Reddit]](https://www.reddit.com/user/axewarior/) - https://www.reddit.com/r/flipperzero/comments/14krjs2/gieger_counter/\n\n\u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/user/IMG-1552.jpg\" width=50% height=50%\u003e\n\n[hackster.io] - https://www.hackster.io/news/erwin-ried-s-flippenheimer-gives-the-flipper-zero-pocket-multi-tool-radiation-monitoring-powers-a6fd3460f858\n\n\u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/user/image_36GFUa60bI.jpg\" width=50% height=50%\u003e\n\n[Ratrick_E_Pumbol [Reddit]](https://www.reddit.com/user/Ratrick_E_Pumbol/) - https://www.reddit.com/r/flipperzero/comments/17ok9sj/i_got_the_geiger_counter_to_work/\n\n\u003cimg src=\"https://github.com/nmrr/flipperzero-geigercounter/blob/main/img/user/wy8b1vhu4lyb1.jpg\" width=50% height=50%\u003e\n\n[Seanclark2409 [YouTube]](https://www.youtube.com/@seanclark2409) (click on the picture to see the video): \n\n[![Watch the video](https://img.youtube.com/vi/JQB2jvY1oZ0/maxresdefault.jpg)](https://youtu.be/JQB2jvY1oZ0)\n\n[Boboso5676 [YouTube]](https://www.youtube.com/@boboso5676) (click on the picture to see the video):\n\n[![Watch the video](https://img.youtube.com/vi/jYQlC2NJScQ/maxresdefault.jpg)](https://youtu.be/jYQlC2NJScQ)\n\n[Talking Sasquach [YouTube]](https://www.youtube.com/@TalkingSasquach) (click on the picture to see the video):\n\n[![Watch the video](https://img.youtube.com/vi/-I57_S_AXYY/maxresdefault.jpg)](https://youtu.be/-I57_S_AXYY)\n\n[Erwin Ried [YouTube]](https://www.youtube.com/@eried) (click on the picture to see the video):\n\n[![Watch the video](https://img.youtube.com/vi/lVqxNnsxskg/maxresdefault.jpg)](https://www.youtube.com/watch?v=lVqxNnsxskg)\n\n## What's next ?\n\nHere are some nice ideas to improve this app:\n\n* ~~Save output data in XML / JSON file~~ **DONE !** Output data are stored in CSV (lighter than XML / JSON and easier to parse)\n* ~~Use the geiger board as random number generator~~ **DONE !** A separate project uses the same geiger board to roll dice: https://github.com/nmrr/flipperzero-atomicdiceroller\n* Send data on the air in real time to monitor remotly\n* Buzz when it gets dangerous like a dosimeter\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* 2024-01-15\n  * Global schema has been updated\n  * Gallery has beed upadated\n  * Rebuild of the app with the last toolchain\n\n* 2023-08-06\n  * Code optimization (shift operation on CPS array has been removed)\n  * Version section has been added\n\n* 2023-07-03\n  * Data recording function has been added\n\n* 2023-06-25\n  * Add zoom capability\n  * User gallery has been added\n\n* 2023-06-08\n  * Bug fix\n\n* 2023-04-11\n  * More usable/unusable sources\n  * Rad unit has been added\n  * Code refactoring by replacing old mutex call by new method\n\n* 2023-03-01\n  * Usable/unusable sources have been added\n\n* 2023-02-26\n  * More clarity about how to connect audio jack cable on A7 GPIO\n\n* 2023-02-02\n  * μSv/h and mSv/y have been added\n  * 5V pin is now automatically enabled when the program is launched\n\n* 2023-01-15\n  * Code fix \u0026 optimizations\n  * More events can be handled without any issue\n\n* 2023-01-09\n  * Code fix\n  * Global schema has been added\n\n* 2023-01-08\n  * Initial release\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnmrr%2Fflipperzero-geigercounter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnmrr%2Fflipperzero-geigercounter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnmrr%2Fflipperzero-geigercounter/lists"}