The Wheelchair Digital Interface (WDI) API detailed in this project is a modern, two-way communication standard for power wheelchairs built on widely accepted HID protocols. For easy switching:
The purpose of the open WDI standard is:
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.
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.
* 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* |
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.
The WDI builds upon existing specifications for using Human Interface Devices (HID).
A web-based testing tool for verifying input device compatibility with the WDI standard
It displays raw HID events from gamepads, joysticks, and keyboards alongside the translated wheelchair commands they would produce. It has 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 mapping and implementation guidance
BLE mapping and implementation guidance
Expansion of the WDI definition to cover other physical interfaces is anticipated. HID is also supported on the following interfaces:
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 |
Implementations may have their own additions and limitations, which are captured here in the list of known host-side implementations
The WDI is open for use under an Apache 2.0 License.
THE WDI IS CURRENTLY PRE-RELEASE.
Versioning is handled on a major.minor.patch method, until the official WDI is released all developers will be using a version < 1.0.0. All official releases will be tagged.
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 |