A driver found by a VR developer in Oculus Quest’s firmware reveals new Touch-like VR controllers which may feature improvements to tracking, haptics, and finger sensing.
Last month, the official Oculus Developer website leaked the codename for a ‘Del Mar’ standalone headset with a developer early access program. A reference to ‘Oculus Jedi Controller For Oculus Del Mar’ was also discovered in the Oculus Mobile SDK.
This week, Gerald McAlister of RGB Schemes found a driver for the Jedi controller within the latest firmware for the consumer Quest. We don’t know whether this driver was included accidentally or its inclusion implies the current Quest could one day support the controller.
UploadVR analyzed the driver and compared it to the current Touch driver to zero in on some specific changes. Keep in mind, however, changes could be made between now and this becoming a product- or Facebook could cancel the project altogether.
The driver file reveals a controller with a thumbstick, index trigger, grip trigger, A/X button, B/Y button, and a system/menu button- the same layout as the current Oculus Touch controllers, which continued the same layout as the original Rift’s Touch.
This should let Facebook achieve its stated goal of making all Quest content run on future versions of the headset, since fundamental changes to the controls would require developers to update their apps.
More Precise Tracking
A function for infrared LED calibration exists, suggesting this controller is optically tracked in the same way as the current Touch– cameras on the headset follow the movement of the LED constellation, and this is fused with the accelerometer readings to achieve sub-mm precision.
On Quest, the headset cameras sample at 60 Hz. Half of the frames are high exposure shots for a clear view of your room used for headset tracking, and the other half are low exposure shots that zero in on controller position with minimal blur. Thus Touch flashes the LEDs at 30 Hz, or 30 times per second.
The ‘Jedi’ driver references a 60Hz IR LED mode. This could reduce the time it takes for the headset to re-acquire a controller that went out of view. It might also hint at cameras that sample more frequently on ‘Del Mar’, which might enable lower latency for controller-free hand tracking.
The driver also reveals the series model number of the controller’s inertial measurement unit (IMU)- the chip within all VR controllers which contains the accelerometer.
Teardowns and the FCC filings for the current Touch showed it uses TDK’s ICM-20601 IMU from late 2015.
Jedi’s driver lists it as using a new ICM-426-series TDK chip, described as a “premium performance” IMU with “the lowest noise figure in the industry” when it was announced at CES 2019.
|Touch (v2) IMU||‘Jedi’ Listed IMU|
(lower is better)
(lower is better)
|Variation from Temp (%/ºC)|
(lower is better)
|1.6 ×10-2||5 ×10-3|
|Energy Usage||3 mA||0.65 mA|
|Gyro Noise (mdps/rt-Hz)|
(lower is better)
The specifications suggest an accelerometer and gyroscope with a 6x and 2x reduction in noise, respectively, as well as improvements to resolution. Noise here means the fluctuation in output. This improved IMU should give the tracking algorithm more data with less noise, and that could enable more precise controller tracking.
When not in view of any camera, the accelerometer is used to estimate the controller’s motion. This works when the controller is moving quickly or predictably, but only for a few seconds at most currently. A better accelerometer could increase this time, or just make the estimation more accurate.
Potential Haptics Improvements
The original Oculus Touch (and HTC Vive wands) used a linear actuator for precise haptics. This same technology is present in the Nintendo Switch as “HD Rumble”, as well as in the Valve Index controllers.
The current Touch controllers use a standard motor of the type found in a gamepad, drawing criticism from developers utilizing linear haptics in their experiences.
The ‘Jedi’ driver mentions a new haptics thread running on the controller, which now interfaces with a specific haptic driver. This might suggest improvements to haptics, but there’s not enough information here to say anything more definitive.
Analog Finger Sensing
The original and current Touch controllers use capacitive sensors to detect when your fingers are touching buttons, the thumbstick, or the index trigger.
Valve’s Index SteamVR controllers take this idea further for 5 finger position detection and more granularity.
The Jedi driver includes a reference to an analog capacitive touch sensor that appears to carry the codename ‘Rainier’. Oculus has a long history of naming prototypes after California beaches– and Rainier is in Washington State, where Facebook’s VR/AR research division is located.
So What Is Del Mar?
The information that Quest’s firmware provides about Jedi narrows down the possibilities for what the ‘Del Mar’ headset is.
One popular theory took the ‘Jedi’ codename seriously, postulating optional Lightsaber controllers for a superior Beat Saber & Vader Immortal experience. Others suggested ‘Jedi’ could be a product based on the finger tracking wristband being developed by CTRL Labs, a startup acquired by Facebook in September. The full traditional input spotted in this driver might rule out both of these theories.
Today’s new information- Jedi being a controller with the similar input to the existing Touch but featuring an improved IMU- may point to Del Mar and Jedi being a successor or higher end alternative to Quest. As well as providing a step up in the market for standalone headsets, it looks like Facebook could also be taking the opportunity to make improvements to input, while avoiding a total overhaul that could break backwards compatibility. Of course, if Facebook did improve the Touch controllers with these Jedi units launched alongside a new Quest, we’d hope for backwards compatibility with the current Quest as well.
Featured image at the top of this post features Oculus Touch prototypes shown in an Oculus Connect 4 presentation in 2017.