Here we document the final specs of the Varifocal headset.
For 6DoF and hand tracking, we’re using the Intel RealSense T261
and Ultraleap Rigel
.
They provide head poses and hand tracking out of the box.
We’ll use this hall sensor (TMAG5273), I2C support, and linear.
graph TD;
Computer["Computer"] --> |"USB A to C cable"| Hub3["USB 3.0 Hub"];
Computer --> |"DP Alt mode + USB 2.0"| DisplayDriver["Display Driver"];
DisplayDriver --> Hub2["USB 2.0 Hub"];
PDCharger["PD Charger (12V)"] --> VCMDriver["VCM Driver Board"];
Hub3 --> |"USB 2 full speed"| VCMDriver;
Hub2 --> |"USB 2 full speed"| ESP1["ESP32-S3 #1"];
Hub2 --> |"USB 2 full speed"| ESP2["ESP32-S3 #2"];
Hub3 --> |"USB 3"| Realsense["RealSense T261"];
Hub3 --> |"USB 3"| Ultraleap["Ultraleap Module"];
%% Power connections
PDCharger --> |"12V"| VCMDriver;
VCMDriver --> |"5V"| IRLED;
graph TD;
%% Main PCB
subgraph VCM_Driver_Board["Voice coil driver board"]
%% USB and Power
USB_Computer["USB-C Port <br> (Computer)"] --> RP2040["RP2040 <br> Microcontroller"];
USB_PD["USB-C Port <br> (PD Charger)"] --> PD_Chip["PD Decoy Chip"];
PD_Chip --> |"12V"| MOSFETs;
%% Debug Interfaces
RP2040 --> |"SWD/UART"| Debug_Serial_Port["Debug & Serial Port"];
PD_Chip --> PD_Debug["PD Debug/Programming Interface"];
%% Control Path
RP2040 --> Opto["Optocouplers"];
Opto --> MOSFETs["MOSFETs"];
MOSFETs --> |"PWM"| VCM["Voice Coil Motors"];
%% I2C Interfaces
RP2040 --> |"I2C"| Qwiic12["Qwiic Port 1/2"];
end
%% Hall Sensor Board
subgraph Hall_Sensor_Board["Hall sensor board"]
Qwiic_Conn["Qwiic Connector"] --> |"I2C"| TMAG5273
end
%% Connection between boards
Qwiic12 --> Qwiic_Conn;
https://electronics.stackexchange.com/questions/294744/mosfet-switch-using-an-optocoupler