{"adoption": {"forks": 367, "observed_at": "2026-08-28T04:04:51.003000+00:00", "stars": 1482}, "canonical_url": "https://ross.abutalabs.com/products/deng-s-foc-controller", "card": {"archived": false, "artifact_type": "application", "description": "灯哥开源 FOC 双路迷你无刷电机驱动", "domain": ["robotics", "embedded-systems", "hardware"], "enriched": true, "function": ["embedded", "robotics"], "health_score": 20, "homepage": null, "language": "C++", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["ToanTech/Deng-s-foc-controller"], "name": "ToanTech/Deng-s-foc-controller", "platform": ["embedded", "iot"], "pushed_at": "2024-02-01T04:09:45+00:00", "repo": "ToanTech/Deng-s-foc-controller", "stars": 1482, "tags": ["foc", "brushless-motor", "esp32", "motor-controller", "simplefoc", "open-hardware", "gimbal-motor"], "topics": [], "urls": [], "use_cases": ["drive two brushless gimbal motors with FOC control", "build a low-cost quadruped robot with brushless actuators", "learn FOC motor control algorithms on ESP32", "control motor position, speed, and torque closed-loop", "build self-balancing robots like balance cars or reaction-wheel inverted pendulums", "configure motor parameters graphically with SimpleFOC Studio"], "what_it_is": "An open-source dual-channel brushless motor FOC (field-oriented control) driver board based on ESP32, with full hardware design files (BOM, schematics, PCB, Gerber) and Arduino/SimpleFOC-based firmware. It supports open- and closed-loop position, velocity, and torque control for gimbal motors with multiple encoder types and online current sensing.", "when_to_avoid": ["you need to drive high-power or industrial motors beyond 120W per channel", "you need more than two motor channels", "you require certified industrial-grade motor drivers", "you don't want to depend on the Arduino/SimpleFOC ecosystem"], "when_to_choose": ["you need a cheap dual-channel FOC driver for gimbal motors up to 120W per channel", "you want open hardware with schematics and Gerbers for DIY assembly", "you want to learn FOC with SimpleFOC on ESP32 with tutorials and community support", "you need current sensing for complete FOC control"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/deng-s-foc-controller", "repo": "ToanTech/Deng-s-foc-controller", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.003000+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:34:05.214837+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b342cb9ea1760cc7aec1b2527b2f2f68182da52c1c2bed28400a573fd944956d", "fetched_at": "2026-08-28T04:04:51.003000+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ToanTech/Deng-s-foc-controller"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.003000+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:34:05.214837+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b342cb9ea1760cc7aec1b2527b2f2f68182da52c1c2bed28400a573fd944956d", "fetched_at": "2026-08-28T04:04:51.003000+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ToanTech/Deng-s-foc-controller"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:34:05.214837+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b342cb9ea1760cc7aec1b2527b2f2f68182da52c1c2bed28400a573fd944956d", "fetched_at": "2026-08-28T04:04:51.003000+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ToanTech/Deng-s-foc-controller"}], "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:04:51.003000+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.003000+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.003000+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:34:05.214837+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b342cb9ea1760cc7aec1b2527b2f2f68182da52c1c2bed28400a573fd944956d", "fetched_at": "2026-08-28T04:04:51.003000+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ToanTech/Deng-s-foc-controller"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.003000+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.003000+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:34:05.214837+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b342cb9ea1760cc7aec1b2527b2f2f68182da52c1c2bed28400a573fd944956d", "fetched_at": "2026-08-28T04:04:51.003000+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ToanTech/Deng-s-foc-controller"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.003000+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.003000+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.003000+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:34:05.214837+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b342cb9ea1760cc7aec1b2527b2f2f68182da52c1c2bed28400a573fd944956d", "fetched_at": "2026-08-28T04:04:51.003000+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ToanTech/Deng-s-foc-controller"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.003000+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:51.003000+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:34:05.214837+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b342cb9ea1760cc7aec1b2527b2f2f68182da52c1c2bed28400a573fd944956d", "fetched_at": "2026-08-28T04:04:51.003000+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ToanTech/Deng-s-foc-controller"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:34:05.214837+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b342cb9ea1760cc7aec1b2527b2f2f68182da52c1c2bed28400a573fd944956d", "fetched_at": "2026-08-28T04:04:51.003000+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ToanTech/Deng-s-foc-controller"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:34:05.214837+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b342cb9ea1760cc7aec1b2527b2f2f68182da52c1c2bed28400a573fd944956d", "fetched_at": "2026-08-28T04:04:51.003000+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ToanTech/Deng-s-foc-controller"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:34:05.214837+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b342cb9ea1760cc7aec1b2527b2f2f68182da52c1c2bed28400a573fd944956d", "fetched_at": "2026-08-28T04:04:51.003000+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ToanTech/Deng-s-foc-controller"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2026, "days_push": 944, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}