{"adoption": {"forks": 476, "observed_at": "2026-08-28T04:05:50.113116+00:00", "stars": 1891}, "canonical_url": "https://ross.abutalabs.com/products/diy-multiprotocol-tx-module", "card": {"archived": false, "artifact_type": "application", "description": "Multiprotocol TX Module (or MULTI-Module) is a 2.4GHz transmitter module which controls many different receivers and models.", "domain": ["hardware", "embedded-systems", "gaming-tools"], "enriched": true, "function": ["embedded", "sdk", "developer-tools"], "health_score": 99, "homepage": "https://www.rcgroups.com/forums/showthread.php?t=2165676&goto=newpost", "language": "C++", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["pascallanger/DIY-Multiprotocol-TX-Module"], "name": "pascallanger/DIY-Multiprotocol-TX-Module", "platform": ["embedded", "cpp", "cross-platform"], "pushed_at": "2026-08-21T11:24:02+00:00", "repo": "pascallanger/DIY-Multiprotocol-TX-Module", "stars": 1891, "tags": ["rc-radio", "2.4ghz", "transmitter-module", "multi-protocol", "drones", "quadcopters", "firmware"], "topics": ["multiprotocol", "module", "multi", "protocols"], "urls": [], "use_cases": ["control multiple brands of RC receivers from one transmitter module", "fly quadcopters and miniquads with a single TX module", "bind a transmitter to different receiver protocols", "build a DIY 4-in-1 RF module for an RC radio", "update multiprotocol firmware and multi.lua scripts on EdgeTX radios"], "what_it_is": "An open-source firmware for a DIY 2.4GHz multiprotocol transmitter module that lets almost any RC transmitter control many different receivers and models. It supports a wide range of protocols for helicopters, planes, quadcopters, and miniquads.", "when_to_avoid": ["you need a plug-and-play commercial module with vendor support", "you only use one proprietary protocol and don't want DIY hardware", "you are not comfortable flashing firmware or soldering hardware"], "when_to_choose": ["you want one transmitter module to speak many RC protocols", "you fly mixed fleets of planes, helis, and quads from different brands", "you want an open, community-supported alternative to brand-locked RF modules"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/diy-multiprotocol-tx-module", "repo": "pascallanger/DIY-Multiprotocol-TX-Module", "role": "main", "score": 86}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:50.113116+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:13:00.589469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "92073b6d796370d2aea357d50aa1d154e6aa46446105cce128a98fdcdff361c7", "fetched_at": "2026-08-28T04:05:50.113116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pascallanger/DIY-Multiprotocol-TX-Module"}, {"content_hash": "0540238c5b6d553ce95c47947f2a7cc29f330033f4c9ba48ad4a1a381a46fe78", "fetched_at": "2026-08-29T10:52:10.302489+00:00", "kind": "homepage", "missing": false, "url": "https://www.rcgroups.com/forums/showthread.php?t=2165676&goto=newpost"}, {"content_hash": "4d13d5fc95b7fdd3ca83f679f61aaf50bde5ab196184865f340f6a837c5ca402", "fetched_at": "2026-08-29T10:52:10.306404+00:00", "kind": "site_page", "missing": false, "url": "https://www.rcgroups.com/forums/faq.php?s=4121f13741f448679e5f5ebc0279c13d"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:50.113116+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:13:00.589469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "92073b6d796370d2aea357d50aa1d154e6aa46446105cce128a98fdcdff361c7", "fetched_at": "2026-08-28T04:05:50.113116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pascallanger/DIY-Multiprotocol-TX-Module"}, {"content_hash": "0540238c5b6d553ce95c47947f2a7cc29f330033f4c9ba48ad4a1a381a46fe78", "fetched_at": "2026-08-29T10:52:10.302489+00:00", "kind": "homepage", "missing": false, "url": "https://www.rcgroups.com/forums/showthread.php?t=2165676&goto=newpost"}, {"content_hash": "4d13d5fc95b7fdd3ca83f679f61aaf50bde5ab196184865f340f6a837c5ca402", "fetched_at": "2026-08-29T10:52:10.306404+00:00", "kind": "site_page", "missing": false, "url": "https://www.rcgroups.com/forums/faq.php?s=4121f13741f448679e5f5ebc0279c13d"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:13:00.589469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "92073b6d796370d2aea357d50aa1d154e6aa46446105cce128a98fdcdff361c7", "fetched_at": "2026-08-28T04:05:50.113116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pascallanger/DIY-Multiprotocol-TX-Module"}, {"content_hash": "0540238c5b6d553ce95c47947f2a7cc29f330033f4c9ba48ad4a1a381a46fe78", "fetched_at": "2026-08-29T10:52:10.302489+00:00", "kind": "homepage", "missing": false, "url": "https://www.rcgroups.com/forums/showthread.php?t=2165676&goto=newpost"}, {"content_hash": "4d13d5fc95b7fdd3ca83f679f61aaf50bde5ab196184865f340f6a837c5ca402", "fetched_at": "2026-08-29T10:52:10.306404+00:00", "kind": "site_page", "missing": false, "url": "https://www.rcgroups.com/forums/faq.php?s=4121f13741f448679e5f5ebc0279c13d"}], "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:50.113116+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:50.113116+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:50.113116+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:13:00.589469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "92073b6d796370d2aea357d50aa1d154e6aa46446105cce128a98fdcdff361c7", "fetched_at": "2026-08-28T04:05:50.113116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pascallanger/DIY-Multiprotocol-TX-Module"}, {"content_hash": "0540238c5b6d553ce95c47947f2a7cc29f330033f4c9ba48ad4a1a381a46fe78", "fetched_at": "2026-08-29T10:52:10.302489+00:00", "kind": "homepage", "missing": false, "url": "https://www.rcgroups.com/forums/showthread.php?t=2165676&goto=newpost"}, {"content_hash": "4d13d5fc95b7fdd3ca83f679f61aaf50bde5ab196184865f340f6a837c5ca402", "fetched_at": "2026-08-29T10:52:10.306404+00:00", "kind": "site_page", "missing": false, "url": "https://www.rcgroups.com/forums/faq.php?s=4121f13741f448679e5f5ebc0279c13d"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:50.113116+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:50.113116+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:13:00.589469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "92073b6d796370d2aea357d50aa1d154e6aa46446105cce128a98fdcdff361c7", "fetched_at": "2026-08-28T04:05:50.113116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pascallanger/DIY-Multiprotocol-TX-Module"}, {"content_hash": "0540238c5b6d553ce95c47947f2a7cc29f330033f4c9ba48ad4a1a381a46fe78", "fetched_at": "2026-08-29T10:52:10.302489+00:00", "kind": "homepage", "missing": false, "url": "https://www.rcgroups.com/forums/showthread.php?t=2165676&goto=newpost"}, {"content_hash": "4d13d5fc95b7fdd3ca83f679f61aaf50bde5ab196184865f340f6a837c5ca402", "fetched_at": "2026-08-29T10:52:10.306404+00:00", "kind": "site_page", "missing": false, "url": "https://www.rcgroups.com/forums/faq.php?s=4121f13741f448679e5f5ebc0279c13d"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:50.113116+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:50.113116+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:50.113116+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:13:00.589469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "92073b6d796370d2aea357d50aa1d154e6aa46446105cce128a98fdcdff361c7", "fetched_at": "2026-08-28T04:05:50.113116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pascallanger/DIY-Multiprotocol-TX-Module"}, {"content_hash": "0540238c5b6d553ce95c47947f2a7cc29f330033f4c9ba48ad4a1a381a46fe78", "fetched_at": "2026-08-29T10:52:10.302489+00:00", "kind": "homepage", "missing": false, "url": "https://www.rcgroups.com/forums/showthread.php?t=2165676&goto=newpost"}, {"content_hash": "4d13d5fc95b7fdd3ca83f679f61aaf50bde5ab196184865f340f6a837c5ca402", "fetched_at": "2026-08-29T10:52:10.306404+00:00", "kind": "site_page", "missing": false, "url": "https://www.rcgroups.com/forums/faq.php?s=4121f13741f448679e5f5ebc0279c13d"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:50.113116+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:50.113116+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:13:00.589469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "92073b6d796370d2aea357d50aa1d154e6aa46446105cce128a98fdcdff361c7", "fetched_at": "2026-08-28T04:05:50.113116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pascallanger/DIY-Multiprotocol-TX-Module"}, {"content_hash": "0540238c5b6d553ce95c47947f2a7cc29f330033f4c9ba48ad4a1a381a46fe78", "fetched_at": "2026-08-29T10:52:10.302489+00:00", "kind": "homepage", "missing": false, "url": "https://www.rcgroups.com/forums/showthread.php?t=2165676&goto=newpost"}, {"content_hash": "4d13d5fc95b7fdd3ca83f679f61aaf50bde5ab196184865f340f6a837c5ca402", "fetched_at": "2026-08-29T10:52:10.306404+00:00", "kind": "site_page", "missing": false, "url": "https://www.rcgroups.com/forums/faq.php?s=4121f13741f448679e5f5ebc0279c13d"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:13:00.589469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "92073b6d796370d2aea357d50aa1d154e6aa46446105cce128a98fdcdff361c7", "fetched_at": "2026-08-28T04:05:50.113116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pascallanger/DIY-Multiprotocol-TX-Module"}, {"content_hash": "0540238c5b6d553ce95c47947f2a7cc29f330033f4c9ba48ad4a1a381a46fe78", "fetched_at": "2026-08-29T10:52:10.302489+00:00", "kind": "homepage", "missing": false, "url": "https://www.rcgroups.com/forums/showthread.php?t=2165676&goto=newpost"}, {"content_hash": "4d13d5fc95b7fdd3ca83f679f61aaf50bde5ab196184865f340f6a837c5ca402", "fetched_at": "2026-08-29T10:52:10.306404+00:00", "kind": "site_page", "missing": false, "url": "https://www.rcgroups.com/forums/faq.php?s=4121f13741f448679e5f5ebc0279c13d"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:13:00.589469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "92073b6d796370d2aea357d50aa1d154e6aa46446105cce128a98fdcdff361c7", "fetched_at": "2026-08-28T04:05:50.113116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pascallanger/DIY-Multiprotocol-TX-Module"}, {"content_hash": "0540238c5b6d553ce95c47947f2a7cc29f330033f4c9ba48ad4a1a381a46fe78", "fetched_at": "2026-08-29T10:52:10.302489+00:00", "kind": "homepage", "missing": false, "url": "https://www.rcgroups.com/forums/showthread.php?t=2165676&goto=newpost"}, {"content_hash": "4d13d5fc95b7fdd3ca83f679f61aaf50bde5ab196184865f340f6a837c5ca402", "fetched_at": "2026-08-29T10:52:10.306404+00:00", "kind": "site_page", "missing": false, "url": "https://www.rcgroups.com/forums/faq.php?s=4121f13741f448679e5f5ebc0279c13d"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:13:00.589469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "92073b6d796370d2aea357d50aa1d154e6aa46446105cce128a98fdcdff361c7", "fetched_at": "2026-08-28T04:05:50.113116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pascallanger/DIY-Multiprotocol-TX-Module"}, {"content_hash": "0540238c5b6d553ce95c47947f2a7cc29f330033f4c9ba48ad4a1a381a46fe78", "fetched_at": "2026-08-29T10:52:10.302489+00:00", "kind": "homepage", "missing": false, "url": "https://www.rcgroups.com/forums/showthread.php?t=2165676&goto=newpost"}, {"content_hash": "4d13d5fc95b7fdd3ca83f679f61aaf50bde5ab196184865f340f6a837c5ca402", "fetched_at": "2026-08-29T10:52:10.306404+00:00", "kind": "site_page", "missing": false, "url": "https://www.rcgroups.com/forums/faq.php?s=4121f13741f448679e5f5ebc0279c13d"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 64}, "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": 3901, "days_push": 12, "days_rel": 29, "gap_med": 536, "n_releases_24m": 2}, "score": 86, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}