mirror of
https://github.com/EyeTrackVR/EyeTrackVR-Docs.git
synced 2025-11-04 14:49:44 +08:00
2 lines
16 KiB
JavaScript
2 lines
16 KiB
JavaScript
import{_ as w,o as a,c as r,k as e,F as d,D as m,t as i,a1 as A,a2 as f,p as _,m as C,H as k,a as p,Q as y}from"./chunks/framework.0394bef4.js";const b={data(){return{tracker:2,components:[{name:"ESP Microcontroller",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:1.85,costAll:()=>this.tracker*0,links:"If you already have a supported camera capable ESP32 or sourced elsewhere."},{name:"Seeed Studio XIAO Sense ESP32-S3",amount:()=>this.tracker,cost:12.87,costAll:()=>this.tracker*12.87+3.18,links:'<a href="https://www.aliexpress.com/item/3256804601970891.html">AliExpress XIAO Sense</a> Recommended'},{name:"ESP32-CAM",amount:()=>this.tracker,cost:12.87,costAll:()=>this.tracker*4.69+3.18,links:'<a href="https://www.aliexpress.us/item/3256806008099661.html">AliExpress ESP32 CAM</a> Requires additional programmer'},{name:"FREENOVE ESP32-S3-WROOM",amount:()=>this.tracker,cost:19.95,costAll:()=>this.tracker*19.95,links:'<a href="https://www.amazon.com/FREENOVE-ESP32-S3-WROOM-Compatible-Wireless-Detailed/dp/B0BMQ8F7FN">Amazon</a> Large, more expensive than XIAO'}],selectedChoice:1},{name:"Camera",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:0,costAll:()=>this.tracker*0,links:"If you already have a supported camera or sourced elsewhere."},{name:"130 Degree NO-IR",amount:()=>this.tracker,cost:5.41,costAll:()=>this.tracker*5.41,links:'<a href="https://www.aliexpress.com/item/3256802853835121.html">AliExpress</a> Select "Color: 75MM-130 Degree" Must manually remove IR filter'},{name:"160 Degree IR",amount:()=>this.tracker,cost:4.26,costAll:()=>this.tracker*4.26,links:'<a href="https://www.aliexpress.com/item/3256802853835121.html">AliExpress</a> Select "Color: 75MM-160 850nm"'}],selectedChoice:1},{name:"IR LEDs",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:0,costAll:()=>this.tracker*0,links:'<a href="https://docs.eyetrackvr.dev/getting_started/led_safety">IR LED Safety<a/> If you already have safe IR LED hardware and know what you are doing.'},{name:"Official V4 mini Solder-less Kit",amount:()=>1,cost:28,costAll:()=>this.tracker+28+3,links:'<a href="https://store.eyetrackvr.dev/products/v4-mini-fully-solderless-kit">ETVR Store</a> Length depending on HMD'},{name:"Official V4 mini Bring Your Own Wires Kit",amount:()=>1,cost:24,costAll:()=>this.tracker+24+3,links:'<a href="https://store.eyetrackvr.dev/products/v4-mini-some-assemblly-required">ETVR Store</a> Must solder up your own wires'},{name:"Official V4 lite Assemble Yourself",amount:()=>1,cost:7,costAll:()=>this.tracker+7+3,links:'<a href="https://store.eyetrackvr.dev/products/v4-1-lite-diy-led-kit">ETVR Store</a> Must assemble yourself'}],selectedChoice:2},{name:"USB Hub",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:0,costAll:()=>this.tracker*0,links:"If you already have safe IR LED hardware and know what you are doing."},{name:"4 port USB 3.2 LDLrui (MTT Usually)",amount:()=>1,cost:17.99,costAll:()=>this.tracker+17.99,links:'<a href="https://www.amazon.com/dp/B09NDQRLBT/">Amazon</a> Usually these are MTT, but sometimes not'},{name:"4 port USB 3.2 Sitecom CN-385 Hub (MTT)",amount:()=>1,cost:40.53,costAll:()=>this.tracker+17.99,links:'<a href="https://www.amazon.com/gp/product/B07YN54Q33/">Amazon</a> Known good MTT hub, but expensive'},{name:"4 port USB 2.0 Breakout (Not MTT)",amount:()=>1,cost:1.41,costAll:()=>this.tracker+1.41+1.99,links:'<a href="https://www.aliexpress.us/item/3256801220206638.html">AliExpress</a> Small but non MTT hub breakout'},{name:"3 port USB 3.0 Hub With Power Passthrough (MTT)",amount:()=>1,cost:17.99,costAll:()=>this.tracker+1.41,links:'<a href="https://www.amazon.com/uni-Charging-Thunderbolt-Aluminum-Pixelbook/dp/B08SVZFFPP/">Amazon</a> Great for Quest due to power passthrough'}],selectedChoice:1},{name:"3D Printed Mounts",choices:[{name:"Print Yourself",amount:()=>this.tracker,cost:0,costAll:()=>this.tracker*0,links:"If you have a 3d printer or have access to one somewhere."},{name:"JLCPCB Print Service, JLC3DP",amount:()=>this.tracker,cost:2,costAll:()=>this.tracker*2+5,links:'<a href="https://jlc3dp.com/3d-printing-quote">JLC3DP</a> '}],selectedChoice:0}],total:0}},methods:{updatePrices(){let s=0;this.components.forEach(o=>{if(o.choices.length>1){const c=o.choices[o.selectedChoice];s+=c.costAll(this.tracker)}}),this.total=s},switchSelect(s,o){this.$set(o,"selectedChoice",s.target.value),this.updatePrices()}},mounted(){this.updatePrices()}},g=s=>(_("data-v-b5690fe3"),s=s(),C(),s),E=g(()=>e("thead",null,[e("tr",null,[e("th",null,"Component"),e("th",null,"Choice"),e("th",null,"Amount"),e("th",null,"Cost"),e("th",null,"Cost All"),e("th",null,"Links")])],-1)),v=["onUpdate:modelValue","onChange"],x=["value"],B={key:1},P=["innerHTML"];function T(s,o,c,S,n,u){return a(),r("div",null,[e("table",null,[E,e("tbody",null,[(a(!0),r(d,null,m(n.components,t=>(a(),r("tr",{key:t.name},[e("th",null,i(t.name),1),e("td",null,[t.choices.length>1?A((a(),r("select",{key:0,"onUpdate:modelValue":l=>t.selectedChoice=l,onChange:l=>u.switchSelect(l,t)},[(a(!0),r(d,null,m(t.choices,(l,h)=>(a(),r("option",{key:h,value:h},i(l.name),9,x))),128))],40,v)),[[f,t.selectedChoice]]):(a(),r("span",B,i(t.choices[0].name),1))]),e("td",null,i(t.selectedChoice?t.choices[t.selectedChoice].amount(n.tracker):0),1),e("td",null,i(t.selectedChoice?"$"+t.choices[t.selectedChoice].cost:0),1),e("td",null,i(t.selectedChoice?"~$"+t.choices[t.selectedChoice].costAll(n.tracker)*100/100:0),1),e("td",{innerHTML:t.selectedChoice?t.choices[t.selectedChoice].links:""},null,8,P)]))),128))])]),e("p",null,"Total: $"+i(n.total.toFixed(2)),1)])}const O=w(b,[["render",T],["__scopeId","data-v-b5690fe3"]]);const I={data(){return{tracker:2,components:[{name:"Type A USB Breakout",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:1.85,costAll:()=>this.tracker*0,links:"If you do not need or already have."},{name:"Type A USB Breakout Bare (AliExpress)",amount:()=>1,cost:1.18,costAll:()=>this.tracker+1.18,links:'<a href="https://www.aliexpress.us/item/2255801092919590.html">AliExpress</a>'},{name:"Type A USB Breakout Bare (Amazon)",amount:()=>1,cost:6.49,costAll:()=>this.tracker+5.49,links:'<a href="https://www.amazon.com/10Gtek-DIP-Breakout-Adapter-2-54mm/dp/B09LC8WQCD/">Amazon</a>'},{name:"Type A USB Breakout With Cover (AliExpress)",amount:()=>1,cost:2.2,costAll:()=>this.tracker+1.2+1.99,links:'<a href="https://www.aliexpress.us/item/2251832820552545.html/">AliExpress</a>'},{name:"Type A USB Breakout With Wire and Cover (Amazon)",amount:()=>1,cost:9.6,costAll:()=>this.tracker+8.6,links:'<a href="https://www.amazon.com/Pigtail-Extension-Cables-Connector-Replacement/dp/B09ZQNJ2DJ/">Amazon</a>'}],selectedChoice:0},{name:"USB-C Breakout",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:0,costAll:()=>this.tracker*0,links:"If you do not need or already have."},{name:"AliExpress Male & Female",amount:()=>1,cost:1.19,costAll:()=>this.tracker+1.19+1.37,links:'<a href="https://www.aliexpress.us/item/3256801151667308.html">AliExpress</a> Choose: "Color: 5Set".'},{name:"AliExpress Vertical Male",amount:()=>1,cost:2.37,costAll:()=>this.tracker+.37+1.99,links:'<a href="https://www.aliexpress.us/item/3256804002116469.html">AliExpress</a>'}],selectedChoice:0},{name:"Wire for ESPs",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:0,costAll:()=>this.tracker*0,links:"If you do not need wire or already have."},{name:"Silicone Wire Kit",amount:()=>1,cost:5.96,costAll:()=>this.tracker+5.96+.99,links:'<a href="https://www.aliexpress.us/item/3256806164419666.html">AliExpress</a> 30 AWG or lower'},{name:"Generic Wire",amount:()=>1,cost:.7,costAll:()=>this.tracker+.7+1.24,links:'<a href="https://a.aliexpress.com/_mK72cy6">AliExpress</a> Select "Specification: 30 AWG or lower"'}],selectedChoice:0},{name:"Wire for LEDs",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:0,costAll:()=>this.tracker*0,links:"If you do not need wire or already have."},{name:"Silicone Wire Kit",amount:()=>1,cost:5.96,costAll:()=>this.tracker+5.96+.99,links:'<a href="https://www.aliexpress.us/item/3256806164419666.html">AliExpress</a> 30 AWG or higher'},{name:"Generic Wire",amount:()=>1,cost:.7,costAll:()=>this.tracker+.7+1.24,links:'<a href="https://a.aliexpress.com/_mK72cy6">AliExpress</a> Select "Specification: 30 AWG or higher"'}],selectedChoice:0},{name:"Camera Extension Cables",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:0,costAll:()=>this.tracker*0,links:"If you do not need or already have."},{name:"AliExpress 24pin 0.5mm Pitch",amount:()=>1,cost:1.33,costAll:()=>this.tracker+.33+1.99,links:'<a href="https://www.aliexpress.us/item/2255799835842411.html">AliExpress</a> Choose: "Insert Type: 24p 0.5mm pitch" and Type A. Length depends on HMD, usually 150mm or 200mm.'},{name:"Adafruit 24 pin 0.5mm pitch",amount:()=>this.tracker,cost:1.35,costAll:()=>this.tracker*1.35+6,links:'<a href="https://www.adafruit.com/product/4230">Adafruit</a> 250mm'}],selectedChoice:0},{name:"Camera Extension Connectors",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:0,costAll:()=>this.tracker*0,links:"If you do not need or already have."},{name:"AliExpress 24 pin",amount:()=>1,cost:1.32,costAll:()=>this.tracker+.32+1.99,links:'<a href="https://www.aliexpress.us/item/3256804096715690.html">AliExpress</a> Choose: "Pins: 24P".'},{name:"Adafruit 24 pin",amount:()=>this.tracker,cost:.86,costAll:()=>this.tracker*.865+6,links:'<a href="https://www.adafruit.com/product/4524">Adafruit</a>'}],selectedChoice:0},{name:"External Antennas",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:0,costAll:()=>this.tracker*0,links:"If you do not need or already have."},{name:"AliExpress Small",amount:()=>1,cost:.16,costAll:()=>this.tracker*.16+3.48,links:'<a href="https://www.aliexpress.us/item/2251832800433720.html">AliExpress</a> Choose: "Color: 2.4G Antenna".'},{name:"Amazon Large",amount:()=>1,cost:9.99,costAll:()=>this.tracker+7.99,links:'<a href="https://www.amazon.com/Diymall-Antenna-Antennas-Arduino-ESP-072pcs/dp/B00ZBJNO9O/">Amazon</a>'}],selectedChoice:0},{name:"USB-C Cables",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:0,costAll:()=>this.tracker*0,links:"If you do not need or already have."},{name:"Short USB-C to USB-C Amazon",amount:()=>1,cost:6.29,costAll:()=>this.tracker+5.29,links:'<a href="https://www.amazon.com/gp/product/B09C2D9Z7T/ref=ox_sc_act_title_2?smid=A10X1BEP2GKRDQ&th=1">Amazon</a>'},{name:"Short USB-A to USB-C Amazon",amount:()=>1,cost:7.99,costAll:()=>this.tracker+5.99,links:'<a href="https://www.amazon.com/Charging-Durable-Station-Compatible-Samsung/dp/B08LL1SVZD/">Amazon</a>'}],selectedChoice:0},{name:"V4 LED Wire Extensions/Replacements",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:0,costAll:()=>this.tracker*0,links:"If you do not need or already have."},{name:"110mm Extension/Replacement",amount:()=>1,cost:1.5,costAll:()=>this.tracker+1.5+5,links:'<a href="https://store.eyetrackvr.dev/products/2x-110mm-replacement-wires">ETVR Store</a>'},{name:"200mm Extension/Replacement",amount:()=>1,cost:1.5,costAll:()=>this.tracker+1.5+5,links:'<a href="https://store.eyetrackvr.dev/products/2x-200mm-replacement-wires">ETVR Store</a>'}],selectedChoice:0}],total:0}},methods:{updatePrices(){let s=0;this.components.forEach(o=>{if(o.choices.length>1){const c=o.choices[o.selectedChoice];s+=c.costAll()}}),this.total=s}},mounted(){this.updatePrices()}},M=s=>(_("data-v-9ca22bca"),s=s(),C(),s),D=M(()=>e("thead",null,[e("tr",null,[e("th",null,"Component"),e("th",null,"Choice"),e("th",null,"Amount"),e("th",null,"Cost"),e("th",null,"Cost All"),e("th",null,"Links")])],-1)),R=["onUpdate:modelValue"],W=["value"],V={key:1},U=["innerHTML"];function z(s,o,c,S,n,u){return a(),r("div",null,[e("table",null,[D,e("tbody",null,[(a(!0),r(d,null,m(n.components,t=>(a(),r("tr",{key:t.name},[e("th",null,i(t.name),1),e("td",null,[t.choices.length>1?A((a(),r("select",{key:0,"onUpdate:modelValue":l=>t.selectedChoice=l,onChange:o[0]||(o[0]=(...l)=>u.updatePrices&&u.updatePrices(...l))},[(a(!0),r(d,null,m(t.choices,(l,h)=>(a(),r("option",{key:h,value:h},i(l.name),9,W))),128))],40,R)),[[f,t.selectedChoice]]):(a(),r("span",V,i(t.choices[0].name),1))]),e("td",null,i(t.selectedChoice?t.choices[t.selectedChoice].amount(n.tracker):0),1),e("td",null,i(t.selectedChoice?"$"+t.choices[t.selectedChoice].cost.toFixed(2):0),1),e("td",null,i(t.selectedChoice?"~$"+t.choices[t.selectedChoice].costAll(n.tracker).toFixed(2):0),1),e("td",{innerHTML:t.selectedChoice?t.choices[t.selectedChoice].links:""},null,8,U)]))),128))])]),e("p",null,"Total: $"+i(n.total.toFixed(2)),1)])}const L=w(I,[["render",z],["__scopeId","data-v-9ca22bca"]]),q=e("p",null,"WIP new parts list. 3D printed parts will live on their own page.",-1),F=e("p",null,[p("Use the "),e("strong",null,"interactive"),p(" tables below to select parts!")],-1),N=e("h1",{id:"required-parts",tabindex:"-1"},[p("Required Parts: "),e("a",{class:"header-anchor",href:"#required-parts","aria-label":'Permalink to "Required Parts:"'},"")],-1),$=e("h1",{id:"additional-parts",tabindex:"-1"},[p("Additional Parts: "),e("a",{class:"header-anchor",href:"#additional-parts","aria-label":'Permalink to "Additional Parts:"'},"")],-1),Y=y('<p><small> Table adjusted from the table on <a href="https://docs.slimevr.dev/diy/components-guide.html" target="_blank" rel="noreferrer">SlimeVR's Docs</a> which was created by <a href="https://github.com/carl-anders" target="_blank" rel="noreferrer">Carl</a></small></p><h2 id="esp-setup-options" tabindex="-1">ESP setup options: <a class="header-anchor" href="#esp-setup-options" aria-label="Permalink to "ESP setup options:""></a></h2><div class="danger custom-block"><p class="custom-block-title">DANGER</p><p>There are two primary categories of trackers supported: wireless and wired. It's super important that you really look at all your options and consider your use case before making a decision.</p></div><h2 id="option-1-wireless-over-wifi-2-4-ghz" tabindex="-1">Option 1: Wireless over WiFi 2.4 GHz <a class="header-anchor" href="#option-1-wireless-over-wifi-2-4-ghz" aria-label="Permalink to "Option 1: Wireless over WiFi 2.4 GHz""></a></h2><h3 id="wireless-capable-esps" tabindex="-1">Wireless Capable ESPs: <a class="header-anchor" href="#wireless-capable-esps" aria-label="Permalink to "Wireless Capable ESPs:""></a></h3><ul><li>Seeed Studio XIAO Sense</li><li>ESP32-CAM</li><li>FREENOVE ESP32-S3-WROOM CAM Board</li></ul><p>This offers a good starting point as the ESP32 CAM boards are cheaper than wired capable trackers. However, they can be a bit more temperamental and if you are using a wired headset, they don't really make sense.</p><p><strong>Pros:</strong></p><ul><li>Not as experimental</li><li>Less cables (power only)</li><li>No issues with USB hubs</li></ul><p><strong>Cons:</strong></p><ul><li>Requires two external antennas for optimal streaming quality</li><li>Requires WiFi 2.4 GHz router or access point in reasonable proximity</li><li>High risk of radio interference with FBT and other WiFi 2.4 GHz devices</li><li>ESP32-CAM uses more power and heats up due to radio power needs</li></ul><h2 id="option-2-wired-over-usb-serial-in-beta" tabindex="-1">Option 2: Wired over USB Serial (in beta) <a class="header-anchor" href="#option-2-wired-over-usb-serial-in-beta" aria-label="Permalink to "Option 2: Wired over USB Serial (in beta)""></a></h2><h3 id="wired-capable-esps" tabindex="-1">Wired Capable ESPs: <a class="header-anchor" href="#wired-capable-esps" aria-label="Permalink to "Wired Capable ESPs:""></a></h3><ul><li>Seeed Studio XIAO Sense</li><li>FREENOVE ESP32-S3-WROOM CAM Board</li></ul><p>This is our latest setup recommended for users with wired headsets such as the Valve Index.</p><p><strong>Pros:</strong></p><ul><li>Much better performance and higher framerate up to 70 FPS with lower latency</li><li>No conflicts with advanced FBT setups such as Vive or Tundra Trackers</li><li>Can be wireless or wired</li><li>Less soldering required</li></ul><p><strong>Cons:</strong></p><ul><li>Requires USB port i.e. on Valve Index and USB hub mounted on your headset</li><li>Can be slightly more costly</li><li>When in use with a Vive Facial Tracker, an MTT USB hub is required</li></ul>',19),K=JSON.parse('{"title":"Required Parts:","description":"","frontmatter":{},"headers":[],"relativePath":"how_to_build/part_list.md","filePath":"how_to_build/part_list.md","lastUpdated":1710897358000}'),H={name:"how_to_build/part_list.md"},Q=Object.assign(H,{setup(s){return(o,c)=>(a(),r("div",null,[q,F,N,k(O),$,k(L),Y]))}});export{K as __pageData,Q as default};
|