{"adoption": {"forks": 527, "observed_at": "2026-08-28T04:09:02.633336+00:00", "stars": 4932}, "canonical_url": "https://ross.abutalabs.com/products/logicanalyzer", "card": {"archived": false, "artifact_type": "application", "description": "24 channel, 100Msps logic analyzer hardware and software", "domain": ["developer-tools", "hardware", "embedded-systems"], "enriched": true, "function": ["developer-tools", "data-visualization", "cli", "gui"], "health_score": 90, "homepage": null, "language": "Python", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["gusmanb/logicanalyzer"], "name": "gusmanb/logicanalyzer", "platform": ["cross-platform", "python", "embedded"], "pushed_at": "2026-08-23T16:21:15+00:00", "repo": "gusmanb/logicanalyzer", "stars": 4932, "tags": ["logic-analyzer", "raspberry-pi-pico", "signal-capture", "sigrok-decoders", "open-hardware", "electronics-debugging"], "topics": [], "urls": [], "use_cases": ["capture and decode digital signals from embedded devices", "debug SPI, I2C, or UART communication between chips", "reverse engineer protocols on retro computers like the ZX Spectrum", "view timing of GPIO signals with a logic analyzer on a budget", "record 24-channel digital captures at 100Msps", "decode bus traffic using Sigrok protocol decoders"], "what_it_is": "An open-source 24-channel, 100Msps logic analyzer combining custom hardware (based on Raspberry Pi Pico) with Python-based capture and analysis software. It supports Sigrok protocol decoders, auto-detection of devices, and both GUI and terminal capture applications.", "when_to_avoid": ["you need a commercial-grade analyzer with warranty and support", "you require sample rates or channel counts beyond 100Msps/24 channels", "you want plug-and-play hardware without assembly or ordering from PCBWay"], "when_to_choose": ["you need a low-cost, open-source logic analyzer with many channels", "you want Sigrok decoder support with a modern Python-based UI", "you are comfortable building or ordering the companion hardware"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/logicanalyzer", "repo": "gusmanb/logicanalyzer", "role": "main", "score": 79}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.633336+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:17:58.442940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7cd91d4c2d029578bab3f281abe57749f1008e9c5e84a23c1602444ed613f657", "fetched_at": "2026-08-28T04:09:02.633336+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gusmanb/logicanalyzer"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.633336+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:17:58.442940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7cd91d4c2d029578bab3f281abe57749f1008e9c5e84a23c1602444ed613f657", "fetched_at": "2026-08-28T04:09:02.633336+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gusmanb/logicanalyzer"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:17:58.442940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7cd91d4c2d029578bab3f281abe57749f1008e9c5e84a23c1602444ed613f657", "fetched_at": "2026-08-28T04:09:02.633336+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gusmanb/logicanalyzer"}], "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:09:02.633336+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.633336+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.633336+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:17:58.442940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7cd91d4c2d029578bab3f281abe57749f1008e9c5e84a23c1602444ed613f657", "fetched_at": "2026-08-28T04:09:02.633336+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gusmanb/logicanalyzer"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.633336+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.633336+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:17:58.442940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7cd91d4c2d029578bab3f281abe57749f1008e9c5e84a23c1602444ed613f657", "fetched_at": "2026-08-28T04:09:02.633336+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gusmanb/logicanalyzer"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.633336+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.633336+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.633336+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:17:58.442940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7cd91d4c2d029578bab3f281abe57749f1008e9c5e84a23c1602444ed613f657", "fetched_at": "2026-08-28T04:09:02.633336+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gusmanb/logicanalyzer"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.633336+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.633336+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:17:58.442940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7cd91d4c2d029578bab3f281abe57749f1008e9c5e84a23c1602444ed613f657", "fetched_at": "2026-08-28T04:09:02.633336+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gusmanb/logicanalyzer"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:17:58.442940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7cd91d4c2d029578bab3f281abe57749f1008e9c5e84a23c1602444ed613f657", "fetched_at": "2026-08-28T04:09:02.633336+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gusmanb/logicanalyzer"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:17:58.442940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7cd91d4c2d029578bab3f281abe57749f1008e9c5e84a23c1602444ed613f657", "fetched_at": "2026-08-28T04:09:02.633336+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gusmanb/logicanalyzer"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:17:58.442940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7cd91d4c2d029578bab3f281abe57749f1008e9c5e84a23c1602444ed613f657", "fetched_at": "2026-08-28T04:09:02.633336+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gusmanb/logicanalyzer"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 40}, "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": 1522, "days_push": 10, "days_rel": 570, "gap_med": 7, "n_releases_24m": 2}, "score": 79, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}