{"adoption": {"forks": 154, "observed_at": "2026-08-28T04:03:49.851986+00:00", "stars": 1164}, "canonical_url": "https://ross.abutalabs.com/products/brcmpatchram", "card": {"archived": false, "artifact_type": "plugin", "description": null, "domain": ["hardware", "operating-systems", "developer-tools"], "enriched": true, "function": ["embedded", "sdk", "developer-tools"], "health_score": 82, "homepage": null, "language": "C++", "license": "GPL-2.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["acidanthera/BrcmPatchRAM"], "name": "acidanthera/BrcmPatchRAM", "platform": ["cpp"], "pushed_at": "2026-03-20T15:15:00+00:00", "repo": "acidanthera/BrcmPatchRAM", "stars": 1164, "tags": ["hackintosh", "kext", "bluetooth", "broadcom", "firmware-upload", "macos-driver", "macos"], "topics": [], "urls": [], "use_cases": ["get Broadcom USB Bluetooth dongle working on macOS", "fix Bluetooth not working after wake from sleep on Hackintosh", "upload firmware to Broadcom Bluetooth adapter on macOS startup", "replace Windows RAMUSB firmware mechanism on macOS", "enable non-Apple Broadcom Bluetooth card in a Hackintosh build", "inject Broadcom Bluetooth firmware via OpenCore bootloader"], "what_it_is": "A macOS kernel extension (kext) that applies PatchRAM firmware updates to Broadcom RAMUSB-based Bluetooth devices at every startup or wakeup, replicating the behavior of the Windows Broadcom driver. It includes firmware kexts extracted from Windows drivers and supports different macOS versions via BrcmPatchRAM, BrcmPatchRAM2, and BrcmPatchRAM3 variants.", "when_to_avoid": ["your Bluetooth device is an original Apple Broadcom chipset (not RAMUSB)", "you are on Linux or Windows where native drivers already handle firmware", "you use a non-Broadcom Bluetooth adapter"], "when_to_choose": ["you run macOS (especially a Hackintosh) with a Broadcom RAMUSB Bluetooth device that lacks firmware on boot", "Bluetooth disappears after sleep/wake and needs firmware re-upload", "you need bootloader-injectable firmware kexts for Broadcom Bluetooth"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/brcmpatchram", "repo": "acidanthera/BrcmPatchRAM", "role": "main", "score": 68}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.851986+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:29:35.324136+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1be7f392024cd5de4dd7e5f279e724ac4b487554e088b66470e568236d9d6727", "fetched_at": "2026-08-28T04:03:49.851986+00:00", "kind": "readme", "missing": false, "url": "https://github.com/acidanthera/BrcmPatchRAM"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.851986+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:29:35.324136+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1be7f392024cd5de4dd7e5f279e724ac4b487554e088b66470e568236d9d6727", "fetched_at": "2026-08-28T04:03:49.851986+00:00", "kind": "readme", "missing": false, "url": "https://github.com/acidanthera/BrcmPatchRAM"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:29:35.324136+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1be7f392024cd5de4dd7e5f279e724ac4b487554e088b66470e568236d9d6727", "fetched_at": "2026-08-28T04:03:49.851986+00:00", "kind": "readme", "missing": false, "url": "https://github.com/acidanthera/BrcmPatchRAM"}], "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:03:49.851986+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.851986+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.851986+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:29:35.324136+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1be7f392024cd5de4dd7e5f279e724ac4b487554e088b66470e568236d9d6727", "fetched_at": "2026-08-28T04:03:49.851986+00:00", "kind": "readme", "missing": false, "url": "https://github.com/acidanthera/BrcmPatchRAM"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.851986+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.851986+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:29:35.324136+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1be7f392024cd5de4dd7e5f279e724ac4b487554e088b66470e568236d9d6727", "fetched_at": "2026-08-28T04:03:49.851986+00:00", "kind": "readme", "missing": false, "url": "https://github.com/acidanthera/BrcmPatchRAM"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.851986+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.851986+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.851986+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:29:35.324136+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1be7f392024cd5de4dd7e5f279e724ac4b487554e088b66470e568236d9d6727", "fetched_at": "2026-08-28T04:03:49.851986+00:00", "kind": "readme", "missing": false, "url": "https://github.com/acidanthera/BrcmPatchRAM"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.851986+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.851986+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:29:35.324136+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1be7f392024cd5de4dd7e5f279e724ac4b487554e088b66470e568236d9d6727", "fetched_at": "2026-08-28T04:03:49.851986+00:00", "kind": "readme", "missing": false, "url": "https://github.com/acidanthera/BrcmPatchRAM"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:29:35.324136+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1be7f392024cd5de4dd7e5f279e724ac4b487554e088b66470e568236d9d6727", "fetched_at": "2026-08-28T04:03:49.851986+00:00", "kind": "readme", "missing": false, "url": "https://github.com/acidanthera/BrcmPatchRAM"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:29:35.324136+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1be7f392024cd5de4dd7e5f279e724ac4b487554e088b66470e568236d9d6727", "fetched_at": "2026-08-28T04:03:49.851986+00:00", "kind": "readme", "missing": false, "url": "https://github.com/acidanthera/BrcmPatchRAM"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:29:35.324136+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1be7f392024cd5de4dd7e5f279e724ac4b487554e088b66470e568236d9d6727", "fetched_at": "2026-08-28T04:03:49.851986+00:00", "kind": "readme", "missing": false, "url": "https://github.com/acidanthera/BrcmPatchRAM"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 73, "longevity": 100, "rhythm": 43}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2540, "days_push": 166, "days_rel": 166, "gap_med": 182, "n_releases_24m": 4}, "score": 68, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}