{"adoption": {"forks": 146, "observed_at": "2026-08-28T04:05:44.860933+00:00", "stars": 1856}, "canonical_url": "https://ross.abutalabs.com/products/nrfmicro", "card": {"archived": false, "artifact_type": "application", "description": "A Pro Micro alternative for wireless keyboards", "domain": ["hardware", "embedded-systems", "cross-platform"], "enriched": true, "function": ["embedded", "developer-tools"], "health_score": 41, "homepage": "https://github.com/joric/nrfmicro/wiki", "language": "HTML", "license": "Unlicense", "license_family": "permissive", "maturity": "active", "member_repos": ["joric/nrfmicro"], "name": "joric/nrfmicro", "platform": ["embedded"], "pushed_at": "2025-08-04T01:46:45+00:00", "repo": "joric/nrfmicro", "stars": 1856, "tags": ["hardware", "pcb", "keyboard", "wireless", "nrf52840", "pro-micro", "zmk", "bluetooth", "diy-electronics", "open-hardware"], "topics": [], "urls": [], "use_cases": ["convert a wired Pro Micro split keyboard to wireless", "build a custom Bluetooth keyboard controller", "find a Pro Micro alternative with battery support", "order PCB gerbers for a wireless keyboard controller", "flash ZMK firmware on an nRF52840 keyboard controller", "learn how to solder and assemble a small BLE MCU board"], "what_it_is": "nRFMicro is an open-source hardware project providing a DIY drop-in Pro Micro replacement controller based on the nRF52840, designed to convert wired split keyboards into true wireless (Bluetooth) keyboards. It includes PCB gerbers, schematics, BOM, KiCad design files, and documentation for building and flashing the controller with firmware such as ZMK.", "when_to_avoid": ["you just want to buy a ready-made controller (the wiki itself recommends SuperMini NRF52840 modules as cheaper and better)", "you need a wired-only controller with no battery support", "you are not comfortable with SMD soldering and PCB ordering"], "when_to_choose": ["you want a drop-in wireless replacement for a Pro Micro-based keyboard", "you need open hardware with full schematics, gerbers, and iBOM", "you plan to use ZMK firmware for a split wireless keyboard", "you want to solder and assemble your own controller board"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/nrfmicro", "repo": "joric/nrfmicro", "role": "main", "score": 39}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.860933+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:16:39.213698+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dec0786344a3d877bbfa24f0c6bca001c1ecc966dad3f89825a6d2ea17ca3a9", "fetched_at": "2026-08-28T04:05:44.860933+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joric/nrfmicro"}, {"content_hash": "e5f1981b72af183bd14ec46034ae396b76a4458be5b7224f51de439b4d3babca", "fetched_at": "2026-08-29T10:55:26.682701+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/joric/nrfmicro/wiki"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.860933+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:16:39.213698+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dec0786344a3d877bbfa24f0c6bca001c1ecc966dad3f89825a6d2ea17ca3a9", "fetched_at": "2026-08-28T04:05:44.860933+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joric/nrfmicro"}, {"content_hash": "e5f1981b72af183bd14ec46034ae396b76a4458be5b7224f51de439b4d3babca", "fetched_at": "2026-08-29T10:55:26.682701+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/joric/nrfmicro/wiki"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:16:39.213698+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dec0786344a3d877bbfa24f0c6bca001c1ecc966dad3f89825a6d2ea17ca3a9", "fetched_at": "2026-08-28T04:05:44.860933+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joric/nrfmicro"}, {"content_hash": "e5f1981b72af183bd14ec46034ae396b76a4458be5b7224f51de439b4d3babca", "fetched_at": "2026-08-29T10:55:26.682701+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/joric/nrfmicro/wiki"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.860933+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.860933+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.860933+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:16:39.213698+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dec0786344a3d877bbfa24f0c6bca001c1ecc966dad3f89825a6d2ea17ca3a9", "fetched_at": "2026-08-28T04:05:44.860933+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joric/nrfmicro"}, {"content_hash": "e5f1981b72af183bd14ec46034ae396b76a4458be5b7224f51de439b4d3babca", "fetched_at": "2026-08-29T10:55:26.682701+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/joric/nrfmicro/wiki"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.860933+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.860933+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:16:39.213698+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dec0786344a3d877bbfa24f0c6bca001c1ecc966dad3f89825a6d2ea17ca3a9", "fetched_at": "2026-08-28T04:05:44.860933+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joric/nrfmicro"}, {"content_hash": "e5f1981b72af183bd14ec46034ae396b76a4458be5b7224f51de439b4d3babca", "fetched_at": "2026-08-29T10:55:26.682701+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/joric/nrfmicro/wiki"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.860933+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.860933+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.860933+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:16:39.213698+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dec0786344a3d877bbfa24f0c6bca001c1ecc966dad3f89825a6d2ea17ca3a9", "fetched_at": "2026-08-28T04:05:44.860933+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joric/nrfmicro"}, {"content_hash": "e5f1981b72af183bd14ec46034ae396b76a4458be5b7224f51de439b4d3babca", "fetched_at": "2026-08-29T10:55:26.682701+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/joric/nrfmicro/wiki"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.860933+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:44.860933+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:16:39.213698+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dec0786344a3d877bbfa24f0c6bca001c1ecc966dad3f89825a6d2ea17ca3a9", "fetched_at": "2026-08-28T04:05:44.860933+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joric/nrfmicro"}, {"content_hash": "e5f1981b72af183bd14ec46034ae396b76a4458be5b7224f51de439b4d3babca", "fetched_at": "2026-08-29T10:55:26.682701+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/joric/nrfmicro/wiki"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:16:39.213698+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dec0786344a3d877bbfa24f0c6bca001c1ecc966dad3f89825a6d2ea17ca3a9", "fetched_at": "2026-08-28T04:05:44.860933+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joric/nrfmicro"}, {"content_hash": "e5f1981b72af183bd14ec46034ae396b76a4458be5b7224f51de439b4d3babca", "fetched_at": "2026-08-29T10:55:26.682701+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/joric/nrfmicro/wiki"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:16:39.213698+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dec0786344a3d877bbfa24f0c6bca001c1ecc966dad3f89825a6d2ea17ca3a9", "fetched_at": "2026-08-28T04:05:44.860933+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joric/nrfmicro"}, {"content_hash": "e5f1981b72af183bd14ec46034ae396b76a4458be5b7224f51de439b4d3babca", "fetched_at": "2026-08-29T10:55:26.682701+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/joric/nrfmicro/wiki"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:16:39.213698+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dec0786344a3d877bbfa24f0c6bca001c1ecc966dad3f89825a6d2ea17ca3a9", "fetched_at": "2026-08-28T04:05:44.860933+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joric/nrfmicro"}, {"content_hash": "e5f1981b72af183bd14ec46034ae396b76a4458be5b7224f51de439b4d3babca", "fetched_at": "2026-08-29T10:55:26.682701+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/joric/nrfmicro/wiki"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 35, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2748, "days_push": 395, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 39, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}