{
  "generated": "2026-10-13T01:17:50+00:00",
  "categories": [
    "device management",
    "motor control",
    "bus tools",
    "input devices",
    "utilities"
  ],
  "apps": [
    {
      "file": "coredump_console.html",
      "title": "espp Core Dump Console (WebUSB / Web Serial)",
      "description": "Inspect ESP-IDF flash core dumps in the browser: crash summary, ELF core dump download, client-side nearest-symbol backtrace resolution and erase, over WebUSB or Web Serial via the espp coredump component.",
      "category": "device management",
      "protocols": [
        {
          "id": "espp.coredump",
          "version": 1,
          "optional": false
        },
        {
          "id": "espp.coredump-crash-trigger",
          "version": 1,
          "optional": true
        }
      ],
      "transports": [
        "webusb",
        "webserial"
      ]
    },
    {
      "file": "desktop.html",
      "title": "espp Desktop (WebUSB / Web Serial)",
      "description": "A windowed desktop for an espp device, rendered entirely in the browser from the widget tree the firmware's desktop component streams over WebUSB or Web Serial: apps, windows, widgets, dialogs and notifications.",
      "category": "device management",
      "protocols": [
        {
          "id": "espp.desktop",
          "version": 2,
          "optional": false
        }
      ],
      "transports": [
        "webusb",
        "webserial"
      ]
    },
    {
      "file": "dispatcher_hub.html",
      "title": "espp Device Hub (WebUSB / Web Serial)",
      "description": "Connect to an espp device over USB (WebUSB / Web Serial) and discover which modules it runs. The device answers a capability query on the reserved dispatcher discovery module (0xFF) with its name, firmware, and the list of modules \u2014 each shown as a tab that links to its hosted web app.",
      "category": "device management",
      "protocols": [],
      "transports": [
        "webusb",
        "webserial"
      ]
    },
    {
      "file": "ota_console.html",
      "title": "espp OTA Console (WebUSB)",
      "description": "Update espp device firmware over WebUSB: streams a .bin to the espp ota component's vendor-interface protocol with progress and rollback-aware finish.",
      "category": "device management",
      "protocols": [
        {
          "id": "espp.ota",
          "version": 1,
          "optional": false
        }
      ],
      "transports": [
        "webusb"
      ]
    },
    {
      "file": "system_console.html",
      "title": "espp System Console (WebUSB / Web Serial)",
      "description": "Device info, reboot and reboot-into-bootloader plus live heap and task statistics for an espp device, over WebUSB or Web Serial via the espp system and monitor components.",
      "category": "device management",
      "protocols": [
        {
          "id": "espp.system",
          "version": 1,
          "optional": false
        },
        {
          "id": "espp.monitor",
          "version": 1,
          "optional": true
        }
      ],
      "transports": [
        "webusb",
        "webserial"
      ]
    },
    {
      "file": "mcp_console.html",
      "title": "Basicmicro MCP Console",
      "description": "Test and configure Basicmicro MCP/RoboClaw motor controllers over a USB-UART (packet serial) or USB-CAN (slcan + CANopen/DS402) adapter: device info, motion control, encoders, and an SDO object browser.",
      "category": "motor control",
      "protocols": [],
      "transports": [
        "webserial"
      ]
    },
    {
      "file": "haptics_console.html",
      "title": "espp BLDC Haptics Console (WebUSB)",
      "description": "Control and visualize an espp BLDC haptic knob over WebUSB: live dial, detent presets, and control commands. Firmware update and crash inspection are separate modules (see the ota / coredump consoles via the device hub).",
      "category": "motor control",
      "protocols": [
        {
          "id": "espp.haptics",
          "version": 1,
          "optional": false
        }
      ],
      "transports": [
        "webusb"
      ]
    },
    {
      "file": "ds402_panel.html",
      "title": "espp DS402 Drive Panel (WebUSB / Web Serial)",
      "description": "Commission a CANopen CiA 402 (DS402) drive over a USB-to-CAN bridge from the browser: SDO object read/write, the DS402 state machine, mode selection, target/actual values, an object-dictionary browser (the device's stored EDS, an EDS file, or the built-in CiA 301/402 table, scanned over SDO), and a generic read/write panel for vendor-specific addresses.",
      "category": "motor control",
      "protocols": [
        {
          "id": "espp.can-bridge",
          "version": 1,
          "optional": false
        }
      ],
      "transports": [
        "webusb",
        "webserial"
      ]
    },
    {
      "file": "mcp266_console.html",
      "title": "espp MCP266 Console (WebUSB / Web Serial)",
      "description": "Configure, command, and monitor a Basicmicro MCP266 dual-channel motor controller from the browser over USB (WebUSB / Web Serial): per-axis position loop setup, profile-position moves, and live status. The device runs the CANopen driver and exposes a high-level protocol.",
      "category": "motor control",
      "protocols": [
        {
          "id": "espp.mcp266",
          "version": 1,
          "optional": false
        }
      ],
      "transports": [
        "webusb",
        "webserial"
      ]
    },
    {
      "file": "odrive_console.html",
      "title": "ODrive ASCII Web Serial Console",
      "description": "Web Serial console for the ODrive ASCII protocol: interactive terminal, quick motor controls, and live position/velocity plotting.",
      "category": "motor control",
      "protocols": [],
      "transports": [
        "webserial"
      ]
    },
    {
      "file": "odrive_webusb_console.html",
      "title": "ODrive ASCII WebUSB Console",
      "description": "WebUSB console speaking the ODrive ASCII protocol over the vendor bulk interface (no serial driver needed).",
      "category": "motor control",
      "protocols": [],
      "transports": [
        "webusb"
      ]
    },
    {
      "file": "odrive_control_panel.html",
      "title": "ODrive Native WebUSB Control Panel",
      "description": "WebUSB control panel for the ODrive native (Fibre) binary protocol: endpoint tree browser, live multi-signal plots, and quick controls.",
      "category": "motor control",
      "protocols": [],
      "transports": [
        "webusb"
      ]
    },
    {
      "file": "can_console.html",
      "title": "CAN Bus Console (slcan)",
      "description": "Generic CAN bus console for slcan (LAWICEL) USB-CAN adapters over Web Serial: send standard/extended/RTR frames, periodic transmits, live per-ID monitoring, and log export.",
      "category": "bus tools",
      "protocols": [],
      "transports": [
        "webserial"
      ]
    },
    {
      "file": "can_bridge_console.html",
      "title": "espp CAN Bridge Console (WebUSB / Web Serial)",
      "description": "Drive a USB-to-CAN bridge device over WebUSB or Web Serial: configure the bus, send CAN frames, and watch a live monitor of received traffic using the espp stream_frame protocol.",
      "category": "bus tools",
      "protocols": [
        {
          "id": "espp.can-bridge",
          "version": 1,
          "optional": false
        }
      ],
      "transports": [
        "webusb",
        "webserial"
      ]
    },
    {
      "file": "hid_visualizer.html",
      "title": "WebHID Gamepad Input Visualizer",
      "description": "WebHID input visualizer: connect any HID gamepad or device and watch its decoded buttons, sticks, and raw input reports live.",
      "category": "input devices",
      "protocols": [],
      "transports": [
        "webhid"
      ]
    },
    {
      "file": "board_console.html",
      "title": "espp Board Console & ESP Flasher",
      "description": "General-purpose Web Serial board console and ESP flasher (esptool-js): serial monitor, reset/bootloader controls, and firmware flashing.",
      "category": "utilities",
      "protocols": [],
      "transports": [
        "webserial"
      ]
    },
    {
      "file": "telemetry.html",
      "title": "espp Serial Plotter",
      "description": "Data plotter: auto-parses columnar serial output over Web Serial, or plots binary telemetry (espp::Telemetry) over WebUSB. Efficient high-point-count plots (uPlot), per-series filter, CSV save/load, and optional 2D X-Y / 3D X-Y-Z modes.",
      "category": "utilities",
      "protocols": [
        {
          "id": "espp.telemetry",
          "version": 1,
          "optional": false
        }
      ],
      "transports": [
        "webusb",
        "webserial"
      ]
    }
  ]
}
