{"adoption": {"forks": 1321, "observed_at": "2026-08-28T04:09:11.296037+00:00", "stars": 5145}, "canonical_url": "https://ross.abutalabs.com/products/stlink", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Open source STM32 MCU programming toolset", "domain": ["embedded-systems", "developer-tools", "hardware"], "enriched": true, "function": ["developer-tools", "embedded", "cli", "gui", "sdk"], "health_score": 84, "homepage": null, "language": "C", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "active", "member_repos": ["stlink-org/stlink"], "name": "stlink-org/stlink", "platform": ["windows", "cli", "cross-platform"], "pushed_at": "2026-08-15T20:33:10+00:00", "repo": "stlink-org/stlink", "stars": 5145, "tags": ["stm32", "stlink", "flash-programming", "gdb-server", "jtag", "swd", "cortex-m", "firmware-flashing", "debugging", "microcontroller", "linux", "macos"], "topics": ["stlink", "stm32", "chip", "embedded", "gdb", "nucleo", "board", "toolset", "arm", "cortex-m", "microcontroller", "mcu", "semihosting", "trace"], "urls": [], "use_cases": ["flash firmware to an STM32 microcontroller", "debug STM32 firmware with GDB in VS Code", "read chip information from an STLINK programmer", "dump or write flash memory on an STM32 board", "trace execution on a Cortex-M microcontroller", "use a cheap STLINK clone instead of ST's proprietary tools", "serve a remote ST-LINK over TCP"], "what_it_is": "An open-source toolset for programming and debugging STM32 microcontrollers via STLINK programmer hardware, including flash tools, a GDB server, chip info utilities, and a communication library. It supports all four generations of STLINK adapters and their clones across Linux, macOS, and Windows.", "when_to_avoid": ["you target non-ST microcontrollers or non-STLINK debug probes", "you need a full IDE or graphical flashing suite with vendor support", "you work with other debug protocols like J-Link without STLINK hardware"], "when_to_choose": ["you program or debug STM32/ARM Cortex-M devices with STLINK hardware", "you want an open-source alternative to ST's STM32CubeProgrammer", "you need a GDB server for embedded development in VS Code or other IDEs"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/stlink", "repo": "stlink-org/stlink", "role": "main", "score": 66}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.296037+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:01:58.244823+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3704485d136e59f733c33f562b40abd7baed06b8de4056053a9516de8a1fa36f", "fetched_at": "2026-08-28T04:09:11.296037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stlink-org/stlink"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.296037+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:01:58.244823+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3704485d136e59f733c33f562b40abd7baed06b8de4056053a9516de8a1fa36f", "fetched_at": "2026-08-28T04:09:11.296037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stlink-org/stlink"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:01:58.244823+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3704485d136e59f733c33f562b40abd7baed06b8de4056053a9516de8a1fa36f", "fetched_at": "2026-08-28T04:09:11.296037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stlink-org/stlink"}], "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:11.296037+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.296037+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.296037+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:01:58.244823+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3704485d136e59f733c33f562b40abd7baed06b8de4056053a9516de8a1fa36f", "fetched_at": "2026-08-28T04:09:11.296037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stlink-org/stlink"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.296037+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.296037+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:01:58.244823+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3704485d136e59f733c33f562b40abd7baed06b8de4056053a9516de8a1fa36f", "fetched_at": "2026-08-28T04:09:11.296037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stlink-org/stlink"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.296037+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.296037+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.296037+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:01:58.244823+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3704485d136e59f733c33f562b40abd7baed06b8de4056053a9516de8a1fa36f", "fetched_at": "2026-08-28T04:09:11.296037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stlink-org/stlink"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.296037+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.296037+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:01:58.244823+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3704485d136e59f733c33f562b40abd7baed06b8de4056053a9516de8a1fa36f", "fetched_at": "2026-08-28T04:09:11.296037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stlink-org/stlink"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:01:58.244823+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3704485d136e59f733c33f562b40abd7baed06b8de4056053a9516de8a1fa36f", "fetched_at": "2026-08-28T04:09:11.296037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stlink-org/stlink"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:01:58.244823+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3704485d136e59f733c33f562b40abd7baed06b8de4056053a9516de8a1fa36f", "fetched_at": "2026-08-28T04:09:11.296037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stlink-org/stlink"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:01:58.244823+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3704485d136e59f733c33f562b40abd7baed06b8de4056053a9516de8a1fa36f", "fetched_at": "2026-08-28T04:09:11.296037+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stlink-org/stlink"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "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": 5710, "days_push": 18, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 66, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}