FFB-Probe report

Run on 2026-05-05 · probe 0.8.2-beta.1

This page is a website sample of the full FFB-Probe report. The friendly view below is the easier-to-read form; the JSON payload further down the page is the exact data a real local report submits when you click Share. The sample Share button is disabled here so this demonstration cannot add fake rows to the public database.

Share with the community

Sharing is private and really helps the community. Every real report adds another data point to the public hardware database — what your stick reports, what worked, what didn't.

Device: Microsoft SideWinder Force Feedback 2 045e:001b

Axes / buttons / POVs
4 / 8 / 1
FF sample period
1000000 µs
FF time resolution
1000000 µs
Firmware revision
0x0000
Hardware revision
0x001B
FF driver version
0x0001
Capability flags
DIDC_ATTACHED | DIDC_EMULATED | DIDC_FORCEFEEDBACK | DIDC_FFATTACK | DIDC_FFFADE | DIDC_SATURATION | DIDC_DEADBAND

Supported effects

NameType flags
Constant ForceDIEFT_CONSTANTFORCE | FFATTACK | FFFADE | STARTDELAY
Ramp ForceDIEFT_RAMPFORCE | FFATTACK | FFFADE | STARTDELAY
SquareDIEFT_PERIODIC | FFATTACK | FFFADE | STARTDELAY
SineDIEFT_PERIODIC | FFATTACK | FFFADE | STARTDELAY
TriangleDIEFT_PERIODIC | FFATTACK | FFFADE | STARTDELAY
Sawtooth UpDIEFT_PERIODIC | FFATTACK | FFFADE | STARTDELAY
Sawtooth DownDIEFT_PERIODIC | FFATTACK | FFFADE | STARTDELAY
SpringDIEFT_CONDITION | SATURATION | DEADBAND | STARTDELAY
DamperDIEFT_CONDITION | SATURATION | DEADBAND | STARTDELAY
InertiaDIEFT_CONDITION | SATURATION | DEADBAND | STARTDELAY
FrictionDIEFT_CONDITION | SATURATION | DEADBAND | STARTDELAY
Custom ForceDIEFT_CUSTOMFORCE | SATURATION | DEADBAND | STARTDELAY

System

Family
Windows
Version
Microsoft Windows NT 10
Build
Microsoft Windows NT 10.0.26200.0
Architecture
X64
.NET runtime
.NET 10.0.7

Responses

EffectLabelsNotes PRIVATE
Polarity sweep — DI east (0°)Backward
Polarity sweep — DI south (90°)Left
Polarity sweep — DI west (180°)Forward
Polarity sweep — DI north (270°)RightSlight overshoot before settling — feels stronger than the south direction
Two-axis diagonal — diagonal (X=75%, Y=75%)Diagonal
SquareBuzzing, Fast oscillation
SineSlow oscillation
TriangleSlow oscillation
Sawtooth UpRamping
Sawtooth DownRamping
SpringCentered
DamperDamped
InertiaInertia
FrictionFriction
Saturation — 1 co-directional constantsDiagonal
Saturation — 2 co-directional constantsDiagonal
Saturation — 3 co-directional constantsDiagonalReached the actuator's apparent ceiling around step 3

The Notes column is the one field on this report that is not uploaded to the public hardware database. Everything else on this page — capability flags, supported effects, chip labels, HRESULT codes, failed effects, run errors — appears on ffb-probe.com/db exactly as printed here.

Diagnostics

These fields are public — they appear on the device's page at ffb-probe.com/db alongside the capability snapshot. None of the values are PII; pointer addresses are stripped, file paths are regex-redacted to <path>.

Per-effect HRESULTs

EffectCreatePlayStop
SquareOKOKOK
SineOKOKOK
TriangleOKOKOK
Sawtooth UpOKOKOK
Sawtooth DownOKOKOK
SpringOKOKOK
DamperOKOKOK
InertiaOKOKOK
FrictionOKOKOK

JSON payload

This is the literal payload a real local report submits to ffb-probe.com when you click Share. Everything you see here is everything that's sent — no hidden side-channel. This website sample is inert.

