{"adoption": {"forks": 243, "observed_at": "2026-08-28T04:03:18.430554+00:00", "stars": 1033}, "canonical_url": "https://ross.abutalabs.com/products/esp-hosted", "card": {"archived": false, "artifact_type": "library", "description": "Hosted Solution (Linux/MCU) with ESP32 (Wi-Fi + BT + BLE)", "domain": ["iot", "embedded-systems", "networking", "hardware"], "enriched": true, "function": ["networking", "embedded", "sdk", "middleware"], "health_score": 96, "homepage": null, "language": "C", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["espressif/esp-hosted"], "name": "espressif/esp-hosted", "platform": ["embedded", "iot", "c", "cpp"], "pushed_at": "2026-08-07T10:17:46+00:00", "repo": "espressif/esp-hosted", "stars": 1033, "tags": ["esp32", "wifi", "bluetooth", "ble", "co-processor", "spi", "sdio", "uart", "espressif", "wireless", "linux"], "topics": [], "urls": [], "use_cases": ["add wifi to a linux single-board computer via esp32", "use esp32 as a bluetooth ble co-processor over spi", "give an stm32 microcontroller wifi connectivity", "share one ip address between host mcu and esp32", "keep wifi connection alive while host sleeps", "integrate esp32 wireless into embedded linux with networkmanager"], "what_it_is": "ESP-Hosted is an open-source solution that lets Espressif SoCs like the ESP32 act as wireless communication co-processors, adding Wi-Fi and Bluetooth/BLE to external host systems over SPI, SDIO, or UART. It ships in variants targeting Linux hosts (native cfg80211 or RPC-based control) and resource-constrained MCUs.", "when_to_avoid": ["your host already has native Wi-Fi/BT hardware", "you need Wi-Fi 6/6E or features beyond 802.11 b/g/n/ax", "you want a self-contained wireless solution without an external co-processor"], "when_to_choose": ["your host device (Linux or MCU) lacks Wi-Fi/BT and you want to add it with an ESP32 module", "you need standard Linux wireless integration via cfg80211/wpa_supplicant", "you need low-power operation where the ESP maintains connectivity while the host sleeps"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/esp-hosted", "repo": "espressif/esp-hosted", "role": "main", "score": 82}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.430554+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:06:40.174855+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5336995a6cb0b11dceed706a0c42a2209a544cdf62bec60c18096824b8a34e19", "fetched_at": "2026-08-28T04:03:18.430554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/espressif/esp-hosted"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.430554+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:06:40.174855+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5336995a6cb0b11dceed706a0c42a2209a544cdf62bec60c18096824b8a34e19", "fetched_at": "2026-08-28T04:03:18.430554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/espressif/esp-hosted"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:06:40.174855+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5336995a6cb0b11dceed706a0c42a2209a544cdf62bec60c18096824b8a34e19", "fetched_at": "2026-08-28T04:03:18.430554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/espressif/esp-hosted"}], "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:18.430554+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.430554+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.430554+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:06:40.174855+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5336995a6cb0b11dceed706a0c42a2209a544cdf62bec60c18096824b8a34e19", "fetched_at": "2026-08-28T04:03:18.430554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/espressif/esp-hosted"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.430554+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.430554+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:06:40.174855+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5336995a6cb0b11dceed706a0c42a2209a544cdf62bec60c18096824b8a34e19", "fetched_at": "2026-08-28T04:03:18.430554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/espressif/esp-hosted"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.430554+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.430554+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.430554+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:06:40.174855+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5336995a6cb0b11dceed706a0c42a2209a544cdf62bec60c18096824b8a34e19", "fetched_at": "2026-08-28T04:03:18.430554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/espressif/esp-hosted"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.430554+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.430554+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:06:40.174855+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5336995a6cb0b11dceed706a0c42a2209a544cdf62bec60c18096824b8a34e19", "fetched_at": "2026-08-28T04:03:18.430554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/espressif/esp-hosted"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:06:40.174855+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5336995a6cb0b11dceed706a0c42a2209a544cdf62bec60c18096824b8a34e19", "fetched_at": "2026-08-28T04:03:18.430554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/espressif/esp-hosted"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:06:40.174855+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5336995a6cb0b11dceed706a0c42a2209a544cdf62bec60c18096824b8a34e19", "fetched_at": "2026-08-28T04:03:18.430554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/espressif/esp-hosted"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:06:40.174855+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5336995a6cb0b11dceed706a0c42a2209a544cdf62bec60c18096824b8a34e19", "fetched_at": "2026-08-28T04:03:18.430554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/espressif/esp-hosted"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 96, "longevity": 100, "rhythm": 55}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2274, "days_push": 26, "days_rel": 142, "gap_med": 159.5, "n_releases_24m": 3}, "score": 82, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}