{
  "added_at": "2026-11-09",
  "additional_evidence_urls": [
    "https://github.com/FletcherD/tc66-custom-fw/blob/65accb42ce94526649f7553c927d4edae9389a71/rust/Makefile",
    "https://github.com/FletcherD/tc66-custom-fw/blob/65accb42ce94526649f7553c927d4edae9389a71/tools/tc66flash.py",
    "https://github.com/FletcherD/tc66-custom-fw/blob/65accb42ce94526649f7553c927d4edae9389a71/LICENSE"
  ],
  "category": "reconstruction-cases",
  "class": "hardware",
  "description_en": "Replacement firmware for the RuiDeng TC66 and TC66C USB-C meters. Stock firmware is not in the repository; make release in rust/ writes tc66fw-release.enc.bin, an AES-encrypted image for the stock bootloader.",
  "description_zh": "RuiDeng TC66 和 TC66C USB-C 功率计的替代固件。原厂固件不在仓库中；在 rust/ 中执行 make release 会写出 tc66fw-release.enc.bin，这是给原厂 bootloader 使用的 AES 加密镜像。",
  "entry_url": "https://awesomerea.org/resources/tc66-meter-firmware-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/tc66-meter-firmware-case/",
  "evidence_url": "https://github.com/FletcherD/tc66-custom-fw/blob/65accb42ce94526649f7553c927d4edae9389a71/README.md",
  "group": "cases",
  "id": "tc66-meter-firmware-case",
  "json_url": "https://awesomerea.org/resources/tc66-meter-firmware-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/tc66-meter-firmware-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/tc66-meter-firmware-case/index.md",
  "name": "TC66 custom firmware: a replacement image for the RuiDeng USB-C meter",
  "name_zh": "TC66 定制固件：RuiDeng USB-C 功率计的替代镜像",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "testing",
    "license"
  ],
  "requirements": [
    "Commit 65accb42ce94526649f7553c927d4edae9389a71. The README says the TC66C, with a GD32F150G8 MCU, has been tested, and that the TC66 uses the same board design and has not been tested. Other RuiDeng meters are not supported. The stock image is not redistributed. uv run tc66flash.py stock downloads official V1.18 and checks SHA-256 ef796b29557c91e0a469740ba1934ca0a838916c76ab55eb6d1253da32830940. tools/tc66flash.py maps USB IDs 0x28E9:0x018A.",
    "From rust/, make release writes tc66fw-release.enc.bin. The Makefile calls that file an AES-encrypted image for the stock bootloader. The README says the bootloader itself is never written.",
    "LICENSE is the MIT license, copyright 2026 Fletcher."
  ],
  "requirements_zh": [
    "提交 65accb42ce94526649f7553c927d4edae9389a71。README 写明带 GD32F150G8 MCU 的 TC66C 已经测试，TC66 使用同一块板但尚未测试。其他 RuiDeng 表计不受支持。原厂镜像不在仓库中再分发。uv run tc66flash.py stock 会下载官方 V1.18，并核对 SHA-256 ef796b29557c91e0a469740ba1934ca0a838916c76ab55eb6d1253da32830940。tools/tc66flash.py 把 USB ID 记为 0x28E9:0x018A。",
    "在 rust/ 中，make release 写出 tc66fw-release.enc.bin。Makefile 称该文件是给原厂 bootloader 的 AES 加密镜像。README 写明 bootloader 本身不会被写入。",
    "LICENSE 是 MIT 许可，版权 2026 Fletcher。"
  ],
  "targets": [
    "firmware"
  ],
  "url": "https://github.com/FletcherD/tc66-custom-fw",
  "verification": "source-reviewed",
  "verified_at": "2026-11-03"
}
