{
  "id": "fujifilm/hs20exr",
  "vendor": "Fujifilm",
  "model": "HS20EXR",
  "category": "camera",
  "status": "partial-protocol",
  "summary": "Fujihack documents its RTOS API and patches its firmware 1.04 with a USB debugger (experimental).",
  "projects": [
    {
      "name": "Fujihack",
      "url": "https://github.com/fujihack/fujihack/tree/master/model",
      "kind": "firmware",
      "license": "GPL-3.0-only",
      "freedom": {
        "nonfree": [
          "device-firmware"
        ],
        "cloud": "none",
        "notes": "A patch on top of Fujifilm's firmware, which stays."
      }
    }
  ],
  "install": [
    {
      "project": "Fujihack",
      "method": "sd-card",
      "guide": "https://github.com/fujihack/fujihack#readme",
      "difficulty": "hard",
      "tools": [
        "Computer with a C toolchain",
        "SD card",
        "USB cable"
      ],
      "opens_device": false,
      "brick_risk": "high",
      "reversible": "partial",
      "firmware_constraints": "Built against Fujifilm firmware 1.04.",
      "notes": "A patched firmware update is built from Fujifilm's own and installed from the card like an official update; the USB debugger then runs code on the camera. Experimental: a bad patch can brick the camera and its boot ROM recovery is not reverse engineered. Flashing an unmodified official update restores it if the camera still boots."
    }
  ],
  "provenance": {
    "sources": [
      "fujihack"
    ]
  },
  "updated": "2026-11-01"
}