{
  "schema": 1,
  "submitted_date": "2026-05-05",
  "device": {
    "vid": "045e",
    "pid": "001b",
    "name": "Microsoft SideWinder Force Feedback 2",
    "axes": 4,
    "buttons": 8,
    "povs": 1,
    "ff_sample_period_us": 1000000,
    "ff_min_time_resolution_us": 1000000,
    "firmware_revision": "0x0000",
    "hardware_revision": "0x001B",
    "ff_driver_version": "0x0001",
    "capability_flags": "DIDC_ATTACHED | DIDC_EMULATED | DIDC_FORCEFEEDBACK | DIDC_FFATTACK | DIDC_FFFADE | DIDC_SATURATION | DIDC_DEADBAND",
    "supported_effects": [
      {
        "name": "Constant Force",
        "type_flags": "DIEFT_CONSTANTFORCE | FFATTACK | FFFADE | STARTDELAY"
      },
      {
        "name": "Ramp Force",
        "type_flags": "DIEFT_RAMPFORCE | FFATTACK | FFFADE | STARTDELAY"
      },
      {
        "name": "Square",
        "type_flags": "DIEFT_PERIODIC | FFATTACK | FFFADE | STARTDELAY"
      },
      {
        "name": "Sine",
        "type_flags": "DIEFT_PERIODIC | FFATTACK | FFFADE | STARTDELAY"
      },
      {
        "name": "Triangle",
        "type_flags": "DIEFT_PERIODIC | FFATTACK | FFFADE | STARTDELAY"
      },
      {
        "name": "Sawtooth Up",
        "type_flags": "DIEFT_PERIODIC | FFATTACK | FFFADE | STARTDELAY"
      },
      {
        "name": "Sawtooth Down",
        "type_flags": "DIEFT_PERIODIC | FFATTACK | FFFADE | STARTDELAY"
      },
      {
        "name": "Spring",
        "type_flags": "DIEFT_CONDITION | SATURATION | DEADBAND | STARTDELAY"
      },
      {
        "name": "Damper",
        "type_flags": "DIEFT_CONDITION | SATURATION | DEADBAND | STARTDELAY"
      },
      {
        "name": "Inertia",
        "type_flags": "DIEFT_CONDITION | SATURATION | DEADBAND | STARTDELAY"
      },
      {
        "name": "Friction",
        "type_flags": "DIEFT_CONDITION | SATURATION | DEADBAND | STARTDELAY"
      },
      {
        "name": "Custom Force",
        "type_flags": "DIEFT_CUSTOMFORCE | SATURATION | DEADBAND | STARTDELAY"
      }
    ]
  },
  "os": {
    "family": "Windows",
    "version": "Microsoft Windows NT 10",
    "build": "Microsoft Windows NT 10.0.26200.0",
    "architecture": "X64",
    "dotnet_runtime": ".NET 10.0.7"
  },
  "probe_version": "0.8.2-beta.1",
  "responses": [
    {
      "effect": "Polarity sweep — DI east (0°)",
      "labels": ["Backward"],
      "notes": null
    },
    {
      "effect": "Polarity sweep — DI south (90°)",
      "labels": ["Left"],
      "notes": null
    },
    {
      "effect": "Polarity sweep — DI west (180°)",
      "labels": ["Forward"],
      "notes": null
    },
    {
      "effect": "Polarity sweep — DI north (270°)",
      "labels": ["Right"],
      "notes": "Slight overshoot before settling — feels stronger than the south direction"
    },
    {
      "effect": "Two-axis diagonal — diagonal (X=75%, Y=75%)",
      "labels": ["Diagonal"],
      "notes": null
    },
    {
      "effect": "Square",
      "labels": ["Buzzing", "Fast oscillation"],
      "notes": null
    },
    {
      "effect": "Sine",
      "labels": ["Slow oscillation"],
      "notes": null
    },
    {
      "effect": "Triangle",
      "labels": ["Slow oscillation"],
      "notes": null
    },
    {
      "effect": "Sawtooth Up",
      "labels": ["Ramping"],
      "notes": null
    },
    {
      "effect": "Sawtooth Down",
      "labels": ["Ramping"],
      "notes": null
    },
    {
      "effect": "Spring",
      "labels": ["Centered"],
      "notes": null
    },
    {
      "effect": "Damper",
      "labels": ["Damped"],
      "notes": null
    },
    {
      "effect": "Inertia",
      "labels": ["Inertia"],
      "notes": null
    },
    {
      "effect": "Friction",
      "labels": ["Friction"],
      "notes": null
    },
    {
      "effect": "Saturation — 1 co-directional constants",
      "labels": ["Diagonal"],
      "notes": null
    },
    {
      "effect": "Saturation — 2 co-directional constants",
      "labels": ["Diagonal"],
      "notes": null
    },
    {
      "effect": "Saturation — 3 co-directional constants",
      "labels": ["Diagonal"],
      "notes": "Reached the actuator's apparent ceiling around step 3"
    }
  ],
  "diagnostics": {
    "public_db_note": "Diagnostics are public on the device page. They use closed result names and path-redacted errors; free-text response notes stay server-side.",
    "per_effect": [
      {
        "effect": "Square",
        "create_result": "OK",
        "play_result": "OK",
        "stop_result": "OK"
      },
      {
        "effect": "Sine",
        "create_result": "OK",
        "play_result": "OK",
        "stop_result": "OK"
      },
      {
        "effect": "Triangle",
        "create_result": "OK",
        "play_result": "OK",
        "stop_result": "OK"
      },
      {
        "effect": "Sawtooth Up",
        "create_result": "OK",
        "play_result": "OK",
        "stop_result": "OK"
      },
      {
        "effect": "Sawtooth Down",
        "create_result": "OK",
        "play_result": "OK",
        "stop_result": "OK"
      },
      {
        "effect": "Spring",
        "create_result": "OK",
        "play_result": "OK",
        "stop_result": "OK"
      },
      {
        "effect": "Damper",
        "create_result": "OK",
        "play_result": "OK",
        "stop_result": "OK"
      },
      {
        "effect": "Inertia",
        "create_result": "OK",
        "play_result": "OK",
        "stop_result": "OK"
      },
      {
        "effect": "Friction",
        "create_result": "OK",
        "play_result": "OK",
        "stop_result": "OK"
      }
    ],
    "failed_effects": [],
    "errors": []
  }
}