wheelchair-digital-interface

Wheelchair Digital Interface

The Wheelchair Digital Interface (WDI) is an open, modern communication standard for power wheelchairs built on widely accepted HID protocols. It gives wheelchair users more choice in how they drive and interact with their chair, and gives makers, researchers, and clinicians a shared, open foundation to build on.

You can view the documents as Source Code or browse as a Doc Site.

Purpose

The purpose of the open WDI standard is:

  1. to allow faster development of new accessible wheelchair alternative controls by removing the need for 9-pin printer cable adapter circuits currently required to adapt to today’s proprietary TRACE/DB-9 wheelchair alternative drive inputs,
  2. to make current, commercially available adaptive gaming and computer interfaces available to power wheelchair users for wheelchair control, and,
  3. to allow two-direction communication between the power wheelchair and the controller to provide enhanced user feedback.

Quick Start — Choose Your Interface

WDI currently offers multiple complementary interface paths. Pick the path that matches what you’re building.

Interface Best for Typical builder Spec
USB HID Adapting off-the-shelf gamepads, keyboards, and existing accessible input devices to drive a wheelchair Accessible-tech makers, gaming-controller adapters, clinicians evaluating drive options USB mapping
BLE HID Same use cases as USB, but wireless Wireless input device makers BLE mapping
Wheelchair HID Purpose-built apps and devices that want two-way communication — sending control input and receiving wheelchair state App developers building wheelchair-aware experiences, researchers needing telemetry, advanced control devices Wheelchair HID spec

Use USB or BLE HID when you want a commercial gamepad, adaptive switch, or keyboard to control a chair. Use Wheelchair HID when you’re building an app or device that needs the wheelchair to talk back — for richer user feedback, smarter UIs, or research data.

Get Started in 5 Minutes

Background

The WDI was initially conceived and developed as part of the National Science Foundation (NSF) Convergence Accelerator Track H project “Mobility Independence through Accelerated Wheelchair Intelligence” (NSF SP0076554) with input from a wide range of stakeholders.

WDI is intended to fill a gap in current power wheelchair standards. RESNA WC-2 and ISO 7176 do not define or provide guidance on power wheelchair interfaces for third party input devices, and previous attempts to provide a standard for power wheelchair interfaces and accessories (such as the M3S standard) failed due to lack of industry adoption.

Prior to the WDI, the state-of-the-art in power wheelchair controls was to communicate with the wheelchair through a proprietary third-party interface module using a 9-pin D-Sub (DB-9) connector. This interface was commonly referred to as “TRACE”, was an input only/one-way interface, and was defined slightly differently by each wheelchair electronics manufacturer. TRACE is not a published or maintained industry standard. See your wheelchair manufacturer’s technical documents for more details if attempting to use TRACE.

Stakeholders

The stakeholders originally involved in WDI development are represented below. They do not cover every use case, but they cover the primary use cases that the WDI seeks to address.

1. Wheelchair Users with Progressive or Changing Conditions

2. Tech Savvy Wheelchair User

3. Wheelchair Clinician/ATP

4. Accessible Technology Maker

5. Researcher

Requirements

What is Controlled on a Wheelchair

* May optionally be adjusted/actuated within a menu that is controlled via normal driving directional commands.

Action Notes
Power/sleep toggle* Distinct but functionally equivalent
Move forward Proportional or digital
Move backward Proportional or digital
Turn left Proportional or digital
Turn right Proportional or digital
Adjust maximum speed* Up/down
Change profile* Includes switching to attendant control
Switch mode* Mainly between drive/seating control
Emergency stop Typically used with latch drive mode
Seating controls Matches movement controls, left/right select actuator, up/down moves actuator
Open user menu Usually a digital switch, can be input sequence
Navigate user menu Matches movement controls
Headlight toggle*  
Hazard lights toggle*  
Left/right blinker toggles*  
Horn*  

Seating Control

This is the list of anticipated, possible parts of a wheelchair seating system that can be controlled. Not every chair is equipped with every actuator.

The specific actuators that can be adjusted up and down are:

In addition to the specific actuators, chairs may be programmed with a number of set positions (i.e. memory positions) that the seating system can be automatically positioned to.

Anticipated Future Needs

WDI Device Implementer Guidance

The WDI builds upon existing specifications for using Human Interface Devices (HID).

Compatibility Tester

There are two separate compatibility testers depending on whether you are using standard keyboard/gamepad HID or Wheelchair HID.

A web-based testing tool for verifying device compatibility with the WDI gamepad/keyboard mappings

A web-based testing tool for verifying compatibility with the WDI wheelchair HID

Both testers display raw HID events from alongside the translated wheelchair commands they would produce. They have been tested with devices connected via USB and BLE. This site uses additional libraries on top of HID so off-the-shelf gamepads and keyboards work correctly.

USB

For making commercial gaming controllers, keyboards, and other accessible input devices control a wheelchair over USB. USB mapping and implementation guidance

Bluetooth

The same use cases as USB, wirelessly over Bluetooth Low Energy. BLE mapping and implementation guidance

Wheelchair HID (Bidirectional)

The Wheelchair HID is a specification for bidirectional communication between a wheelchair host and a Bluetooth LE or USB connected app or device. It defines HID descriptors for apps and devices to send control input, request feedback, and exchange keepalive messages with a wheelchair host, and for the host to report wheelchair state — including speed setting, profile, mode (drive/seating), velocity in mph, blinker/headlight/hazard state, and movement-restriction state — back to connected apps and devices.

It is purpose-built for power wheelchairs and extends WDI beyond what USB/BLE HID alone offer:

There are no current host implementations of this spec. Read the full Wheelchair HID spec

Other Physical Interfaces

Expansion of the WDI definition to cover other physical interfaces is anticipated. HID is also supported on the following interfaces:

Devices That Require Custom Drivers

Some common input devices require a driver or may work differently with a driver installed as it relates to WDI functionality. For the devices listed below, the host device will need to implement the manufacturer’s custom driver. This is not a complete list, but simply notes common, known devices.

Controller Notes
Xbox Requires driver (xpad)
Playstation 5 (DualSense) Can work generically, but has right stick axes and buttons mapped differently with driver. Motion and touchpad capabilities require driver

WDI User Guidance (Known Implementers)

Implementations may have their own additions and limitations, which are captured here in the list of known host-side implementations

License

The WDI is open for use under an Apache 2.0 License.

Versioning

Versioning is handled on a major.minor.patch method. All official releases will be tagged.

List of Current Support

The companies and organizations listed support the open, inclusive future provided by the WDI.

Organization Description
Argallab at Northwestern University Founding Member
The A Team Founding Member, with special thanks to Daniel Vance and Kevin Rowland.
LUCI Founding Member, LUCI units with LuciCore 2.0 and newer software are compatible with USB WDI controllers.
LifeDrive Contributing Member, with special thanks to Shawn Sexton.
Shirley Ryan AbilityLab Founding Member