mirror of
https://github.com/EyeTrackVR/EyeTrackVR-Docs.git
synced 2025-11-04 14:49:44 +08:00
2 lines
19 KiB
JavaScript
2 lines
19 KiB
JavaScript
import{_ as A,o as i,c as o,k as t,F as p,B as k,t as l,a as h,n as w,e as C,E as f,O as y}from"./chunks/framework.ece1a6f0.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,isOpen:!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,isOpen:!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 No-Solder",amount:()=>1,cost:30,costAll:()=>this.tracker+30+5,links:'<a href="https://store.eyetrackvr.dev/products/v4-mini-fully-solderless-kit">ETVR Store</a> Length depending on HMD'},{name:"Official V4 mini Solder-Required",amount:()=>1,cost:25,costAll:()=>this.tracker+25+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:1,isOpen:!1},{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) (Best for Cost)",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:"★ 4 port Adafruit CH334F USB Hub Breakout (MTT) (Best for Size)",amount:()=>1,cost:4.99,costAll:()=>this.tracker+8,links:'<a href="https://www.adafruit.com/product/5997">Adafruit</a> Small, high quality MTT hub breakout'},{name:"★ 3 port USB 3.0 Hub With Power Passthrough (MTT) (Best for Quest)",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,isOpen:!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 such as a library, friend, or school."},{name:"JLCPCB Print Service, JLC3DP",amount:()=>this.tracker,cost:2,costAll:()=>this.tracker*2+5,links:'<a href="https://docs.eyetrackvr.dev/misc/jlc3dp">JLC3DP Printing Service</a>'}],selectedChoice:0,isOpen:!1}],total:0}},methods:{updatePrices(){let s=0;this.components.forEach(a=>{if(a.choices.length>1){const r=a.choices[a.selectedChoice];s+=r.costAll(this.tracker)}else a.choices.length===1&&(s+=a.choices[0].costAll(this.tracker))}),this.total=s},toggleDropdown(s,a){this.components.forEach(r=>{r!==s&&(r.isOpen=!1)}),s.isOpen=!s.isOpen},isOptionsAbove(s){return s>=this.components.length-2},selectOption(s,a){s.selectedChoice=a,s.isOpen=!1,this.updatePrices()},closeAllDropdowns(){this.components.forEach(s=>{s.isOpen=!1})},handleOutsideClick(s){s.target.closest(".custom-select")||this.closeAllDropdowns()}},mounted(){this.updatePrices(),document.addEventListener("click",this.handleOutsideClick)},beforeUnmount(){document.removeEventListener("click",this.handleOutsideClick)}},S={class:"table-container"},E={class:"component-col"},O={class:"choice-col"},_=["onClick"],x={class:"selected-option"},B=["onClick"],P={key:1},T=["innerHTML"];function D(s,a,r,v,n,c){return i(),o("div",S,[t("table",null,[a[1]||(a[1]=t("thead",null,[t("tr",null,[t("th",{class:"component-col"},"Component"),t("th",{class:"choice-col"},"Choice"),t("th",{class:"amount-col"},"Amount"),t("th",{class:"cost-col"},"Cost"),t("th",{class:"cost-all-col"},"Cost All"),t("th",{class:"links-col"},"Links")])],-1)),t("tbody",null,[(i(!0),o(p,null,k(n.components,(e,d)=>(i(),o("tr",{key:e.name},[t("th",E,l(e.name),1),t("td",O,[e.choices.length>1?(i(),o("div",{key:0,class:"custom-select",onClick:u=>c.toggleDropdown(e,d),ref_for:!0,ref:`select-${e.name}`},[t("div",x,[h(l(e.choices[e.selectedChoice].name)+" ",1),(i(),o("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:w(["dropdown-arrow",{rotate:e.isOpen}])},a[0]||(a[0]=[t("polyline",{points:"6 9 12 15 18 9"},null,-1)]),2))]),e.isOpen?(i(),o("div",{key:0,class:w(["options",{"options-above":c.isOptionsAbove(d)}])},[(i(!0),o(p,null,k(e.choices,(u,m)=>(i(),o("div",{key:m,onClick:g=>c.selectOption(e,m),class:"option"},l(u.name),9,B))),128))],2)):C("",!0)],8,_)):(i(),o("span",P,l(e.choices[0].name),1))]),t("td",null,l(e.selectedChoice?e.choices[e.selectedChoice].amount(n.tracker):0),1),t("td",null,l(e.selectedChoice?"$"+e.choices[e.selectedChoice].cost.toFixed(2):0),1),t("td",null,l(e.selectedChoice?"~$"+e.choices[e.selectedChoice].costAll().toFixed(2):0),1),t("td",{innerHTML:e.selectedChoice?e.choices[e.selectedChoice].links:""},null,8,T)]))),128))])]),t("p",null,"Total: $"+l(n.total.toFixed(2)),1)])}const M=A(b,[["render",D],["__scopeId","data-v-dcf0858f"]]);const R={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,isOpen:!1},{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,isOpen:!1},{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,isOpen:!1},{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,isOpen:!1},{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,isOpen:!1},{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,isOpen:!1},{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,isOpen:!1},{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,isOpen:!1},{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,isOpen:!1}],total:0}},methods:{updatePrices(){let s=0;this.components.forEach(a=>{if(a.choices.length>1){const r=a.choices[a.selectedChoice];s+=r.costAll(this.tracker)}else a.choices.length===1&&(s+=a.choices[0].costAll(this.tracker))}),this.total=s},toggleDropdown(s,a){this.components.forEach(r=>{r!==s&&(r.isOpen=!1)}),s.isOpen=!s.isOpen},isOptionsAbove(s){return s>=this.components.length-2},selectOption(s,a){s.selectedChoice=a,s.isOpen=!1,this.updatePrices()},closeAllDropdowns(){this.components.forEach(s=>{s.isOpen=!1})},handleOutsideClick(s){s.target.closest(".custom-select")||this.closeAllDropdowns()}},mounted(){this.updatePrices(),document.addEventListener("click",this.handleOutsideClick)},beforeUnmount(){document.removeEventListener("click",this.handleOutsideClick)}},W={class:"table-container"},I={class:"component-col"},L={class:"choice-col"},z=["onClick"],U={class:"selected-option"},F=["onClick"],q={key:1},V=["innerHTML"];function N(s,a,r,v,n,c){return i(),o("div",W,[t("table",null,[a[1]||(a[1]=t("thead",null,[t("tr",null,[t("th",{class:"component-col"},"Component"),t("th",{class:"choice-col"},"Choice"),t("th",{class:"amount-col"},"Amount"),t("th",{class:"cost-col"},"Cost"),t("th",{class:"cost-all-col"},"Cost All"),t("th",{class:"links-col"},"Links")])],-1)),t("tbody",null,[(i(!0),o(p,null,k(n.components,(e,d)=>(i(),o("tr",{key:e.name},[t("th",I,l(e.name),1),t("td",L,[e.choices.length>1?(i(),o("div",{key:0,class:"custom-select",onClick:u=>c.toggleDropdown(e,d),ref_for:!0,ref:`select-${e.name}`},[t("div",U,[h(l(e.choices[e.selectedChoice].name)+" ",1),(i(),o("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:w(["dropdown-arrow",{rotate:e.isOpen}])},a[0]||(a[0]=[t("polyline",{points:"6 9 12 15 18 9"},null,-1)]),2))]),e.isOpen?(i(),o("div",{key:0,class:w(["options",{"options-above":c.isOptionsAbove(d)}])},[(i(!0),o(p,null,k(e.choices,(u,m)=>(i(),o("div",{key:m,onClick:g=>c.selectOption(e,m),class:"option"},l(u.name),9,F))),128))],2)):C("",!0)],8,z)):(i(),o("span",q,l(e.choices[0].name),1))]),t("td",null,l(e.selectedChoice?e.choices[e.selectedChoice].amount(n.tracker):0),1),t("td",null,l(e.selectedChoice?"$"+e.choices[e.selectedChoice].cost.toFixed(2):0),1),t("td",null,l(e.selectedChoice?"~$"+e.choices[e.selectedChoice].costAll().toFixed(2):0),1),t("td",{innerHTML:e.selectedChoice?e.choices[e.selectedChoice].links:""},null,8,V)]))),128))])]),t("p",null,"Total: $"+l(n.total.toFixed(2)),1)])}const $=A(R,[["render",N],["__scopeId","data-v-3e89084e"]]),G=JSON.parse('{"title":"Required Parts:","description":"","frontmatter":{},"headers":[],"relativePath":"how_to_build/part_list.md","filePath":"how_to_build/part_list.md","lastUpdated":1730845983000}'),H={name:"how_to_build/part_list.md"},Q=Object.assign(H,{setup(s){return(a,r)=>(i(),o("div",null,[r[0]||(r[0]=t("p",null,"WIP new parts list. 3D printed parts will live on their own page.",-1)),r[1]||(r[1]=t("p",null,[h("Use the "),t("strong",null,"interactive"),h(" tables below to select parts!")],-1)),r[2]||(r[2]=t("h1",{id:"required-parts",tabindex:"-1"},[h("Required Parts: "),t("a",{class:"header-anchor",href:"#required-parts","aria-label":'Permalink to "Required Parts:"'},"")],-1)),f(M),r[3]||(r[3]=t("h1",{id:"additional-parts",tabindex:"-1"},[h("Additional Parts: "),t("a",{class:"header-anchor",href:"#additional-parts","aria-label":'Permalink to "Additional Parts:"'},"")],-1)),f($),r[4]||(r[4]=y('<p><small> Table modified greatly 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-wired-over-usb-serial" tabindex="-1">Option 1: Wired over USB Serial <a class="header-anchor" href="#option-1-wired-over-usb-serial" aria-label="Permalink to "Option 1: Wired over USB Serial""></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 <em>or</em> wired</li><li>Less soldering required compared to ESP32-CAM boards</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 or other bandwidth sensitive components, a MTT USB hub is required or the devices will be unusable (low FPS).</li><li>Requires beta app versions until the v2.0 app is released</li></ul><h2 id="option-2-wireless-over-wifi-2-4-ghz" tabindex="-1">Option 2: Wireless over WiFi 2.4 GHz <a class="header-anchor" href="#option-2-wireless-over-wifi-2-4-ghz" aria-label="Permalink to "Option 2: 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>Less cables (power only)</li><li>No issues with USB hubs</li><li>Easier to flash</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>Uses more power and heats up due to radio power needs</li></ul>',19))]))}});export{G as __pageData,Q as default};
|