diff --git a/404.html b/404.html index 16d6a55..4c44c10 100644 --- a/404.html +++ b/404.html @@ -12,7 +12,7 @@
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.

Released under the MIT License.

- + diff --git a/about/index.html b/about/index.html index c56837e..5925c5a 100644 --- a/about/index.html +++ b/about/index.html @@ -14,7 +14,7 @@
Skip to content

Our Team

The development of EyeTrackVR is guided by an international team, some of whom have chosen to be featured below.

EyeTrackVR developers are a group of people who are passionate about the field of augmented and virtual reality.

Prohurtz

Prohurtz

Creator / Lead Software Developer / Documentor / Hardware Developer

Summer

Summer

Machine Learning Engineer / Data Scientist / App Developer

lorow

lorow

Lead Firmware Developer / App Developer

DaOfficialWizard

DaOfficialWizard

Firmware Developer / Documentation Manager / App Developer

Contributors

Those who have actively contributed to development.
Community Support

Philosophy

The guides on this website include some of our teams own notes (not all of them are polished) that we disclose for other people to use.

Here, we hope you may find something useful to you.

We advocate the Open Source model.

This is why we strive to make our work open to other people for consultation, replication and reuse.

Released under the MIT License.

- + diff --git a/archive/fox_ir_v2_build_instructions/index.html b/archive/fox_ir_v2_build_instructions/index.html index 8a7997f..4fa3fec 100644 --- a/archive/fox_ir_v2_build_instructions/index.html +++ b/archive/fox_ir_v2_build_instructions/index.html @@ -15,7 +15,7 @@
Skip to content
On this page

Fox IR V2 Buil dInstructions

Step 15: Prepare to solder IR LED PCB V2s

Get your magnifying glass out, it's time to solder very smol things.

Gather 4 PCBs, 4 IR LEDs, and 2 ~700ohm resistors.

'img'

698ohm resistors and V2 PCBs

Here are the PCB pin-out labels:

'img'

V2

LED labels:

'img'

The green markings and notched corners mark the positive sides of the LEDs pictured above.

If you have different LEDs, please consult their datasheet.

Some terminology related to them:

5V: 5-volt power in.

GND: Ground or power out.

AR: After-Resistor this is to be used as the power in on the 2nd PCB in series as resistors are not needed on the 2nd PCB since they are on the 1st one.

SNG: Single resistor, use this as 5V in if you are using only 1 ~700ohm resistor on V3 boards (not recommended).

Negative: This marks the negative side of the LED.

Positive: This marks the positive side of the LED.

Step 17: Solder resistors on PCB V2

You only need 1 PCB to have a resistor per eye.

'img'

Tin the resistor pads.

'img'

Hold the resistor in place.

'img'

Solder one end.

'img'

Flip to the other side of the resistor and solder it.

'img'

Solder LEDs on PCB V2

'img'

Tin the pads

'img'

Place the resistor on the pads in the correct orientation.

'img'

Solder each side of the resistor. Be careful not to solder at too high of a temp, recommended soldering temp is 230C with a max of 245C.

'img'

The LED is flipped in this Image, the green dot should face AWAY from the PCB.

Wire up the PCBs V2

Basic full wiring diagram of IR PCBs V2.

'drawing'

The PCB that receives the 5V power is the one with the resistor. The second one, which gets its power from the ground pin of the first, does not have a resistor on it and its power input pin is the AR pin (After-Resistor). The 2nd PCBs ground pin goes to the ground of the system, in the diagram it is the ESPs ground pin.

Released under the MIT License.

- + diff --git a/assets/how_to_build_full_build.md.0786f70e.js b/assets/how_to_build_full_build.md.0786f70e.js new file mode 100644 index 0000000..bdf5ebf --- /dev/null +++ b/assets/how_to_build_full_build.md.0786f70e.js @@ -0,0 +1 @@ +import{_ as r,a as l}from"./chunks/index.49197e79.js";import{_ as h}from"./chunks/CheckBoxList.8998c845.js";import{_ as s,i}from"./chunks/index.0f288f9a.js";import{o as d,c as p,a as t,u as o,g as e,w as u,h as a,b as n}from"./app.71fe9a66.js";const c={state:!0,object:[{label:"2 ESP 32 CAM boards"},{label:"2 160 degree cameras"},{label:"1 USB board to power your ESPs"},{label:"1 Programmer board(buying an extra is reccomended)"},{label:"IR emitters, resistors, and preferably PCBs"},{label:"Lower gauge wire to power ESPs"},{label:"Higher gauge wire to power IR LEDs"},{label:"3d printer to print mounts. (Buying them from some place like JLCPCB is also an option)"},{label:"Glue of some form, hot glue highly recommended."}]},_=a('

Build Guide

This page will contain a step-by-step assembly guide

Step 1: Make sure your have read the Things to know before you start guide

This will give you a basic overview of the project's status and what to expect currently.

Step 2: Order all the parts listed on our Parts list

Please take note of the fact that hardware still may change, although with more developments it seems like we are going to stick with current hardware.

Step 3: Wait for things to arrive

Long shipping times from China are f u n. Please allow anywhere from 2 weeks to 2 months for everything to arrive.

Step 4: Gather up all of your hardware

Make sure you have at least the following:

',10),m=e("h2",{id:"step-5-install-external-antennas-or-shield-esp-antenna-with-an-antistatic-bag",tabindex:"-1"},[n("Step 5: Install external antennas or shield ESP antenna with an antistatic bag "),e("a",{class:"header-anchor",href:"#step-5-install-external-antennas-or-shield-esp-antenna-with-an-antistatic-bag","aria-hidden":"true"},"#")],-1),g=e("p",null,"Some ESP-CAM boards have issues with signal integrity, there are 2 things you can do to help/solve the issues.",-1),w=e("p",null,"The first option is to use an external antenna.",-1),f=e("p",null,[n("This is the best solution when it comes to the final result. If you have Vive/Tundra trackers, this is a "),e("strong",null,"REQUIRED"),n(" step. The interference from the trackers will make your ESP stream unusable. An antistatic bag does not help in this case. Unfortunately, removing the antenna is not super easy, you have to either move a resistor or, remove it and bridge 2 solder pads. The image attached below shows the orientation of the pads that need to be connected for which mode. You can not bridge all connections and have both antennas active at the same time. The 0-ohm resistor does not need to be on the board, you can simply bridge the connections.")],-1),b=e("p",null,"Below is an example of bridging the connections and attaching an antenna.",-1),y=e("div",{align:"center"},[e("iframe",{width:"500",height:"300",src:"https://www.youtube.com/embed/r4PsuWTFRBg",title:"How to add an external antenna to ESP32-CAM board",frameborder:"1",allow:"accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""})],-1),v=e("p",null,"The second option is to cover the ESP's antenna with an antistatic bag. This can help aid problems, and can completely solve them in some cases. Best of all, it is completely free! However, it should be noted that it performs worse than an external antenna and in certain cases will not solve the issue like if you have Vive trackers.",-1),S=e("div",{align:"center"},[e("iframe",{width:"500",height:"300",src:"https://www.youtube.com/embed/wS4PS3Mw250",title:"Covering an ESP32-CAM's antenna with anti-static bag",frameborder:"0",allow:"accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""})],-1),k=e("h2",{id:"step-6-attach-cameras-to-esps",tabindex:"-1"},[n("Step 6: Attach cameras to ESPs "),e("a",{class:"header-anchor",href:"#step-6-attach-cameras-to-esps","aria-hidden":"true"},"#")],-1),T=e("p",null,"Look at your ESP and locate the camera ribbon cable connector as circled below.",-1),P=e("p",null,"Flip the gray part up to allow the cameras to be connected. Do not force it, or shove objects into it to open, fingernails are fine.",-1),E=e("p",null,"Now slide in a camera, please note that the pins are facing down, you should only see the black part.",-1),x=e("p",null,"Once the camera has been slid in, press the gray part of the connector back down. There will be a small amount of force but still be gentle. Note the ammount of black coming out of the connector.",-1),C=e("h2",{id:"step-7-connect-esp-to-the-programmer-to-flash",tabindex:"-1"},[n("Step 7: Connect ESP to the programmer to flash "),e("a",{class:"header-anchor",href:"#step-7-connect-esp-to-the-programmer-to-flash","aria-hidden":"true"},"#")],-1),I=e("p",null,"Why flash before you have it assembled? It's simple, to make sure they actually work before you spend time soldering to them.",-1),D=e("p",null,"Slide your ESP into the programmer, and note the USB port goes away from the ESP's camera.",-1),A=a('

Step 8: Configure Visual Studio Code and prepare to flash the firmware

Check out our guide on Setting up VS Code

Once VS Code is set up, move on to the next step.

Step 9: Plug in your ESP and flash the firmware

Our guide, Building and uploading the firmware manually has steps on how to do this. After it has flashed, make sure you get a video stream in your browser, then power it down and flash your next ESP.

Step 10: Connect your power wires to a USB Type-A board

WARNING

Powering from the programmer board will not work correctly. This delivers a lower voltage which results in dim LEDs and video artifacts. These are highly likely mess up tracking.

Get two pairs of wire, preferably two different colors, Cut them to length (56mm in my case) and twist together two for ground and two for 5V. Here I used speaker wire where the copper denotes positive and silver negative. Then, strip the wires to about 3mm of exposed wire.

',8),B=e("h2",{id:"step-11-cut-wires-for-ir-leds",tabindex:"-1"},[n("Step 11: Cut wires for IR LEDs "),e("a",{class:"header-anchor",href:"#step-11-cut-wires-for-ir-leds","aria-hidden":"true"},"#")],-1),V=e("p",null,"To find the optimal length, take a piece of wire and a marker and mock up your wire route, and mark the wire, cut it, then make another at the same size for the other eye. You will need 3 different cuts of wire. 2 short ones for connecting the 2 PCBs per eye together, 2 Longer ones for power, or ground and 2 slightly longer ones for power or ground for the LED near the camera at the bottom.",-1),L=e("p",null,"Once cut, strip them to around 4mm of exposed wire.",-1),R=e("h2",{id:"step-12-twist-the-positive-usb-wire-and-positive-ir-led-wires-together-and-tin-them",tabindex:"-1"},[n("Step 12: Twist the positive USB wire and positive IR LED wires together and tin them "),e("a",{class:"header-anchor",href:"#step-12-twist-the-positive-usb-wire-and-positive-ir-led-wires-together-and-tin-them","aria-hidden":"true"},"#")],-1),N=e("p",null,"Once twisted together add solder to keep them together. This makes the connection much easier.",-1),G=e("h2",{id:"step-13-solder-the-positive-wire-to-esp",tabindex:"-1"},[n("Step 13: Solder the positive wire to ESP "),e("a",{class:"header-anchor",href:"#step-13-solder-the-positive-wire-to-esp","aria-hidden":"true"},"#")],-1),O=e("p",null,"Lay the wire on the outside of the 5V pin and apply solder.",-1),U=a('

Step 14: Solder the negative wire to ESP

Repeat Step 12 but with the negative wires.

INFO

As a user in our discord has learned, you can short the IO12 pin with the ground pin (GND) without issues.

In the below example I put it on the top of the pin, It will be a week-ish joint but that's where glue comes in handy.

',4),W=a('

Step 15: Wire up the 2nd ESP

Repeat steps 12-14 with the 2nd ESP.

Step 16: Prepare to solder IR LED PCBs

Get your magnifying glass out, it's time to solder very smol things.

Gather 4 PCBs, 4 IR LEDs, and either 4 ~350ohm.

',5),H=e("p",null,"Here are the PCB pin-out labels:",-1),M=e("p",null,"LED labels:",-1),F=a('

If you have different LEDs, please consult their datasheet.

Some terminology related to them:

5V: 5-volt power in.

GND: Ground or power out.

AR: After-Resistor this is to be used as the power in on the 2nd PCB in series as resistors are not needed on the 2nd PCB since they are on the 1st one.

SNG: Single resistor, use this as 5V in if you are using only 1 ~700ohm resistor on V3 boards (not recommended).

Negative: This marks the negative side of the LED.

Positive: This marks the positive side of the LED.

Step 18: Solder resistors on PCB V3

You only need 1 PCB to have resistors per eye.

Tin the resistor pads. Note: in this example, I use too much solder, it should only be enough to lightly cover the pad.

',11),j=e("p",null,"Next, grab a resistor and hold it on the pads.",-1),z=e("p",null,"While holding the resistor add solder to your soldering iron and apply it to the resistor.",-1),Y=e("p",null,"I like to do this by having a piece of my solder stick up in the air and then put it on my iron that way.",-1),$=e("p",null,"Flip the PCB and solder the other end.",-1),q=e("p",null,"Now repeat for the other one.",-1),J=e("h2",{id:"solder-leds-on-pcb-v3",tabindex:"-1"},[n("Solder LEDs on PCB V3 "),e("a",{class:"header-anchor",href:"#solder-leds-on-pcb-v3","aria-hidden":"true"},"#")],-1),Q=e("p",null,"Tin the LED pads.",-1),K=e("p",null,"Orientate the LED and hold it in place.",-1),X=e("p",null,"Solder one end.",-1),Z=e("p",null,"Flip around and solder the other end.",-1),ee=e("h2",{id:"wire-up-the-pcbs-v3",tabindex:"-1"},[n("Wire up the PCBs V3 "),e("a",{class:"header-anchor",href:"#wire-up-the-pcbs-v3","aria-hidden":"true"},"#")],-1),te=e("div",{class:"warning custom-block"},[e("p",{class:"custom-block-title"},"WARNING"),e("p",null,"Pay attention to the direction of the LEDs on the PCBs.")],-1),oe=e("p",null,"If the green dot is facing inwards toward the text like in the picture below:",-1),se=e("p",null,"Use the following diagram:",-1),ie=e("p",null,"If the green dot is facing away from the text like the picture below:",-1),ne=e("p",null,"Use the following diagram:",-1),ae=a('

Step 19: 3D print mounts

Head to the 3D printed parts section of the parts list here.

Find which parts are for your headset and print them. Some may work better or worse, it is recommended to test all of them if there are multiple, print one of each kind. If none work, try making an edit yourself if you have the skills. If you have made a mount make sure to ping me, Prohurtz#0001, so I can add them to the list.

Having trouble getting them to fit? Try resizing the mounts up, or down a little to ensure a good fit.

There are 2 different types of mounts, how to secure the camera to each type will be documented below.

Type 1

',6),re=e("p",null,"This uses a method of sliding in the camera. Generally, this is the recommended mounting method as it generally requires no glue.",-1),le=e("p",null,"Place the camera into the mount",-1),he=e("p",null,"Slowly apply pressure inwards until the camera snaps into place.",-1),de={align:"center"},pe=e("p",null," There is a good chance of breaking the mount when putting in the camera. If this happens you may be able to save the mount depending on where the break was. A small dab of hot glue around the camera is likely all that is needed. ",-1),ue=e("h3",{id:"type-2",tabindex:"-1"},[n("Type 2 "),e("a",{class:"header-anchor",href:"#type-2","aria-hidden":"true"},"#")],-1),ce=e("p",null,"This uses the method of gluing the camera.",-1),_e=e("p",null,"Apply a bit of glue to the bottom of the camera mount.",-1),me=e("p",null,"Place the camera on the mount.",-1),ge=e("h2",{id:"ir-led-mounting",tabindex:"-1"},[n("IR LED mounting "),e("a",{class:"header-anchor",href:"#ir-led-mounting","aria-hidden":"true"},"#")],-1),we=e("p",null,"This again differs from mount to mount.",-1),fe=e("p",null,"In some cases, there are designated spots for the LEDs to go.",-1),be=e("p",null,"In others there are no specified spots, you will have to mess around to find what works best. This image shows the optimal/near-optimal position for the LEDs. Hot glue is your friend with this.",-1),ye=e("div",{class:"tip custom-block"},[e("p",{class:"custom-block-title"},"TIP"),e("p",null,"Use rubbing alcohol to easily remove hot glue.")],-1),Ie=JSON.parse('{"title":"Build Guide","description":"","frontmatter":{},"headers":[{"level":2,"title":"This page will contain a step-by-step assembly guide","slug":"this-page-will-contain-a-step-by-step-assembly-guide","link":"#this-page-will-contain-a-step-by-step-assembly-guide","children":[]},{"level":2,"title":"Step 1: Make sure your have read the Things to know before you start guide","slug":"step-1-make-sure-your-have-read-the-things-to-know-before-you-start-guide","link":"#step-1-make-sure-your-have-read-the-things-to-know-before-you-start-guide","children":[]},{"level":2,"title":"Step 2: Order all the parts listed on our Parts list","slug":"step-2-order-all-the-parts-listed-on-our-parts-list","link":"#step-2-order-all-the-parts-listed-on-our-parts-list","children":[]},{"level":2,"title":"Step 3: Wait for things to arrive","slug":"step-3-wait-for-things-to-arrive","link":"#step-3-wait-for-things-to-arrive","children":[]},{"level":2,"title":"Step 4: Gather up all of your hardware","slug":"step-4-gather-up-all-of-your-hardware","link":"#step-4-gather-up-all-of-your-hardware","children":[]},{"level":2,"title":"Step 5: Install external antennas or shield ESP antenna with an antistatic bag","slug":"step-5-install-external-antennas-or-shield-esp-antenna-with-an-antistatic-bag","link":"#step-5-install-external-antennas-or-shield-esp-antenna-with-an-antistatic-bag","children":[]},{"level":2,"title":"Step 6: Attach cameras to ESPs","slug":"step-6-attach-cameras-to-esps","link":"#step-6-attach-cameras-to-esps","children":[]},{"level":2,"title":"Step 7: Connect ESP to the programmer to flash","slug":"step-7-connect-esp-to-the-programmer-to-flash","link":"#step-7-connect-esp-to-the-programmer-to-flash","children":[]},{"level":2,"title":"Step 8: Configure Visual Studio Code and prepare to flash the firmware","slug":"step-8-configure-visual-studio-code-and-prepare-to-flash-the-firmware","link":"#step-8-configure-visual-studio-code-and-prepare-to-flash-the-firmware","children":[]},{"level":2,"title":"Step 9: Plug in your ESP and flash the firmware","slug":"step-9-plug-in-your-esp-and-flash-the-firmware","link":"#step-9-plug-in-your-esp-and-flash-the-firmware","children":[]},{"level":2,"title":"Step 10: Connect your power wires to a USB Type-A board","slug":"step-10-connect-your-power-wires-to-a-usb-type-a-board","link":"#step-10-connect-your-power-wires-to-a-usb-type-a-board","children":[]},{"level":2,"title":"Step 11: Cut wires for IR LEDs","slug":"step-11-cut-wires-for-ir-leds","link":"#step-11-cut-wires-for-ir-leds","children":[]},{"level":2,"title":"Step 12: Twist the positive USB wire and positive IR LED wires together and tin them","slug":"step-12-twist-the-positive-usb-wire-and-positive-ir-led-wires-together-and-tin-them","link":"#step-12-twist-the-positive-usb-wire-and-positive-ir-led-wires-together-and-tin-them","children":[]},{"level":2,"title":"Step 13: Solder the positive wire to ESP","slug":"step-13-solder-the-positive-wire-to-esp","link":"#step-13-solder-the-positive-wire-to-esp","children":[]},{"level":2,"title":"Step 14: Solder the negative wire to ESP","slug":"step-14-solder-the-negative-wire-to-esp","link":"#step-14-solder-the-negative-wire-to-esp","children":[]},{"level":2,"title":"Step 15: Wire up the 2nd ESP","slug":"step-15-wire-up-the-2nd-esp","link":"#step-15-wire-up-the-2nd-esp","children":[]},{"level":2,"title":"Step 16: Prepare to solder IR LED PCBs","slug":"step-16-prepare-to-solder-ir-led-pcbs","link":"#step-16-prepare-to-solder-ir-led-pcbs","children":[]},{"level":2,"title":"Step 18: Solder resistors on PCB V3","slug":"step-18-solder-resistors-on-pcb-v3","link":"#step-18-solder-resistors-on-pcb-v3","children":[]},{"level":2,"title":"Solder LEDs on PCB V3","slug":"solder-leds-on-pcb-v3","link":"#solder-leds-on-pcb-v3","children":[]},{"level":2,"title":"Wire up the PCBs V3","slug":"wire-up-the-pcbs-v3","link":"#wire-up-the-pcbs-v3","children":[]},{"level":2,"title":"Step 19: 3D print mounts","slug":"step-19-3d-print-mounts","link":"#step-19-3d-print-mounts","children":[{"level":3,"title":"Type 1","slug":"type-1","link":"#type-1","children":[]},{"level":3,"title":"Type 2","slug":"type-2","link":"#type-2","children":[]}]},{"level":2,"title":"IR LED mounting","slug":"ir-led-mounting","link":"#ir-led-mounting","children":[]}],"relativePath":"how_to_build/full_build.md","lastUpdated":1676065232000}'),ve={name:"how_to_build/full_build.md"},De=Object.assign(ve,{setup(Se){return(ke,Te)=>(d(),p("div",null,[_,t(h,{options:{...o(c)}},null,8,["options"]),t(s,{options:o(i).image_one},null,8,["options"]),m,g,w,f,t(s,{options:o(i).external_antenna},null,8,["options"]),b,t(s,{options:o(i).external_antenna_resistors},null,8,["options"]),y,v,S,k,T,t(s,{options:o(i).camera_socket},null,8,["options"]),P,t(s,{options:o(i).camera_socket_clip},null,8,["options"]),E,t(s,{options:o(i).camera_cable},null,8,["options"]),x,t(s,{options:o(i).camera_clip_close},null,8,["options"]),C,I,D,t(s,{options:o(i)._7_12_one},null,8,["options"]),A,t(s,{options:o(i)._7_12_two},null,8,["options"]),B,V,L,R,N,t(s,{options:o(i)._7_12_three},null,8,["options"]),G,O,t(s,{options:o(i)._13_18_one},null,8,["options"]),U,t(s,{options:o(i)._13_18_two},null,8,["options"]),W,t(s,{options:o(i)._13_18_three},null,8,["options"]),H,t(s,{options:o(i)._13_18_four},null,8,["options"]),M,t(s,{options:o(i)._13_18_five},null,8,["options"]),F,t(s,{options:o(i)._13_18_six},null,8,["options"]),j,t(s,{options:o(i)._13_18_seven},null,8,["options"]),z,Y,t(s,{options:o(i)._13_18_eight},null,8,["options"]),$,t(s,{options:o(i)._13_18_nine},null,8,["options"]),q,t(s,{options:o(i)._13_18_ten},null,8,["options"]),J,Q,t(s,{options:o(i).end_one},null,8,["options"]),K,t(s,{options:o(i).end_two},null,8,["options"]),X,t(s,{options:o(i).end_three},null,8,["options"]),Z,t(s,{options:o(i).end_four},null,8,["options"]),ee,te,oe,t(s,{options:o(i).end_five},null,8,["options"]),se,t(s,{options:o(i).end_six},null,8,["options"]),ie,t(s,{options:o(i).end_seven},null,8,["options"]),ne,t(s,{options:o(i).end_eight},null,8,["options"]),ae,t(s,{options:o(i).end_nine},null,8,["options"]),re,le,t(s,{options:o(i).end_ten},null,8,["options"]),he,t(s,{options:o(i).end_eleven},null,8,["options"]),e("div",de,[t(r,{options:o(l).end_one},{content:u(()=>[pe]),_:1},8,["options"])]),ue,t(s,{options:o(i).end_twelve},null,8,["options"]),ce,_e,t(s,{options:o(i).end_thirteen},null,8,["options"]),me,t(s,{options:o(i).end_fourteen},null,8,["options"]),ge,we,fe,t(s,{options:o(i).end_fifteen},null,8,["options"]),be,t(s,{options:o(i).end_sixteen},null,8,["options"]),ye]))}});export{Ie as __pageData,De as default}; diff --git a/assets/how_to_build_full_build.md.a07cc6f8.lean.js b/assets/how_to_build_full_build.md.0786f70e.lean.js similarity index 99% rename from assets/how_to_build_full_build.md.a07cc6f8.lean.js rename to assets/how_to_build_full_build.md.0786f70e.lean.js index 5ff7ef0..f8c99f7 100644 --- a/assets/how_to_build_full_build.md.a07cc6f8.lean.js +++ b/assets/how_to_build_full_build.md.0786f70e.lean.js @@ -1 +1 @@ -import{_ as r,a as l}from"./chunks/index.49197e79.js";import{_ as h}from"./chunks/CheckBoxList.8998c845.js";import{_ as s,i}from"./chunks/index.0f288f9a.js";import{o as d,c as p,a as t,u as o,g as e,w as u,h as a,b as n}from"./app.71fe9a66.js";const c={state:!0,object:[{label:"2 ESP 32 CAM boards"},{label:"2 160 degree cameras"},{label:"1 USB board to power your ESPs"},{label:"1 Programmer board(buying an extra is reccomended)"},{label:"IR emitters, resistors, and preferably PCBs"},{label:"Lower gauge wire to power ESPs"},{label:"Higher gauge wire to power IR LEDs"},{label:"3d printer to print mounts. (Buying them from some place like JLCPCB is also an option)"},{label:"Glue of some form, hot glue highly recommended."}]},_=a("",10),m=e("h2",{id:"step-5-install-external-antennas-or-shield-esp-antenna-with-an-antistatic-bag",tabindex:"-1"},[n("Step 5: Install external antennas or shield ESP antenna with an antistatic bag "),e("a",{class:"header-anchor",href:"#step-5-install-external-antennas-or-shield-esp-antenna-with-an-antistatic-bag","aria-hidden":"true"},"#")],-1),g=e("p",null,"Some ESP-CAM boards have issues with signal integrity, there are 2 things you can do to help/solve the issues.",-1),w=e("p",null,"The first option is to use an external antenna.",-1),f=e("p",null,[n("This is the best solution when it comes to the final result. If you have Vive/Tundra trackers, this is a "),e("strong",null,"REQUIRED"),n(" step. The interference from the trackers will make your ESP stream unusable. An antistatic bag does not help in this case. Unfortunately, removing the antenna is not super easy, you have to either move a resistor or, remove it and bridge 2 solder pads. The image attached below shows the orientation of the pads that need to be connected for which mode. You can not bridge all connections and have both antennas active at the same time. The 0-ohm resistor does not need to be on the board, you can simply bridge the connections.")],-1),b=e("p",null,"Below is an example of bridging the connections and attaching an antenna.",-1),y=e("div",{align:"center"},[e("iframe",{width:"500",height:"300",src:"https://www.youtube.com/embed/r4PsuWTFRBg",title:"How to add an external antenna to ESP32-CAM board",frameborder:"1",allow:"accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""})],-1),v=e("p",null,"The second option is to cover the ESP's antenna with an antistatic bag. This can help aid problems, and can completely solve them in some cases. Best of all, it is completely free! However, it should be noted that it performs worse than an external antenna and in certain cases will not solve the issue like if you have Vive trackers.",-1),S=e("div",{align:"center"},[e("iframe",{width:"500",height:"300",src:"https://www.youtube.com/embed/wS4PS3Mw250",title:"Covering an ESP32-CAM's antenna with anti-static bag",frameborder:"0",allow:"accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""})],-1),k=e("h2",{id:"step-6-attach-cameras-to-esps",tabindex:"-1"},[n("Step 6: Attach cameras to ESPs "),e("a",{class:"header-anchor",href:"#step-6-attach-cameras-to-esps","aria-hidden":"true"},"#")],-1),T=e("p",null,"Look at your ESP and locate the camera ribbon cable connector as circled below.",-1),P=e("p",null,"Flip the gray part up to allow the cameras to be connected. Do not force it, or shove objects into it to open, fingernails are fine.",-1),E=e("p",null,"Now slide in a camera, please note that the pins are facing down, you should only see the black part.",-1),x=e("p",null,"Once the camera has been slid in, press the gray part of the connector back down. There will be a small amount of force but still be gentle. Note the ammount of black coming out of the connector.",-1),C=e("h2",{id:"step-7-connect-esp-to-the-programmer-to-flash",tabindex:"-1"},[n("Step 7: Connect ESP to the programmer to flash "),e("a",{class:"header-anchor",href:"#step-7-connect-esp-to-the-programmer-to-flash","aria-hidden":"true"},"#")],-1),I=e("p",null,"Why flash before you have it assembled? It's simple, to make sure they actually work before you spend time soldering to them.",-1),D=e("p",null,"Slide your ESP into the programmer, and note the USB port goes away from the ESP's camera.",-1),A=a("",8),B=e("h2",{id:"step-11-cut-wires-for-ir-leds",tabindex:"-1"},[n("Step 11: Cut wires for IR LEDs "),e("a",{class:"header-anchor",href:"#step-11-cut-wires-for-ir-leds","aria-hidden":"true"},"#")],-1),V=e("p",null,"To find the optimal length, take a piece of wire and a marker and mock up your wire route, and mark the wire, cut it, then make another at the same size for the other eye. You will need 3 different cuts of wire. 2 short ones for connecting the 2 PCBs per eye together, 2 Longer ones for power, or ground and 2 slightly longer ones for power or ground for the LED near the camera at the bottom.",-1),L=e("p",null,"Once cut, strip them to around 4mm of exposed wire.",-1),R=e("h2",{id:"step-12-twist-the-positive-usb-wire-and-positive-ir-led-wires-together-and-tin-them",tabindex:"-1"},[n("Step 12: Twist the positive USB wire and positive IR LED wires together and tin them "),e("a",{class:"header-anchor",href:"#step-12-twist-the-positive-usb-wire-and-positive-ir-led-wires-together-and-tin-them","aria-hidden":"true"},"#")],-1),N=e("p",null,"Once twisted together add solder to keep them together. This makes the connection much easier.",-1),G=e("h2",{id:"step-13-solder-the-positive-wire-to-esp",tabindex:"-1"},[n("Step 13: Solder the positive wire to ESP "),e("a",{class:"header-anchor",href:"#step-13-solder-the-positive-wire-to-esp","aria-hidden":"true"},"#")],-1),O=e("p",null,"Lay the wire on the outside of the 5V pin and apply solder.",-1),U=a("",4),W=a("",5),H=e("p",null,"Here are the PCB pin-out labels:",-1),M=e("p",null,"LED labels:",-1),F=a("",11),j=e("p",null,"Next, grab a resistor and hold it on the pads.",-1),z=e("p",null,"While holding the resistor add solder to your soldering iron and apply it to the resistor.",-1),Y=e("p",null,"I like to do this by having a piece of my solder stick up in the air and then put it on my iron that way.",-1),$=e("p",null,"Flip the PCB and solder the other end.",-1),q=e("p",null,"Now repeat for the other one.",-1),J=e("h2",{id:"solder-leds-on-pcb-v3",tabindex:"-1"},[n("Solder LEDs on PCB V3 "),e("a",{class:"header-anchor",href:"#solder-leds-on-pcb-v3","aria-hidden":"true"},"#")],-1),Q=e("p",null,"Tin the LED pads.",-1),K=e("p",null,"Orientate the LED and hold it in place.",-1),X=e("p",null,"Solder one end.",-1),Z=e("p",null,"Flip around and solder the other end.",-1),ee=e("h2",{id:"wire-up-the-pcbs-v3",tabindex:"-1"},[n("Wire up the PCBs V3 "),e("a",{class:"header-anchor",href:"#wire-up-the-pcbs-v3","aria-hidden":"true"},"#")],-1),te=e("div",{class:"warning custom-block"},[e("p",{class:"custom-block-title"},"WARNING"),e("p",null,"Pay attention to the direction of the LEDs on the PCBs.")],-1),oe=e("p",null,"If the green dot is facing inwards toward the text like in the picture below:",-1),se=e("p",null,"Use the following diagram:",-1),ie=e("p",null,"If the green dot is facing away from the text like the picture below:",-1),ne=e("p",null,"Use the following diagram:",-1),ae=a("",6),re=e("p",null,"This uses a method of sliding in the camera. Generally, this is the recommended mounting method as it generally requires no glue.",-1),le=e("p",null,"Place the camera into the mount",-1),he=e("p",null,"Slowly apply pressure inwards until the camera snaps into place.",-1),de={align:"center"},pe=e("p",null," There is a good chance of breaking the mount when putting in the camera. If this happens you may be able to save the mount depending on where the break was. A small dab of hot glue around the camera is likely all that is needed. ",-1),ue=e("h3",{id:"type-2",tabindex:"-1"},[n("Type 2 "),e("a",{class:"header-anchor",href:"#type-2","aria-hidden":"true"},"#")],-1),ce=e("p",null,"This uses the method of gluing the camera.",-1),_e=e("p",null,"Apply a bit of glue to the bottom of the camera mount.",-1),me=e("p",null,"Place the camera on the mount.",-1),ge=e("h2",{id:"ir-led-mounting",tabindex:"-1"},[n("IR LED mounting "),e("a",{class:"header-anchor",href:"#ir-led-mounting","aria-hidden":"true"},"#")],-1),we=e("p",null,"This again differs from mount to mount.",-1),fe=e("p",null,"In some cases, there are designated spots for the LEDs to go.",-1),be=e("p",null,"In others there are no specified spots, you will have to mess around to find what works best. This image shows the optimal/near-optimal position for the LEDs. Hot glue is your friend with this.",-1),ye=e("div",{class:"tip custom-block"},[e("p",{class:"custom-block-title"},"TIP"),e("p",null,"Use rubbing alcohol to easily remove hot glue.")],-1),Ie=JSON.parse('{"title":"Build Guide","description":"","frontmatter":{},"headers":[{"level":2,"title":"This page will contain a step-by-step assembly guide","slug":"this-page-will-contain-a-step-by-step-assembly-guide","link":"#this-page-will-contain-a-step-by-step-assembly-guide","children":[]},{"level":2,"title":"Step 1: Make sure your have read the Things to know before you start guide","slug":"step-1-make-sure-your-have-read-the-things-to-know-before-you-start-guide","link":"#step-1-make-sure-your-have-read-the-things-to-know-before-you-start-guide","children":[]},{"level":2,"title":"Step 2: Order all the parts listed on our Parts list","slug":"step-2-order-all-the-parts-listed-on-our-parts-list","link":"#step-2-order-all-the-parts-listed-on-our-parts-list","children":[]},{"level":2,"title":"Step 3: Wait for things to arrive","slug":"step-3-wait-for-things-to-arrive","link":"#step-3-wait-for-things-to-arrive","children":[]},{"level":2,"title":"Step 4: Gather up all of your hardware","slug":"step-4-gather-up-all-of-your-hardware","link":"#step-4-gather-up-all-of-your-hardware","children":[]},{"level":2,"title":"Step 5: Install external antennas or shield ESP antenna with an antistatic bag","slug":"step-5-install-external-antennas-or-shield-esp-antenna-with-an-antistatic-bag","link":"#step-5-install-external-antennas-or-shield-esp-antenna-with-an-antistatic-bag","children":[]},{"level":2,"title":"Step 6: Attach cameras to ESPs","slug":"step-6-attach-cameras-to-esps","link":"#step-6-attach-cameras-to-esps","children":[]},{"level":2,"title":"Step 7: Connect ESP to the programmer to flash","slug":"step-7-connect-esp-to-the-programmer-to-flash","link":"#step-7-connect-esp-to-the-programmer-to-flash","children":[]},{"level":2,"title":"Step 8: Configure Visual Studio Code and prepare to flash the firmware","slug":"step-8-configure-visual-studio-code-and-prepare-to-flash-the-firmware","link":"#step-8-configure-visual-studio-code-and-prepare-to-flash-the-firmware","children":[]},{"level":2,"title":"Step 9: Plug in your ESP and flash the firmware","slug":"step-9-plug-in-your-esp-and-flash-the-firmware","link":"#step-9-plug-in-your-esp-and-flash-the-firmware","children":[]},{"level":2,"title":"Step 10: Connect your power wires to a USB Type-A board","slug":"step-10-connect-your-power-wires-to-a-usb-type-a-board","link":"#step-10-connect-your-power-wires-to-a-usb-type-a-board","children":[]},{"level":2,"title":"Step 11: Cut wires for IR LEDs","slug":"step-11-cut-wires-for-ir-leds","link":"#step-11-cut-wires-for-ir-leds","children":[]},{"level":2,"title":"Step 12: Twist the positive USB wire and positive IR LED wires together and tin them","slug":"step-12-twist-the-positive-usb-wire-and-positive-ir-led-wires-together-and-tin-them","link":"#step-12-twist-the-positive-usb-wire-and-positive-ir-led-wires-together-and-tin-them","children":[]},{"level":2,"title":"Step 13: Solder the positive wire to ESP","slug":"step-13-solder-the-positive-wire-to-esp","link":"#step-13-solder-the-positive-wire-to-esp","children":[]},{"level":2,"title":"Step 14: Solder the negative wire to ESP","slug":"step-14-solder-the-negative-wire-to-esp","link":"#step-14-solder-the-negative-wire-to-esp","children":[]},{"level":2,"title":"Step 15: Wire up the 2nd ESP","slug":"step-15-wire-up-the-2nd-esp","link":"#step-15-wire-up-the-2nd-esp","children":[]},{"level":2,"title":"Step 16: Prepare to solder IR LED PCBs","slug":"step-16-prepare-to-solder-ir-led-pcbs","link":"#step-16-prepare-to-solder-ir-led-pcbs","children":[]},{"level":2,"title":"Step 18: Solder resistors on PCB V3","slug":"step-18-solder-resistors-on-pcb-v3","link":"#step-18-solder-resistors-on-pcb-v3","children":[]},{"level":2,"title":"Solder LEDs on PCB V3","slug":"solder-leds-on-pcb-v3","link":"#solder-leds-on-pcb-v3","children":[]},{"level":2,"title":"Wire up the PCBs V3","slug":"wire-up-the-pcbs-v3","link":"#wire-up-the-pcbs-v3","children":[]},{"level":2,"title":"Step 19: 3D print mounts","slug":"step-19-3d-print-mounts","link":"#step-19-3d-print-mounts","children":[{"level":3,"title":"Type 1","slug":"type-1","link":"#type-1","children":[]},{"level":3,"title":"Type 2","slug":"type-2","link":"#type-2","children":[]}]},{"level":2,"title":"IR LED mounting","slug":"ir-led-mounting","link":"#ir-led-mounting","children":[]}],"relativePath":"how_to_build/full_build.md","lastUpdated":1676064976000}'),ve={name:"how_to_build/full_build.md"},De=Object.assign(ve,{setup(Se){return(ke,Te)=>(d(),p("div",null,[_,t(h,{options:{...o(c)}},null,8,["options"]),t(s,{options:o(i).image_one},null,8,["options"]),m,g,w,f,t(s,{options:o(i).external_antenna},null,8,["options"]),b,t(s,{options:o(i).external_antenna_resistors},null,8,["options"]),y,v,S,k,T,t(s,{options:o(i).camera_socket},null,8,["options"]),P,t(s,{options:o(i).camera_socket_clip},null,8,["options"]),E,t(s,{options:o(i).camera_cable},null,8,["options"]),x,t(s,{options:o(i).camera_clip_close},null,8,["options"]),C,I,D,t(s,{options:o(i)._7_12_one},null,8,["options"]),A,t(s,{options:o(i)._7_12_two},null,8,["options"]),B,V,L,R,N,t(s,{options:o(i)._7_12_three},null,8,["options"]),G,O,t(s,{options:o(i)._13_18_one},null,8,["options"]),U,t(s,{options:o(i)._13_18_two},null,8,["options"]),W,t(s,{options:o(i)._13_18_three},null,8,["options"]),H,t(s,{options:o(i)._13_18_four},null,8,["options"]),M,t(s,{options:o(i)._13_18_five},null,8,["options"]),F,t(s,{options:o(i)._13_18_six},null,8,["options"]),j,t(s,{options:o(i)._13_18_seven},null,8,["options"]),z,Y,t(s,{options:o(i)._13_18_eight},null,8,["options"]),$,t(s,{options:o(i)._13_18_nine},null,8,["options"]),q,t(s,{options:o(i)._13_18_ten},null,8,["options"]),J,Q,t(s,{options:o(i).end_one},null,8,["options"]),K,t(s,{options:o(i).end_two},null,8,["options"]),X,t(s,{options:o(i).end_three},null,8,["options"]),Z,t(s,{options:o(i).end_four},null,8,["options"]),ee,te,oe,t(s,{options:o(i).end_five},null,8,["options"]),se,t(s,{options:o(i).end_six},null,8,["options"]),ie,t(s,{options:o(i).end_seven},null,8,["options"]),ne,t(s,{options:o(i).end_eight},null,8,["options"]),ae,t(s,{options:o(i).end_nine},null,8,["options"]),re,le,t(s,{options:o(i).end_ten},null,8,["options"]),he,t(s,{options:o(i).end_eleven},null,8,["options"]),e("div",de,[t(r,{options:o(l).end_one},{content:u(()=>[pe]),_:1},8,["options"])]),ue,t(s,{options:o(i).end_twelve},null,8,["options"]),ce,_e,t(s,{options:o(i).end_thirteen},null,8,["options"]),me,t(s,{options:o(i).end_fourteen},null,8,["options"]),ge,we,fe,t(s,{options:o(i).end_fifteen},null,8,["options"]),be,t(s,{options:o(i).end_sixteen},null,8,["options"]),ye]))}});export{Ie as __pageData,De as default}; +import{_ as r,a as l}from"./chunks/index.49197e79.js";import{_ as h}from"./chunks/CheckBoxList.8998c845.js";import{_ as s,i}from"./chunks/index.0f288f9a.js";import{o as d,c as p,a as t,u as o,g as e,w as u,h as a,b as n}from"./app.71fe9a66.js";const c={state:!0,object:[{label:"2 ESP 32 CAM boards"},{label:"2 160 degree cameras"},{label:"1 USB board to power your ESPs"},{label:"1 Programmer board(buying an extra is reccomended)"},{label:"IR emitters, resistors, and preferably PCBs"},{label:"Lower gauge wire to power ESPs"},{label:"Higher gauge wire to power IR LEDs"},{label:"3d printer to print mounts. (Buying them from some place like JLCPCB is also an option)"},{label:"Glue of some form, hot glue highly recommended."}]},_=a("",10),m=e("h2",{id:"step-5-install-external-antennas-or-shield-esp-antenna-with-an-antistatic-bag",tabindex:"-1"},[n("Step 5: Install external antennas or shield ESP antenna with an antistatic bag "),e("a",{class:"header-anchor",href:"#step-5-install-external-antennas-or-shield-esp-antenna-with-an-antistatic-bag","aria-hidden":"true"},"#")],-1),g=e("p",null,"Some ESP-CAM boards have issues with signal integrity, there are 2 things you can do to help/solve the issues.",-1),w=e("p",null,"The first option is to use an external antenna.",-1),f=e("p",null,[n("This is the best solution when it comes to the final result. If you have Vive/Tundra trackers, this is a "),e("strong",null,"REQUIRED"),n(" step. The interference from the trackers will make your ESP stream unusable. An antistatic bag does not help in this case. Unfortunately, removing the antenna is not super easy, you have to either move a resistor or, remove it and bridge 2 solder pads. The image attached below shows the orientation of the pads that need to be connected for which mode. You can not bridge all connections and have both antennas active at the same time. The 0-ohm resistor does not need to be on the board, you can simply bridge the connections.")],-1),b=e("p",null,"Below is an example of bridging the connections and attaching an antenna.",-1),y=e("div",{align:"center"},[e("iframe",{width:"500",height:"300",src:"https://www.youtube.com/embed/r4PsuWTFRBg",title:"How to add an external antenna to ESP32-CAM board",frameborder:"1",allow:"accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""})],-1),v=e("p",null,"The second option is to cover the ESP's antenna with an antistatic bag. This can help aid problems, and can completely solve them in some cases. Best of all, it is completely free! However, it should be noted that it performs worse than an external antenna and in certain cases will not solve the issue like if you have Vive trackers.",-1),S=e("div",{align:"center"},[e("iframe",{width:"500",height:"300",src:"https://www.youtube.com/embed/wS4PS3Mw250",title:"Covering an ESP32-CAM's antenna with anti-static bag",frameborder:"0",allow:"accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""})],-1),k=e("h2",{id:"step-6-attach-cameras-to-esps",tabindex:"-1"},[n("Step 6: Attach cameras to ESPs "),e("a",{class:"header-anchor",href:"#step-6-attach-cameras-to-esps","aria-hidden":"true"},"#")],-1),T=e("p",null,"Look at your ESP and locate the camera ribbon cable connector as circled below.",-1),P=e("p",null,"Flip the gray part up to allow the cameras to be connected. Do not force it, or shove objects into it to open, fingernails are fine.",-1),E=e("p",null,"Now slide in a camera, please note that the pins are facing down, you should only see the black part.",-1),x=e("p",null,"Once the camera has been slid in, press the gray part of the connector back down. There will be a small amount of force but still be gentle. Note the ammount of black coming out of the connector.",-1),C=e("h2",{id:"step-7-connect-esp-to-the-programmer-to-flash",tabindex:"-1"},[n("Step 7: Connect ESP to the programmer to flash "),e("a",{class:"header-anchor",href:"#step-7-connect-esp-to-the-programmer-to-flash","aria-hidden":"true"},"#")],-1),I=e("p",null,"Why flash before you have it assembled? It's simple, to make sure they actually work before you spend time soldering to them.",-1),D=e("p",null,"Slide your ESP into the programmer, and note the USB port goes away from the ESP's camera.",-1),A=a("",8),B=e("h2",{id:"step-11-cut-wires-for-ir-leds",tabindex:"-1"},[n("Step 11: Cut wires for IR LEDs "),e("a",{class:"header-anchor",href:"#step-11-cut-wires-for-ir-leds","aria-hidden":"true"},"#")],-1),V=e("p",null,"To find the optimal length, take a piece of wire and a marker and mock up your wire route, and mark the wire, cut it, then make another at the same size for the other eye. You will need 3 different cuts of wire. 2 short ones for connecting the 2 PCBs per eye together, 2 Longer ones for power, or ground and 2 slightly longer ones for power or ground for the LED near the camera at the bottom.",-1),L=e("p",null,"Once cut, strip them to around 4mm of exposed wire.",-1),R=e("h2",{id:"step-12-twist-the-positive-usb-wire-and-positive-ir-led-wires-together-and-tin-them",tabindex:"-1"},[n("Step 12: Twist the positive USB wire and positive IR LED wires together and tin them "),e("a",{class:"header-anchor",href:"#step-12-twist-the-positive-usb-wire-and-positive-ir-led-wires-together-and-tin-them","aria-hidden":"true"},"#")],-1),N=e("p",null,"Once twisted together add solder to keep them together. This makes the connection much easier.",-1),G=e("h2",{id:"step-13-solder-the-positive-wire-to-esp",tabindex:"-1"},[n("Step 13: Solder the positive wire to ESP "),e("a",{class:"header-anchor",href:"#step-13-solder-the-positive-wire-to-esp","aria-hidden":"true"},"#")],-1),O=e("p",null,"Lay the wire on the outside of the 5V pin and apply solder.",-1),U=a("",4),W=a("",5),H=e("p",null,"Here are the PCB pin-out labels:",-1),M=e("p",null,"LED labels:",-1),F=a("",11),j=e("p",null,"Next, grab a resistor and hold it on the pads.",-1),z=e("p",null,"While holding the resistor add solder to your soldering iron and apply it to the resistor.",-1),Y=e("p",null,"I like to do this by having a piece of my solder stick up in the air and then put it on my iron that way.",-1),$=e("p",null,"Flip the PCB and solder the other end.",-1),q=e("p",null,"Now repeat for the other one.",-1),J=e("h2",{id:"solder-leds-on-pcb-v3",tabindex:"-1"},[n("Solder LEDs on PCB V3 "),e("a",{class:"header-anchor",href:"#solder-leds-on-pcb-v3","aria-hidden":"true"},"#")],-1),Q=e("p",null,"Tin the LED pads.",-1),K=e("p",null,"Orientate the LED and hold it in place.",-1),X=e("p",null,"Solder one end.",-1),Z=e("p",null,"Flip around and solder the other end.",-1),ee=e("h2",{id:"wire-up-the-pcbs-v3",tabindex:"-1"},[n("Wire up the PCBs V3 "),e("a",{class:"header-anchor",href:"#wire-up-the-pcbs-v3","aria-hidden":"true"},"#")],-1),te=e("div",{class:"warning custom-block"},[e("p",{class:"custom-block-title"},"WARNING"),e("p",null,"Pay attention to the direction of the LEDs on the PCBs.")],-1),oe=e("p",null,"If the green dot is facing inwards toward the text like in the picture below:",-1),se=e("p",null,"Use the following diagram:",-1),ie=e("p",null,"If the green dot is facing away from the text like the picture below:",-1),ne=e("p",null,"Use the following diagram:",-1),ae=a("",6),re=e("p",null,"This uses a method of sliding in the camera. Generally, this is the recommended mounting method as it generally requires no glue.",-1),le=e("p",null,"Place the camera into the mount",-1),he=e("p",null,"Slowly apply pressure inwards until the camera snaps into place.",-1),de={align:"center"},pe=e("p",null," There is a good chance of breaking the mount when putting in the camera. If this happens you may be able to save the mount depending on where the break was. A small dab of hot glue around the camera is likely all that is needed. ",-1),ue=e("h3",{id:"type-2",tabindex:"-1"},[n("Type 2 "),e("a",{class:"header-anchor",href:"#type-2","aria-hidden":"true"},"#")],-1),ce=e("p",null,"This uses the method of gluing the camera.",-1),_e=e("p",null,"Apply a bit of glue to the bottom of the camera mount.",-1),me=e("p",null,"Place the camera on the mount.",-1),ge=e("h2",{id:"ir-led-mounting",tabindex:"-1"},[n("IR LED mounting "),e("a",{class:"header-anchor",href:"#ir-led-mounting","aria-hidden":"true"},"#")],-1),we=e("p",null,"This again differs from mount to mount.",-1),fe=e("p",null,"In some cases, there are designated spots for the LEDs to go.",-1),be=e("p",null,"In others there are no specified spots, you will have to mess around to find what works best. This image shows the optimal/near-optimal position for the LEDs. Hot glue is your friend with this.",-1),ye=e("div",{class:"tip custom-block"},[e("p",{class:"custom-block-title"},"TIP"),e("p",null,"Use rubbing alcohol to easily remove hot glue.")],-1),Ie=JSON.parse('{"title":"Build Guide","description":"","frontmatter":{},"headers":[{"level":2,"title":"This page will contain a step-by-step assembly guide","slug":"this-page-will-contain-a-step-by-step-assembly-guide","link":"#this-page-will-contain-a-step-by-step-assembly-guide","children":[]},{"level":2,"title":"Step 1: Make sure your have read the Things to know before you start guide","slug":"step-1-make-sure-your-have-read-the-things-to-know-before-you-start-guide","link":"#step-1-make-sure-your-have-read-the-things-to-know-before-you-start-guide","children":[]},{"level":2,"title":"Step 2: Order all the parts listed on our Parts list","slug":"step-2-order-all-the-parts-listed-on-our-parts-list","link":"#step-2-order-all-the-parts-listed-on-our-parts-list","children":[]},{"level":2,"title":"Step 3: Wait for things to arrive","slug":"step-3-wait-for-things-to-arrive","link":"#step-3-wait-for-things-to-arrive","children":[]},{"level":2,"title":"Step 4: Gather up all of your hardware","slug":"step-4-gather-up-all-of-your-hardware","link":"#step-4-gather-up-all-of-your-hardware","children":[]},{"level":2,"title":"Step 5: Install external antennas or shield ESP antenna with an antistatic bag","slug":"step-5-install-external-antennas-or-shield-esp-antenna-with-an-antistatic-bag","link":"#step-5-install-external-antennas-or-shield-esp-antenna-with-an-antistatic-bag","children":[]},{"level":2,"title":"Step 6: Attach cameras to ESPs","slug":"step-6-attach-cameras-to-esps","link":"#step-6-attach-cameras-to-esps","children":[]},{"level":2,"title":"Step 7: Connect ESP to the programmer to flash","slug":"step-7-connect-esp-to-the-programmer-to-flash","link":"#step-7-connect-esp-to-the-programmer-to-flash","children":[]},{"level":2,"title":"Step 8: Configure Visual Studio Code and prepare to flash the firmware","slug":"step-8-configure-visual-studio-code-and-prepare-to-flash-the-firmware","link":"#step-8-configure-visual-studio-code-and-prepare-to-flash-the-firmware","children":[]},{"level":2,"title":"Step 9: Plug in your ESP and flash the firmware","slug":"step-9-plug-in-your-esp-and-flash-the-firmware","link":"#step-9-plug-in-your-esp-and-flash-the-firmware","children":[]},{"level":2,"title":"Step 10: Connect your power wires to a USB Type-A board","slug":"step-10-connect-your-power-wires-to-a-usb-type-a-board","link":"#step-10-connect-your-power-wires-to-a-usb-type-a-board","children":[]},{"level":2,"title":"Step 11: Cut wires for IR LEDs","slug":"step-11-cut-wires-for-ir-leds","link":"#step-11-cut-wires-for-ir-leds","children":[]},{"level":2,"title":"Step 12: Twist the positive USB wire and positive IR LED wires together and tin them","slug":"step-12-twist-the-positive-usb-wire-and-positive-ir-led-wires-together-and-tin-them","link":"#step-12-twist-the-positive-usb-wire-and-positive-ir-led-wires-together-and-tin-them","children":[]},{"level":2,"title":"Step 13: Solder the positive wire to ESP","slug":"step-13-solder-the-positive-wire-to-esp","link":"#step-13-solder-the-positive-wire-to-esp","children":[]},{"level":2,"title":"Step 14: Solder the negative wire to ESP","slug":"step-14-solder-the-negative-wire-to-esp","link":"#step-14-solder-the-negative-wire-to-esp","children":[]},{"level":2,"title":"Step 15: Wire up the 2nd ESP","slug":"step-15-wire-up-the-2nd-esp","link":"#step-15-wire-up-the-2nd-esp","children":[]},{"level":2,"title":"Step 16: Prepare to solder IR LED PCBs","slug":"step-16-prepare-to-solder-ir-led-pcbs","link":"#step-16-prepare-to-solder-ir-led-pcbs","children":[]},{"level":2,"title":"Step 18: Solder resistors on PCB V3","slug":"step-18-solder-resistors-on-pcb-v3","link":"#step-18-solder-resistors-on-pcb-v3","children":[]},{"level":2,"title":"Solder LEDs on PCB V3","slug":"solder-leds-on-pcb-v3","link":"#solder-leds-on-pcb-v3","children":[]},{"level":2,"title":"Wire up the PCBs V3","slug":"wire-up-the-pcbs-v3","link":"#wire-up-the-pcbs-v3","children":[]},{"level":2,"title":"Step 19: 3D print mounts","slug":"step-19-3d-print-mounts","link":"#step-19-3d-print-mounts","children":[{"level":3,"title":"Type 1","slug":"type-1","link":"#type-1","children":[]},{"level":3,"title":"Type 2","slug":"type-2","link":"#type-2","children":[]}]},{"level":2,"title":"IR LED mounting","slug":"ir-led-mounting","link":"#ir-led-mounting","children":[]}],"relativePath":"how_to_build/full_build.md","lastUpdated":1676065232000}'),ve={name:"how_to_build/full_build.md"},De=Object.assign(ve,{setup(Se){return(ke,Te)=>(d(),p("div",null,[_,t(h,{options:{...o(c)}},null,8,["options"]),t(s,{options:o(i).image_one},null,8,["options"]),m,g,w,f,t(s,{options:o(i).external_antenna},null,8,["options"]),b,t(s,{options:o(i).external_antenna_resistors},null,8,["options"]),y,v,S,k,T,t(s,{options:o(i).camera_socket},null,8,["options"]),P,t(s,{options:o(i).camera_socket_clip},null,8,["options"]),E,t(s,{options:o(i).camera_cable},null,8,["options"]),x,t(s,{options:o(i).camera_clip_close},null,8,["options"]),C,I,D,t(s,{options:o(i)._7_12_one},null,8,["options"]),A,t(s,{options:o(i)._7_12_two},null,8,["options"]),B,V,L,R,N,t(s,{options:o(i)._7_12_three},null,8,["options"]),G,O,t(s,{options:o(i)._13_18_one},null,8,["options"]),U,t(s,{options:o(i)._13_18_two},null,8,["options"]),W,t(s,{options:o(i)._13_18_three},null,8,["options"]),H,t(s,{options:o(i)._13_18_four},null,8,["options"]),M,t(s,{options:o(i)._13_18_five},null,8,["options"]),F,t(s,{options:o(i)._13_18_six},null,8,["options"]),j,t(s,{options:o(i)._13_18_seven},null,8,["options"]),z,Y,t(s,{options:o(i)._13_18_eight},null,8,["options"]),$,t(s,{options:o(i)._13_18_nine},null,8,["options"]),q,t(s,{options:o(i)._13_18_ten},null,8,["options"]),J,Q,t(s,{options:o(i).end_one},null,8,["options"]),K,t(s,{options:o(i).end_two},null,8,["options"]),X,t(s,{options:o(i).end_three},null,8,["options"]),Z,t(s,{options:o(i).end_four},null,8,["options"]),ee,te,oe,t(s,{options:o(i).end_five},null,8,["options"]),se,t(s,{options:o(i).end_six},null,8,["options"]),ie,t(s,{options:o(i).end_seven},null,8,["options"]),ne,t(s,{options:o(i).end_eight},null,8,["options"]),ae,t(s,{options:o(i).end_nine},null,8,["options"]),re,le,t(s,{options:o(i).end_ten},null,8,["options"]),he,t(s,{options:o(i).end_eleven},null,8,["options"]),e("div",de,[t(r,{options:o(l).end_one},{content:u(()=>[pe]),_:1},8,["options"])]),ue,t(s,{options:o(i).end_twelve},null,8,["options"]),ce,_e,t(s,{options:o(i).end_thirteen},null,8,["options"]),me,t(s,{options:o(i).end_fourteen},null,8,["options"]),ge,we,fe,t(s,{options:o(i).end_fifteen},null,8,["options"]),be,t(s,{options:o(i).end_sixteen},null,8,["options"]),ye]))}});export{Ie as __pageData,De as default}; diff --git a/assets/how_to_build_full_build.md.a07cc6f8.js b/assets/how_to_build_full_build.md.a07cc6f8.js deleted file mode 100644 index b0a6e03..0000000 --- a/assets/how_to_build_full_build.md.a07cc6f8.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as r,a as l}from"./chunks/index.49197e79.js";import{_ as h}from"./chunks/CheckBoxList.8998c845.js";import{_ as s,i}from"./chunks/index.0f288f9a.js";import{o as d,c as p,a as t,u as o,g as e,w as u,h as a,b as n}from"./app.71fe9a66.js";const c={state:!0,object:[{label:"2 ESP 32 CAM boards"},{label:"2 160 degree cameras"},{label:"1 USB board to power your ESPs"},{label:"1 Programmer board(buying an extra is reccomended)"},{label:"IR emitters, resistors, and preferably PCBs"},{label:"Lower gauge wire to power ESPs"},{label:"Higher gauge wire to power IR LEDs"},{label:"3d printer to print mounts. (Buying them from some place like JLCPCB is also an option)"},{label:"Glue of some form, hot glue highly recommended."}]},_=a('

Build Guide

This page will contain a step-by-step assembly guide

Step 1: Make sure your have read the Things to know before you start guide

This will give you a basic overview of the project's status and what to expect currently.

Step 2: Order all the parts listed on our Parts list

Please take note of the fact that hardware still may change, although with more developments it seems like we are going to stick with current hardware.

Step 3: Wait for things to arrive

Long shipping times from China are f u n. Please allow anywhere from 2 weeks to 2 months for everything to arrive.

Step 4: Gather up all of your hardware

Make sure you have at least the following:

',10),m=e("h2",{id:"step-5-install-external-antennas-or-shield-esp-antenna-with-an-antistatic-bag",tabindex:"-1"},[n("Step 5: Install external antennas or shield ESP antenna with an antistatic bag "),e("a",{class:"header-anchor",href:"#step-5-install-external-antennas-or-shield-esp-antenna-with-an-antistatic-bag","aria-hidden":"true"},"#")],-1),g=e("p",null,"Some ESP-CAM boards have issues with signal integrity, there are 2 things you can do to help/solve the issues.",-1),w=e("p",null,"The first option is to use an external antenna.",-1),f=e("p",null,[n("This is the best solution when it comes to the final result. If you have Vive/Tundra trackers, this is a "),e("strong",null,"REQUIRED"),n(" step. The interference from the trackers will make your ESP stream unusable. An antistatic bag does not help in this case. Unfortunately, removing the antenna is not super easy, you have to either move a resistor or, remove it and bridge 2 solder pads. The image attached below shows the orientation of the pads that need to be connected for which mode. You can not bridge all connections and have both antennas active at the same time. The 0-ohm resistor does not need to be on the board, you can simply bridge the connections.")],-1),b=e("p",null,"Below is an example of bridging the connections and attaching an antenna.",-1),y=e("div",{align:"center"},[e("iframe",{width:"500",height:"300",src:"https://www.youtube.com/embed/r4PsuWTFRBg",title:"How to add an external antenna to ESP32-CAM board",frameborder:"1",allow:"accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""})],-1),v=e("p",null,"The second option is to cover the ESP's antenna with an antistatic bag. This can help aid problems, and can completely solve them in some cases. Best of all, it is completely free! However, it should be noted that it performs worse than an external antenna and in certain cases will not solve the issue like if you have Vive trackers.",-1),S=e("div",{align:"center"},[e("iframe",{width:"500",height:"300",src:"https://www.youtube.com/embed/wS4PS3Mw250",title:"Covering an ESP32-CAM's antenna with anti-static bag",frameborder:"0",allow:"accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""})],-1),k=e("h2",{id:"step-6-attach-cameras-to-esps",tabindex:"-1"},[n("Step 6: Attach cameras to ESPs "),e("a",{class:"header-anchor",href:"#step-6-attach-cameras-to-esps","aria-hidden":"true"},"#")],-1),T=e("p",null,"Look at your ESP and locate the camera ribbon cable connector as circled below.",-1),P=e("p",null,"Flip the gray part up to allow the cameras to be connected. Do not force it, or shove objects into it to open, fingernails are fine.",-1),E=e("p",null,"Now slide in a camera, please note that the pins are facing down, you should only see the black part.",-1),x=e("p",null,"Once the camera has been slid in, press the gray part of the connector back down. There will be a small amount of force but still be gentle. Note the ammount of black coming out of the connector.",-1),C=e("h2",{id:"step-7-connect-esp-to-the-programmer-to-flash",tabindex:"-1"},[n("Step 7: Connect ESP to the programmer to flash "),e("a",{class:"header-anchor",href:"#step-7-connect-esp-to-the-programmer-to-flash","aria-hidden":"true"},"#")],-1),I=e("p",null,"Why flash before you have it assembled? It's simple, to make sure they actually work before you spend time soldering to them.",-1),D=e("p",null,"Slide your ESP into the programmer, and note the USB port goes away from the ESP's camera.",-1),A=a('

Step 8: Configure Visual Studio Code and prepare to flash the firmware

Check out our guide on Setting up VS Code

Once VS Code is set up, move on to the next step.

Step 9: Plug in your ESP and flash the firmware

Our guide, Building and uploading the firmware manually has steps on how to do this. After it has flashed, make sure you get a video stream in your browser, then power it down and flash your next ESP.

Step 10: Connect your power wires to a USB Type-A board

WARNING

Powering from the programmer board will not work correctly. This delivers a lower voltage which results in dim LEDs and video artifacts. These are highly likely mess up tracking.

Get two pairs of wire, preferably two different colors, Cut them to length (56mm in my case) and twist together two for ground and two for 5V. Here I used speaker wire where the copper denotes positive and silver negative. Then, strip the wires to about 3mm of exposed wire.

',8),B=e("h2",{id:"step-11-cut-wires-for-ir-leds",tabindex:"-1"},[n("Step 11: Cut wires for IR LEDs "),e("a",{class:"header-anchor",href:"#step-11-cut-wires-for-ir-leds","aria-hidden":"true"},"#")],-1),V=e("p",null,"To find the optimal length, take a piece of wire and a marker and mock up your wire route, and mark the wire, cut it, then make another at the same size for the other eye. You will need 3 different cuts of wire. 2 short ones for connecting the 2 PCBs per eye together, 2 Longer ones for power, or ground and 2 slightly longer ones for power or ground for the LED near the camera at the bottom.",-1),L=e("p",null,"Once cut, strip them to around 4mm of exposed wire.",-1),R=e("h2",{id:"step-12-twist-the-positive-usb-wire-and-positive-ir-led-wires-together-and-tin-them",tabindex:"-1"},[n("Step 12: Twist the positive USB wire and positive IR LED wires together and tin them "),e("a",{class:"header-anchor",href:"#step-12-twist-the-positive-usb-wire-and-positive-ir-led-wires-together-and-tin-them","aria-hidden":"true"},"#")],-1),N=e("p",null,"Once twisted together add solder to keep them together. This makes the connection much easier.",-1),G=e("h2",{id:"step-13-solder-the-positive-wire-to-esp",tabindex:"-1"},[n("Step 13: Solder the positive wire to ESP "),e("a",{class:"header-anchor",href:"#step-13-solder-the-positive-wire-to-esp","aria-hidden":"true"},"#")],-1),O=e("p",null,"Lay the wire on the outside of the 5V pin and apply solder.",-1),U=a('

Step 14: Solder the negative wire to ESP

Repeat Step 12 but with the negative wires.

INFO

As a user in our discord has learned, you can short the IO12 pin with the ground pin (GND) without issues.

In the below example I put it on the top of the pin, It will be a week-ish joint but that's where glue comes in handy.

',4),W=a('

Step 15: Wire up the 2nd ESP

Repeat steps 12-14 with the 2nd ESP.

Step 16: Prepare to solder IR LED PCBs

Get your magnifying glass out, it's time to solder very smol things.

Gather 4 PCBs, 4 IR LEDs, and either 4 ~350ohm.

',5),H=e("p",null,"Here are the PCB pin-out labels:",-1),M=e("p",null,"LED labels:",-1),F=a('

If you have different LEDs, please consult their datasheet.

Some terminology related to them:

5V: 5-volt power in.

GND: Ground or power out.

AR: After-Resistor this is to be used as the power in on the 2nd PCB in series as resistors are not needed on the 2nd PCB since they are on the 1st one.

SNG: Single resistor, use this as 5V in if you are using only 1 ~700ohm resistor on V3 boards (not recommended).

Negative: This marks the negative side of the LED.

Positive: This marks the positive side of the LED.

Step 18: Solder resistors on PCB V3

You only need 1 PCB to have resistors per eye.

Tin the resistor pads. Note: in this example, I use too much solder, it should only be enough to lightly cover the pad.

',11),j=e("p",null,"Next, grab a resistor and hold it on the pads.",-1),z=e("p",null,"While holding the resistor add solder to your soldering iron and apply it to the resistor.",-1),Y=e("p",null,"I like to do this by having a piece of my solder stick up in the air and then put it on my iron that way.",-1),$=e("p",null,"Flip the PCB and solder the other end.",-1),q=e("p",null,"Now repeat for the other one.",-1),J=e("h2",{id:"solder-leds-on-pcb-v3",tabindex:"-1"},[n("Solder LEDs on PCB V3 "),e("a",{class:"header-anchor",href:"#solder-leds-on-pcb-v3","aria-hidden":"true"},"#")],-1),Q=e("p",null,"Tin the LED pads.",-1),K=e("p",null,"Orientate the LED and hold it in place.",-1),X=e("p",null,"Solder one end.",-1),Z=e("p",null,"Flip around and solder the other end.",-1),ee=e("h2",{id:"wire-up-the-pcbs-v3",tabindex:"-1"},[n("Wire up the PCBs V3 "),e("a",{class:"header-anchor",href:"#wire-up-the-pcbs-v3","aria-hidden":"true"},"#")],-1),te=e("div",{class:"warning custom-block"},[e("p",{class:"custom-block-title"},"WARNING"),e("p",null,"Pay attention to the direction of the LEDs on the PCBs.")],-1),oe=e("p",null,"If the green dot is facing inwards toward the text like in the picture below:",-1),se=e("p",null,"Use the following diagram:",-1),ie=e("p",null,"If the green dot is facing away from the text like the picture below:",-1),ne=e("p",null,"Use the following diagram:",-1),ae=a('

Step 19: 3D print mounts

Head to the 3D printed parts section of the parts list here.

Find which parts are for your headset and print them. Some may work better or worse, it is recommended to test all of them if there are multiple, print one of each kind. If none work, try making an edit yourself if you have the skills. If you have made a mount make sure to ping me, Prohurtz#0001, so I can add them to the list.

Having trouble getting them to fit? Try resizing the mounts up, or down a little to ensure a good fit.

There are 2 different types of mounts, how to secure the camera to each type will be documented below.

Type 1

',6),re=e("p",null,"This uses a method of sliding in the camera. Generally, this is the recommended mounting method as it generally requires no glue.",-1),le=e("p",null,"Place the camera into the mount",-1),he=e("p",null,"Slowly apply pressure inwards until the camera snaps into place.",-1),de={align:"center"},pe=e("p",null," There is a good chance of breaking the mount when putting in the camera. If this happens you may be able to save the mount depending on where the break was. A small dab of hot glue around the camera is likely all that is needed. ",-1),ue=e("h3",{id:"type-2",tabindex:"-1"},[n("Type 2 "),e("a",{class:"header-anchor",href:"#type-2","aria-hidden":"true"},"#")],-1),ce=e("p",null,"This uses the method of gluing the camera.",-1),_e=e("p",null,"Apply a bit of glue to the bottom of the camera mount.",-1),me=e("p",null,"Place the camera on the mount.",-1),ge=e("h2",{id:"ir-led-mounting",tabindex:"-1"},[n("IR LED mounting "),e("a",{class:"header-anchor",href:"#ir-led-mounting","aria-hidden":"true"},"#")],-1),we=e("p",null,"This again differs from mount to mount.",-1),fe=e("p",null,"In some cases, there are designated spots for the LEDs to go.",-1),be=e("p",null,"In others there are no specified spots, you will have to mess around to find what works best. This image shows the optimal/near-optimal position for the LEDs. Hot glue is your friend with this.",-1),ye=e("div",{class:"tip custom-block"},[e("p",{class:"custom-block-title"},"TIP"),e("p",null,"Use rubbing alcohol to easily remove hot glue.")],-1),Ie=JSON.parse('{"title":"Build Guide","description":"","frontmatter":{},"headers":[{"level":2,"title":"This page will contain a step-by-step assembly guide","slug":"this-page-will-contain-a-step-by-step-assembly-guide","link":"#this-page-will-contain-a-step-by-step-assembly-guide","children":[]},{"level":2,"title":"Step 1: Make sure your have read the Things to know before you start guide","slug":"step-1-make-sure-your-have-read-the-things-to-know-before-you-start-guide","link":"#step-1-make-sure-your-have-read-the-things-to-know-before-you-start-guide","children":[]},{"level":2,"title":"Step 2: Order all the parts listed on our Parts list","slug":"step-2-order-all-the-parts-listed-on-our-parts-list","link":"#step-2-order-all-the-parts-listed-on-our-parts-list","children":[]},{"level":2,"title":"Step 3: Wait for things to arrive","slug":"step-3-wait-for-things-to-arrive","link":"#step-3-wait-for-things-to-arrive","children":[]},{"level":2,"title":"Step 4: Gather up all of your hardware","slug":"step-4-gather-up-all-of-your-hardware","link":"#step-4-gather-up-all-of-your-hardware","children":[]},{"level":2,"title":"Step 5: Install external antennas or shield ESP antenna with an antistatic bag","slug":"step-5-install-external-antennas-or-shield-esp-antenna-with-an-antistatic-bag","link":"#step-5-install-external-antennas-or-shield-esp-antenna-with-an-antistatic-bag","children":[]},{"level":2,"title":"Step 6: Attach cameras to ESPs","slug":"step-6-attach-cameras-to-esps","link":"#step-6-attach-cameras-to-esps","children":[]},{"level":2,"title":"Step 7: Connect ESP to the programmer to flash","slug":"step-7-connect-esp-to-the-programmer-to-flash","link":"#step-7-connect-esp-to-the-programmer-to-flash","children":[]},{"level":2,"title":"Step 8: Configure Visual Studio Code and prepare to flash the firmware","slug":"step-8-configure-visual-studio-code-and-prepare-to-flash-the-firmware","link":"#step-8-configure-visual-studio-code-and-prepare-to-flash-the-firmware","children":[]},{"level":2,"title":"Step 9: Plug in your ESP and flash the firmware","slug":"step-9-plug-in-your-esp-and-flash-the-firmware","link":"#step-9-plug-in-your-esp-and-flash-the-firmware","children":[]},{"level":2,"title":"Step 10: Connect your power wires to a USB Type-A board","slug":"step-10-connect-your-power-wires-to-a-usb-type-a-board","link":"#step-10-connect-your-power-wires-to-a-usb-type-a-board","children":[]},{"level":2,"title":"Step 11: Cut wires for IR LEDs","slug":"step-11-cut-wires-for-ir-leds","link":"#step-11-cut-wires-for-ir-leds","children":[]},{"level":2,"title":"Step 12: Twist the positive USB wire and positive IR LED wires together and tin them","slug":"step-12-twist-the-positive-usb-wire-and-positive-ir-led-wires-together-and-tin-them","link":"#step-12-twist-the-positive-usb-wire-and-positive-ir-led-wires-together-and-tin-them","children":[]},{"level":2,"title":"Step 13: Solder the positive wire to ESP","slug":"step-13-solder-the-positive-wire-to-esp","link":"#step-13-solder-the-positive-wire-to-esp","children":[]},{"level":2,"title":"Step 14: Solder the negative wire to ESP","slug":"step-14-solder-the-negative-wire-to-esp","link":"#step-14-solder-the-negative-wire-to-esp","children":[]},{"level":2,"title":"Step 15: Wire up the 2nd ESP","slug":"step-15-wire-up-the-2nd-esp","link":"#step-15-wire-up-the-2nd-esp","children":[]},{"level":2,"title":"Step 16: Prepare to solder IR LED PCBs","slug":"step-16-prepare-to-solder-ir-led-pcbs","link":"#step-16-prepare-to-solder-ir-led-pcbs","children":[]},{"level":2,"title":"Step 18: Solder resistors on PCB V3","slug":"step-18-solder-resistors-on-pcb-v3","link":"#step-18-solder-resistors-on-pcb-v3","children":[]},{"level":2,"title":"Solder LEDs on PCB V3","slug":"solder-leds-on-pcb-v3","link":"#solder-leds-on-pcb-v3","children":[]},{"level":2,"title":"Wire up the PCBs V3","slug":"wire-up-the-pcbs-v3","link":"#wire-up-the-pcbs-v3","children":[]},{"level":2,"title":"Step 19: 3D print mounts","slug":"step-19-3d-print-mounts","link":"#step-19-3d-print-mounts","children":[{"level":3,"title":"Type 1","slug":"type-1","link":"#type-1","children":[]},{"level":3,"title":"Type 2","slug":"type-2","link":"#type-2","children":[]}]},{"level":2,"title":"IR LED mounting","slug":"ir-led-mounting","link":"#ir-led-mounting","children":[]}],"relativePath":"how_to_build/full_build.md","lastUpdated":1676064976000}'),ve={name:"how_to_build/full_build.md"},De=Object.assign(ve,{setup(Se){return(ke,Te)=>(d(),p("div",null,[_,t(h,{options:{...o(c)}},null,8,["options"]),t(s,{options:o(i).image_one},null,8,["options"]),m,g,w,f,t(s,{options:o(i).external_antenna},null,8,["options"]),b,t(s,{options:o(i).external_antenna_resistors},null,8,["options"]),y,v,S,k,T,t(s,{options:o(i).camera_socket},null,8,["options"]),P,t(s,{options:o(i).camera_socket_clip},null,8,["options"]),E,t(s,{options:o(i).camera_cable},null,8,["options"]),x,t(s,{options:o(i).camera_clip_close},null,8,["options"]),C,I,D,t(s,{options:o(i)._7_12_one},null,8,["options"]),A,t(s,{options:o(i)._7_12_two},null,8,["options"]),B,V,L,R,N,t(s,{options:o(i)._7_12_three},null,8,["options"]),G,O,t(s,{options:o(i)._13_18_one},null,8,["options"]),U,t(s,{options:o(i)._13_18_two},null,8,["options"]),W,t(s,{options:o(i)._13_18_three},null,8,["options"]),H,t(s,{options:o(i)._13_18_four},null,8,["options"]),M,t(s,{options:o(i)._13_18_five},null,8,["options"]),F,t(s,{options:o(i)._13_18_six},null,8,["options"]),j,t(s,{options:o(i)._13_18_seven},null,8,["options"]),z,Y,t(s,{options:o(i)._13_18_eight},null,8,["options"]),$,t(s,{options:o(i)._13_18_nine},null,8,["options"]),q,t(s,{options:o(i)._13_18_ten},null,8,["options"]),J,Q,t(s,{options:o(i).end_one},null,8,["options"]),K,t(s,{options:o(i).end_two},null,8,["options"]),X,t(s,{options:o(i).end_three},null,8,["options"]),Z,t(s,{options:o(i).end_four},null,8,["options"]),ee,te,oe,t(s,{options:o(i).end_five},null,8,["options"]),se,t(s,{options:o(i).end_six},null,8,["options"]),ie,t(s,{options:o(i).end_seven},null,8,["options"]),ne,t(s,{options:o(i).end_eight},null,8,["options"]),ae,t(s,{options:o(i).end_nine},null,8,["options"]),re,le,t(s,{options:o(i).end_ten},null,8,["options"]),he,t(s,{options:o(i).end_eleven},null,8,["options"]),e("div",de,[t(r,{options:o(l).end_one},{content:u(()=>[pe]),_:1},8,["options"])]),ue,t(s,{options:o(i).end_twelve},null,8,["options"]),ce,_e,t(s,{options:o(i).end_thirteen},null,8,["options"]),me,t(s,{options:o(i).end_fourteen},null,8,["options"]),ge,we,fe,t(s,{options:o(i).end_fifteen},null,8,["options"]),be,t(s,{options:o(i).end_sixteen},null,8,["options"]),ye]))}});export{Ie as __pageData,De as default}; diff --git a/contact/index.html b/contact/index.html index d7f4c18..e617470 100644 --- a/contact/index.html +++ b/contact/index.html @@ -14,7 +14,7 @@
Skip to content
On this page

Contact Us


Please join our Discord for updates and any questions.

Released under the MIT License.

- + diff --git a/dev_roadmap/index.html b/dev_roadmap/index.html index cbe85ab..1172d1f 100644 --- a/dev_roadmap/index.html +++ b/dev_roadmap/index.html @@ -15,7 +15,7 @@
Skip to content

Released under the MIT License.

- + diff --git a/development/docs/dev_docs/index.html b/development/docs/dev_docs/index.html index a68ecc9..655f07e 100644 --- a/development/docs/dev_docs/index.html +++ b/development/docs/dev_docs/index.html @@ -18,7 +18,7 @@
  • Install Yarn packages

    sh
     yarn
     
  • Start the dev server

    sh
    yarn dev
     
  • Open the site in your browser

  • Contributing

    Project Structure

    1. Familiarize yourself with the VitePress documentation.
    2. Then, move on to our project specific documentation below.

    Standards

    Project Specific Documentation

    TIP

    COMING SOON

    - + diff --git a/firmware_guide/configure_firmware/index.html b/firmware_guide/configure_firmware/index.html index 125a494..719e891 100644 --- a/firmware_guide/configure_firmware/index.html +++ b/firmware_guide/configure_firmware/index.html @@ -16,7 +16,7 @@
    Skip to content
    On this page

    Configuring the firmware

    Once you have opened the project, you should see something on the left side like this

    'img'

    Open the ini/user_config.ini file

    'img'

    Replace the placeholder text with your correct SSID (WiFi access point name), and password respectfully.

    INFO

    Special characters such as ! and @ are not supported. If you have a special character in your password or ssid, you will need to change it.

    Spaces are not supported either. If you have a space in either, you will need to change it.

    The firmware supports AP mode, but it is not recommended. If you are using AP mode, you will need to set the enableadhoc to 1.

    Then, you will need to set the ap_ssid to the name of your AP, and ap_password to the password of your AP.

    You can choose to leave the ap_ssid and ap_password as defaults, but you will need to set the enableadhoc to 1.

    Note, if you are enabling AP mode for both ESPs, you will need to set the ap_ssid and ap_password to different values for both ESPs. It is best to set AP mode only for one ESP, and leave the other ESP in STA mode. Connect the other ESP to the AP of the ESP in AP mode. Then connect your computer to the AP of the ESP in AP mode. This will allow you to connect to the ESP in AP mode, and the ESP in STA mode.

    CAUTION

    Make sure your wifi router has a 2.4 GHz band. While most do, this is not always the case. Setting each band (5GHz, and 2.4GHz) to different SSIDs is recommended, though not required.

    Double check that you have correctly entered your WiFi credentials and that said wifi network has a 2.4GHz band.

    Additonal configuration

    mDNS

    If you do not wish to manually keep track of the ESPs IP addresses and ports, you can enable the mDNS feature. This will allow you to connect to the ESPs using the following format: http://<some_name>.local. This will only work if you are connected to the same network as the ESPs,and if you have enabled mDNS on your computer. If you are using Windows, you can enable mDNS by following this guide.

    OTA

    The firmware supports OTA updates. This means that you can update the firmware without having to connect to the ESPs. To enable OTA updates, you will need to set the enableota to 1. Then, you will need to set the otapassword to the password you wish to use to update the firmware. You will need to use this password to update the firmware. If you do not wish to use a password, you can set the otapassword to nothing. This will allow you to update the firmware without a password. However, this is not recommended, as anyone on your network will be able to update the firmware.

    You will also need to set the otaserverip to the IP address of the ESP you wish to update. This is the IP address of the ESP you wish to update. If you are using mDNS, you can use the mDNS name of the ESP you wish to update. For example, if you are updating the ESP with the dns set to http://esp32.local, you will need to set the otaserverip to http://esp32.local.

    REST API

    The firmware also supports a fully featured REST API. This means that you can control the ESPs using a REST API. This feature is enabled by defauly, and can not be turned off.

    This feature is used more for advanced users, and is not required for basic operation.

    The REST API was developed to be used by our new app (still in development). However, it can be used by any REST API client, you can not send POST requests to the ESPs using a browser though, so some REST API functionality can only be used by tools like Thunder Client and Postman.

    The full REST API is documented here.

    ´Environments´

    The firmware supports multiple environments. This means that we have full support for multiple types of esps. Each ESP is configured to be in a different environment. If you are using a different ESP, you will need to change the environment to the correct one. The environments are as follows:

    • esp32AIThinker - This is the default environment. This is for the ESP32-AI-THINKER.
    • esp32Cam - This is for the ESP32-CAM.
    • esp32M5Stack - This is for ESP32M5Stack.
    • esp32WRover - This is for the ESP32WRover.
    • esp-eye - This is for the ESP-EYE (not the S3 variant).

    Each environment has a debug and release configuration. The debug configuration is for debugging, and the release configuration is for production. The debug configuration is not recommended for production, as it will use more memory, and will be slower. However we recommend using the debug configuration for initial configuration and testing, as it will be easier to debug, for you and for us. Once you are confident that the firmware is working correctly, you can switch to the release configuration.

    The debug configuration will print out debug messages to the serial port. The release configuration will not print out debug messages to the serial port. This will save memory, and will make the firmware faster.

    The default configutration is debug for the espAIThinker environment. If you are using a different ESP, please follow the GIFs below to change the environment.

    Coming Soon

    We are working on a new app that will allow you to configure the firmware, flash the boards, and connect to Social VR Games using a GUI. This will make it easier to configure the firmware, and will allow you to configure the firmware without having to use/download VSCode or our platformio project. We are hard at work on this, but do not currently have a release date. Please check back frequently.

    Now, move on to uploading the firmware

    Released under the MIT License.

    - + diff --git a/firmware_guide/firmware/index.html b/firmware_guide/firmware/index.html index c513468..cf2f846 100644 --- a/firmware_guide/firmware/index.html +++ b/firmware_guide/firmware/index.html @@ -14,7 +14,7 @@
    Skip to content
    On this page

    What is this?

    Firmware is the second part of the equation to get your trackers going. It lives on the ESP32 chip, and is responsible for streaming video data from the tracker.

    What should I download and where?

    Current testing has been on our own solution called OpenIris, found here. To check the status of the project, please visit the Development Road Map

    How do download this?

    Follow the steps described here

    Released under the MIT License.

    - + diff --git a/firmware_guide/mdns/index.html b/firmware_guide/mdns/index.html index 417ccbf..31a6963 100644 --- a/firmware_guide/mdns/index.html +++ b/firmware_guide/mdns/index.html @@ -15,7 +15,7 @@
    Skip to content
    On this page

    MDNS

    What is it?

    mDNS is a protocol that allows you to connect to a device using a name instead of an IP address. This is useful if you do not know the IP address of the device, or if you do not want to keep track of the IP address of the device. This is also useful if you are using a device that does not have a static IP address.

    In the mDNS protocol the IP address of the device can change, but the name of the device will always be the same. This means that you can connect to the device using the name of the device, even if the IP address of the device changes.

    The name of the device is the name of the device followed by .local. For example, if the name of the device is esp32, you can connect to the device using http://esp32.local.

    How to use it

    Enable mDNS

    The mDNS is enabled by default on the new firmware, and can not be disabled.

    To use it,all you need to do is set the name of the device in the platformio.ini file.

    This setting can be located under the [wifi] section of the platformio.ini file.

    ini
    mdnsname = "openiristracker" # do not add .local
     

    By default, the name of the device is openiristracker, however you can change it to whatever you want.

    Change the name

    Since you have two ESP32 devices, you need to make sure that the name of the device is different for each device. If you do not change the name of the device, you will not be able to connect to both devices at the same time.

    Connect to the device

    To connect to the device, you need to use the name of the device followed by .local. For example, if the name of the device is esp32, you can connect to the device using http://esp32.local.

    Prerequisites Bonjour

    Bonjour is required to use the mDNS protocol for windows and mac only. If you are using Windows, you can download Bonjour from here. If you are using macOS, Bonjour is already installed.

    You can also get the fully tested Bonjour package from us here (for Windows only).

    Troubleshooting

    Can not connect to the device

    If you can not connect to the device, make sure that the name of the device is correct. If the name of the device is correct, make sure that the device is connected to the network.

    If the device is connected to the network, try to restart the device. If the device is still not connected, try to restart the router.

    Released under the MIT License.

    - + diff --git a/firmware_guide/rest_api/index.html b/firmware_guide/rest_api/index.html index 746b4fa..3619945 100644 --- a/firmware_guide/rest_api/index.html +++ b/firmware_guide/rest_api/index.html @@ -43,7 +43,7 @@ WIFI_POWER_MINUS_1dBm = -4// -1dBm } wifi_power_t;
    ParamDescription
    txPowerThe power level to set.

    Camera Params

    Coming Soon

    We are currently working on this section of documentation.

    - + diff --git a/firmware_guide/setup_vscode/index.html b/firmware_guide/setup_vscode/index.html index 66b23f5..8f56229 100644 --- a/firmware_guide/setup_vscode/index.html +++ b/firmware_guide/setup_vscode/index.html @@ -15,7 +15,7 @@
    Skip to content
    On this page

    Setting up the environment

    This procedure will show how to prepare your system for uploading the firmware to your tracker.

    1. Install Visual Studio Code

    Download the latest Visual Studio Code and install it.

    Download


    'img'

    Install


    'img'

    2. Install PlatformIO IDE

    Once Visual Studio Code is installed, open it and install PlatformIO IDE for VSCode, an extension that will allow you to connect to the tracker, build and upload the firmware.

    'img'

    3. Clone the firmware project

    Make sure you close any current projects you have open or open a new window before moving forward with these steps.

    1. Go to https://github.com/lorow/OpenIris and clone the latest version from the main branch.
      1. If you do not have git installed please install it from here.

      2. Open Git Bash.

    'img'
    1. Change the directory to the directory that you want the firmware to be cloned. Ex: cd C:\
    'img'
    1. Clone the repository by entering the command: git clone https://github.com/lorow/OpenIris.git
    'img'

    For more info about cloning please refer to this documentation

    Do not download as a zip - please only properly clone the project, take note of the path you run the clone command in, this is where the files will be downloaded. When we open it in PlatformIO later, this path will be needed.

    1. Open the firmware in VSCode by going to PlatformIO, selecting open, then navigating to OpenIris/ESP folder and opening it.
    'img'

    This is an adaptation from SlimeVR. Some Credit goes to the SlimeVR team adapted from here

    Released under the MIT License.

    - + diff --git a/firmware_guide/upload_firmware/index.html b/firmware_guide/upload_firmware/index.html index 2c03aa5..0fe57ef 100644 --- a/firmware_guide/upload_firmware/index.html +++ b/firmware_guide/upload_firmware/index.html @@ -18,7 +18,7 @@
    Skip to content
    On this page

    Building and uploading the firmware manually

    Uploading your firmware must initially be done over cable. Once you have the tracker connected to your WiFi after your first firmware update, you can opt to use OTA in the future.

    1. Connect your tracker to your PC via the programmer

    First, connect your ESP32-Cam to your programmer. In the case of the ESP32-Cam-MB board, it's as simple as sticking it into the socket the way it came in the package and then connecting it to your PC with a micro-USB cable. In some cases, there is a button labeled IOO on the programmer. If that button exists make sure to hold it in while you plug the programmer into your pc, once plugged in you can release the button.

    In the case of an FTDI programmer, the steps aren't as easy, so grab this guide for how to set it up.

    2. Build your firmware

    1. Press the build button at the bottom of Visual Studio Code.

    This builds the firmware, but does not send it to the ESP yet.

    img

    3. Upload your firmware

    • If you are using the OTA method, first make sure the tracker you wish to flash is turned on.

    • Once the firmware has been built, press the upload button to upload the firmware.

      This sends the firmware to the ESP. img

    NOTE

    The MB board does the resetting for you. If you're using the FTDI programmer, follow the guide linked above (the one from randomnerdtutorials)

    • If the upload is successful, you should get an output that looks like this:

      img

    Congratulations! You have now successfully uploaded the firmware to your EyeTrackVR Tracker!

    If you have trouble with uploading your firmware over cable check the following:

    1. Make sure your USB cable from the tracker is plugged firmly into your PC.
    2. Make sure that your USB cable is a data and charging cable (it is suggested you try other cables or devices with the cable).
    3. Make sure that your drivers are up-to-date.
    4. Some ports might not work, try other ones.

    Additionally, this can be caused by software hogging COM ports (VSCode and Cura can be the cause of this).

    Uploading via OTA

    Once you have successfully connected your trackers to your WiFi, you can use OTA to handle all future firmware updates.

    1. Retrieve the IP of the tracker you wish to flash. The IP can be found through network monitoring applications, or by viewing tracker output in a serial monitor.
    2. In platformio.ini file uncomment the following lines in Visual Studio Code by removing the ;:
    ini
    ;upload_protocol = espota
     ;upload_port = 192.168.1.49
     
    1. Change the value of upload_port to the IP address retrieved during the first step.
    2. Turn the tracker you wish to flash off and then on again.
    3. Wait around 5 seconds.
    4. Press the upload button to upload the firmware.

      img
    5. Repeat for as many trackers as you need.

    Finding the IP address of your tracker

    Connect your tracker to your PC and then open a serial monitor in VSC by pressing the plug icon.

    'platformio serial monitor button'

    Now, press the restart button on the esp itself. watch the monitor for output like this:

    'img of platformio serial monitor'

    The text, highlighted in green for demonstration, is the stream address of the camera. Take note of this for input into the software.

    Keep in mind while testing and getting set up, the ESP can only have one client, to use the camera in the app, make sure you close the browser tab you tested it in.

    Troubleshooting

    If you encountered an issue while following these steps check the FAQ.

    If you don't find an answer to your question there ask in #questions channel in the discord, we will be happy to help.

    Adapted from the SlimeVR docs, Some Credit goes to the SlimeVR team here

    Released under the MIT License.

    - + diff --git a/getting_started/intro/index.html b/getting_started/intro/index.html index 54b150a..cc2e15e 100644 --- a/getting_started/intro/index.html +++ b/getting_started/intro/index.html @@ -16,7 +16,7 @@
    Skip to content
    On this page

    EyeTrackVR

    Open source and affordable VR eye tracker platform for Social VR Games via OSC and UDP protocol.

    Want to get started? Check out the getting started page and then the full build guide.

    CAUTION

    This project is in active development. However, it is working for most users.

    About IR Emitter Safety

    Please exercise caution when messing around with IR emitters.

    IR can be dangerous to your eyes once at a certain power level. It is not recommended to use different emitters unless you know exactly what you are doing as it could result in harm to your eyes. If you doubt yourself, just do exactly what we do. Don't use different emitters, dont use differnt means of power, etc.

    DANGER

    It is important that you DO NOT BYPASS (OR NOT DO) ANY SAFETY FEATURES PUT IN PLACE. This can result in irreversible bodily harm.

    The safety measures were put in place to REDUCE the potential failure risk. All further safety responsibilities are on the user. This includes visually checking with an IR camera that the brightness is correct and that you do not feel warmth or experience short-term effects after being exposed to the IR light (symptoms such as dark spots or dry/warm feeling eyes while actively using). While we strive to make EyeTrackVR as safe as possible, we do not hold any responsibility for damage done.

    WARNING
    Please pay attention

    Make sure you are using non-focused emitters and at around 5ma total power.

    Want to see the safety data sheets?

    Effect of infrared radiation on the lens

    AN002_Details on photobiological safety of LED light sources

    Training-library Nir Stds

    Hardware

    Please check out our parts list and hardware repo. for information regauring hardware.

    Firmware

    Our firmware called OpenIris is made by lorow found here.

    Headset support

    In theory, we are compatible with every VR headset. However, mounts may not have been made yet. Please take a look at our list of 3d printable mounts and see if your headset is on the list. If it is not listed, It is recommended that you try to make a mount, or wait for a skilled community member to create one.

    Contact

    Please join our discord for updates and any questions. We hope to see you there!

    'discord banner'

    Licenses

    GitHub license

    All software is under the MIT License. All documentation, including the Wiki, is under the Creative Commons CC-BY-SA-4.0 license.

    Released under the MIT License.

    - + diff --git a/getting_started/things_to_know/index.html b/getting_started/things_to_know/index.html index 694456d..a0e9d06 100644 --- a/getting_started/things_to_know/index.html +++ b/getting_started/things_to_know/index.html @@ -14,7 +14,7 @@
    Skip to content
    On this page

    Things To Know Before You Start

    This page will be an overview of things to know and understand before you start this project

    Software is not final

    Bugs can and will occur which may hinder the experience or useability at times. Do not expect 100% reliable and perfect function. Not all features are fully developed yet.

    Firmware may have user difficulties

    Our firmware has not been tested widely so issues may creep up.

    IR emitters are dangerous

    If handled wrong or precautions are ignored you can and will cause damage to your eyes. Please make sure to only buy linked ones or ones with specs that match exactly. We will not be responsible for damaged caused if you go your own route.

    Documentation may be incomplete

    Important steps may be missing.

    You will need to set up your avatar to use this

    This will require some basic Unity knowledge and owning your own avatar.

    Once you have acknowledged the items above, move on to the Full Build Guide

    Released under the MIT License.

    - + diff --git a/hashmap.json b/hashmap.json index bf15a17..154c4ab 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"firmware_guide_upload_firmware.md":"2268a93f","archive_fox_ir_v2_build_instructions.md":"9a9434cf","contact.md":"1b1a1119","firmware_guide_configure_firmware.md":"6f0f69de","firmware_guide_firmware.md":"1674b6a7","dev_roadmap.md":"ff4df6a6","firmware_guide_mdns.md":"c4f34855","development_docs_dev_docs.md":"82f08315","how_to_build_full_build.md":"a07cc6f8","about.md":"12facccb","index.md":"4e40fc5c","getting_started_intro.md":"7f5d19e9","getting_started_things_to_know.md":"caa1fd55","firmware_guide_rest_api.md":"0f7d21e8","how_to_build_creating_your_own_mount.md":"91b9a618","misc_vrc_avatar_setup.md":"53d130c3","software_guide_build_software.md":"28129b7b","misc_faq.md":"47f514fd","software_guide_eyetrackvr_app_guide.md":"39bb8bd2","firmware_guide_setup_vscode.md":"02f302b7","how_to_build_parts_list.md":"1ed92a0b"} +{"firmware_guide_setup_vscode.md":"02f302b7","development_docs_dev_docs.md":"82f08315","firmware_guide_configure_firmware.md":"6f0f69de","firmware_guide_upload_firmware.md":"2268a93f","firmware_guide_firmware.md":"1674b6a7","firmware_guide_mdns.md":"c4f34855","firmware_guide_rest_api.md":"0f7d21e8","about.md":"12facccb","contact.md":"1b1a1119","getting_started_intro.md":"7f5d19e9","dev_roadmap.md":"ff4df6a6","how_to_build_full_build.md":"0786f70e","index.md":"4e40fc5c","misc_faq.md":"47f514fd","misc_vrc_avatar_setup.md":"53d130c3","software_guide_build_software.md":"28129b7b","software_guide_eyetrackvr_app_guide.md":"39bb8bd2","how_to_build_parts_list.md":"1ed92a0b","how_to_build_creating_your_own_mount.md":"91b9a618","getting_started_things_to_know.md":"caa1fd55","archive_fox_ir_v2_build_instructions.md":"9a9434cf"} diff --git a/how_to_build/creating_your_own_mount/index.html b/how_to_build/creating_your_own_mount/index.html index 4b4a09b..861f55e 100644 --- a/how_to_build/creating_your_own_mount/index.html +++ b/how_to_build/creating_your_own_mount/index.html @@ -14,7 +14,7 @@
    Skip to content
    On this page

    Creating Your Own Mount

    This page will include a basic rundown on how to create your own camera mount for a headset that may not have any existing community mounts

    So, you have a headset that does not have any mounts or none that work well for you. Here I will show some simple steps to get some form of a mount working.

    Step 1: Find a way to mount to your headsets lens

    The easiest way to get started is to find a lens protector for your headset. Either go to a website like Thingiverse or just do a search for "3d printed lens protector for {your headset here}"

    Example: Here is a lens protector for the Quest 1/2 and Rift S https://www.thingiverse.com/thing:3653631

    Step 2: Find a camera mount

    Now, you need a way to attach the camera. We have a basic design that qdot created (taken from his mount) on the hardware GitHub here

    Alternatively, you can create your own mount if you have the skills.

    Step 3: Place the camera mount where it will give a good camera angle

    The "Ideal" location is a place that gives a good view of the pupil when looking to all extremes, the lower corners do a good job at getting there, or nearly there.

    You want to put the camera as close to the headset's lens as possible to achieve the biggest view of the eye. I recommend looking at other headset mounts for inspiration.

    Step 4: Mount your LEDs

    You can either add parts to your mount for holding the LED boards or just glue them on. It's up to you and what works best for you, experiment!

    Step 5: Test everything

    It is unlikely you will get a perfect mount on the first try. Print, test, adjust, and repeat until you have a satisfactory mount. Good luck!

    Step 6: Get your mounts listed

    Send me the mount to be added to the docs here! You can upload it to Thingiverse or similar services, or just send me the .STLs via discord (Prohurtz#0001)

    Released under the MIT License.

    - + diff --git a/how_to_build/full_build/index.html b/how_to_build/full_build/index.html index 2e384fd..b3f05d5 100644 --- a/how_to_build/full_build/index.html +++ b/how_to_build/full_build/index.html @@ -11,13 +11,13 @@ - + -
    Skip to content
    On this page

    Build Guide

    This page will contain a step-by-step assembly guide

    Step 1: Make sure your have read the Things to know before you start guide

    This will give you a basic overview of the project's status and what to expect currently.

    Step 2: Order all the parts listed on our Parts list

    Please take note of the fact that hardware still may change, although with more developments it seems like we are going to stick with current hardware.

    Step 3: Wait for things to arrive

    Long shipping times from China are f u n. Please allow anywhere from 2 weeks to 2 months for everything to arrive.

    Step 4: Gather up all of your hardware

    Make sure you have at least the following:

    'img of components'

    'ESPs, cams, a programmer and a USB connector'

    Step 5: Install external antennas or shield ESP antenna with an antistatic bag

    Some ESP-CAM boards have issues with signal integrity, there are 2 things you can do to help/solve the issues.

    The first option is to use an external antenna.

    This is the best solution when it comes to the final result. If you have Vive/Tundra trackers, this is a REQUIRED step. The interference from the trackers will make your ESP stream unusable. An antistatic bag does not help in this case. Unfortunately, removing the antenna is not super easy, you have to either move a resistor or, remove it and bridge 2 solder pads. The image attached below shows the orientation of the pads that need to be connected for which mode. You can not bridge all connections and have both antennas active at the same time. The 0-ohm resistor does not need to be on the board, you can simply bridge the connections.

    Below is an example of bridging the connections and attaching an antenna.

    'img of external antenna resistors'

    The second option is to cover the ESP's antenna with an antistatic bag. This can help aid problems, and can completely solve them in some cases. Best of all, it is completely free! However, it should be noted that it performs worse than an external antenna and in certain cases will not solve the issue like if you have Vive trackers.

    Step 6: Attach cameras to ESPs

    Look at your ESP and locate the camera ribbon cable connector as circled below.

    'img of camera socket'

    Flip the gray part up to allow the cameras to be connected. Do not force it, or shove objects into it to open, fingernails are fine.

    'img of camera clip'

    Now slide in a camera, please note that the pins are facing down, you should only see the black part.

    'img of camera cable'

    Once the camera has been slid in, press the gray part of the connector back down. There will be a small amount of force but still be gentle. Note the ammount of black coming out of the connector.

    'img of camera cable'

    Step 7: Connect ESP to the programmer to flash

    Why flash before you have it assembled? It's simple, to make sure they actually work before you spend time soldering to them.

    Slide your ESP into the programmer, and note the USB port goes away from the ESP's camera.

    Step 8: Configure Visual Studio Code and prepare to flash the firmware

    Check out our guide on Setting up VS Code

    Once VS Code is set up, move on to the next step.

    Step 9: Plug in your ESP and flash the firmware

    Our guide, Building and uploading the firmware manually has steps on how to do this. After it has flashed, make sure you get a video stream in your browser, then power it down and flash your next ESP.

    Step 10: Connect your power wires to a USB Type-A board

    WARNING

    Powering from the programmer board will not work correctly. This delivers a lower voltage which results in dim LEDs and video artifacts. These are highly likely mess up tracking.

    Get two pairs of wire, preferably two different colors, Cut them to length (56mm in my case) and twist together two for ground and two for 5V. Here I used speaker wire where the copper denotes positive and silver negative. Then, strip the wires to about 3mm of exposed wire.

    Step 11: Cut wires for IR LEDs

    To find the optimal length, take a piece of wire and a marker and mock up your wire route, and mark the wire, cut it, then make another at the same size for the other eye. You will need 3 different cuts of wire. 2 short ones for connecting the 2 PCBs per eye together, 2 Longer ones for power, or ground and 2 slightly longer ones for power or ground for the LED near the camera at the bottom.

    Once cut, strip them to around 4mm of exposed wire.

    Step 12: Twist the positive USB wire and positive IR LED wires together and tin them

    Once twisted together add solder to keep them together. This makes the connection much easier.

    Step 13: Solder the positive wire to ESP

    Lay the wire on the outside of the 5V pin and apply solder.

    Step 14: Solder the negative wire to ESP

    Repeat Step 12 but with the negative wires.

    INFO

    As a user in our discord has learned, you can short the IO12 pin with the ground pin (GND) without issues.

    In the below example I put it on the top of the pin, It will be a week-ish joint but that's where glue comes in handy.

    Step 15: Wire up the 2nd ESP

    Repeat steps 12-14 with the 2nd ESP.

    Step 16: Prepare to solder IR LED PCBs

    Get your magnifying glass out, it's time to solder very smol things.

    Gather 4 PCBs, 4 IR LEDs, and either 4 ~350ohm.


    357ohm resistors and V3 PCBs

    Here are the PCB pin-out labels:


    V3

    LED labels:


    The green markings and notched corners mark the positive sides of the LEDs pictured above.

    If you have different LEDs, please consult their datasheet.

    Some terminology related to them:

    5V: 5-volt power in.

    GND: Ground or power out.

    AR: After-Resistor this is to be used as the power in on the 2nd PCB in series as resistors are not needed on the 2nd PCB since they are on the 1st one.

    SNG: Single resistor, use this as 5V in if you are using only 1 ~700ohm resistor on V3 boards (not recommended).

    Negative: This marks the negative side of the LED.

    Positive: This marks the positive side of the LED.

    Step 18: Solder resistors on PCB V3

    You only need 1 PCB to have resistors per eye.

    Tin the resistor pads. Note: in this example, I use too much solder, it should only be enough to lightly cover the pad.

    Next, grab a resistor and hold it on the pads.

    While holding the resistor add solder to your soldering iron and apply it to the resistor.

    I like to do this by having a piece of my solder stick up in the air and then put it on my iron that way.

    Flip the PCB and solder the other end.

    Now repeat for the other one.

    Solder LEDs on PCB V3

    Tin the LED pads.

    Orientate the LED and hold it in place.

    Solder one end.

    Flip around and solder the other end.

    Wire up the PCBs V3

    WARNING

    Pay attention to the direction of the LEDs on the PCBs.

    If the green dot is facing inwards toward the text like in the picture below:

    Use the following diagram:

    If the green dot is facing away from the text like the picture below:

    Use the following diagram:

    Step 19: 3D print mounts

    Head to the 3D printed parts section of the parts list here.

    Find which parts are for your headset and print them. Some may work better or worse, it is recommended to test all of them if there are multiple, print one of each kind. If none work, try making an edit yourself if you have the skills. If you have made a mount make sure to ping me, Prohurtz#0001, so I can add them to the list.

    Having trouble getting them to fit? Try resizing the mounts up, or down a little to ensure a good fit.

    There are 2 different types of mounts, how to secure the camera to each type will be documented below.

    Type 1

    This uses a method of sliding in the camera. Generally, this is the recommended mounting method as it generally requires no glue.

    Place the camera into the mount

    Slowly apply pressure inwards until the camera snaps into place.

    NOTE

    There is a good chance of breaking the mount when putting in the camera. If this happens you may be able to save the mount depending on where the break was. A small dab of hot glue around the camera is likely all that is needed.

    Type 2

    This uses the method of gluing the camera.

    Apply a bit of glue to the bottom of the camera mount.

    Place the camera on the mount.

    IR LED mounting

    This again differs from mount to mount.

    In some cases, there are designated spots for the LEDs to go.

    In others there are no specified spots, you will have to mess around to find what works best. This image shows the optimal/near-optimal position for the LEDs. Hot glue is your friend with this.

    TIP

    Use rubbing alcohol to easily remove hot glue.

    Released under the MIT License.

    - +
    Skip to content
    On this page

    Build Guide

    This page will contain a step-by-step assembly guide

    Step 1: Make sure your have read the Things to know before you start guide

    This will give you a basic overview of the project's status and what to expect currently.

    Step 2: Order all the parts listed on our Parts list

    Please take note of the fact that hardware still may change, although with more developments it seems like we are going to stick with current hardware.

    Step 3: Wait for things to arrive

    Long shipping times from China are f u n. Please allow anywhere from 2 weeks to 2 months for everything to arrive.

    Step 4: Gather up all of your hardware

    Make sure you have at least the following:

    'img of components'

    'ESPs, cams, a programmer and a USB connector'

    Step 5: Install external antennas or shield ESP antenna with an antistatic bag

    Some ESP-CAM boards have issues with signal integrity, there are 2 things you can do to help/solve the issues.

    The first option is to use an external antenna.

    This is the best solution when it comes to the final result. If you have Vive/Tundra trackers, this is a REQUIRED step. The interference from the trackers will make your ESP stream unusable. An antistatic bag does not help in this case. Unfortunately, removing the antenna is not super easy, you have to either move a resistor or, remove it and bridge 2 solder pads. The image attached below shows the orientation of the pads that need to be connected for which mode. You can not bridge all connections and have both antennas active at the same time. The 0-ohm resistor does not need to be on the board, you can simply bridge the connections.

    Below is an example of bridging the connections and attaching an antenna.

    'img of external antenna resistors'

    The second option is to cover the ESP's antenna with an antistatic bag. This can help aid problems, and can completely solve them in some cases. Best of all, it is completely free! However, it should be noted that it performs worse than an external antenna and in certain cases will not solve the issue like if you have Vive trackers.

    Step 6: Attach cameras to ESPs

    Look at your ESP and locate the camera ribbon cable connector as circled below.

    'img of camera socket'

    Flip the gray part up to allow the cameras to be connected. Do not force it, or shove objects into it to open, fingernails are fine.

    'img of camera clip'

    Now slide in a camera, please note that the pins are facing down, you should only see the black part.

    'img of camera cable'

    Once the camera has been slid in, press the gray part of the connector back down. There will be a small amount of force but still be gentle. Note the ammount of black coming out of the connector.

    'img of camera cable'

    Step 7: Connect ESP to the programmer to flash

    Why flash before you have it assembled? It's simple, to make sure they actually work before you spend time soldering to them.

    Slide your ESP into the programmer, and note the USB port goes away from the ESP's camera.

    Step 8: Configure Visual Studio Code and prepare to flash the firmware

    Check out our guide on Setting up VS Code

    Once VS Code is set up, move on to the next step.

    Step 9: Plug in your ESP and flash the firmware

    Our guide, Building and uploading the firmware manually has steps on how to do this. After it has flashed, make sure you get a video stream in your browser, then power it down and flash your next ESP.

    Step 10: Connect your power wires to a USB Type-A board

    WARNING

    Powering from the programmer board will not work correctly. This delivers a lower voltage which results in dim LEDs and video artifacts. These are highly likely mess up tracking.

    Get two pairs of wire, preferably two different colors, Cut them to length (56mm in my case) and twist together two for ground and two for 5V. Here I used speaker wire where the copper denotes positive and silver negative. Then, strip the wires to about 3mm of exposed wire.

    Step 11: Cut wires for IR LEDs

    To find the optimal length, take a piece of wire and a marker and mock up your wire route, and mark the wire, cut it, then make another at the same size for the other eye. You will need 3 different cuts of wire. 2 short ones for connecting the 2 PCBs per eye together, 2 Longer ones for power, or ground and 2 slightly longer ones for power or ground for the LED near the camera at the bottom.

    Once cut, strip them to around 4mm of exposed wire.

    Step 12: Twist the positive USB wire and positive IR LED wires together and tin them

    Once twisted together add solder to keep them together. This makes the connection much easier.

    Step 13: Solder the positive wire to ESP

    Lay the wire on the outside of the 5V pin and apply solder.

    Step 14: Solder the negative wire to ESP

    Repeat Step 12 but with the negative wires.

    INFO

    As a user in our discord has learned, you can short the IO12 pin with the ground pin (GND) without issues.

    In the below example I put it on the top of the pin, It will be a week-ish joint but that's where glue comes in handy.

    Step 15: Wire up the 2nd ESP

    Repeat steps 12-14 with the 2nd ESP.

    Step 16: Prepare to solder IR LED PCBs

    Get your magnifying glass out, it's time to solder very smol things.

    Gather 4 PCBs, 4 IR LEDs, and either 4 ~350ohm.


    357ohm resistors and V3 PCBs

    Here are the PCB pin-out labels:


    V3

    LED labels:


    The green markings and notched corners mark the positive sides of the LEDs pictured above.

    If you have different LEDs, please consult their datasheet.

    Some terminology related to them:

    5V: 5-volt power in.

    GND: Ground or power out.

    AR: After-Resistor this is to be used as the power in on the 2nd PCB in series as resistors are not needed on the 2nd PCB since they are on the 1st one.

    SNG: Single resistor, use this as 5V in if you are using only 1 ~700ohm resistor on V3 boards (not recommended).

    Negative: This marks the negative side of the LED.

    Positive: This marks the positive side of the LED.

    Step 18: Solder resistors on PCB V3

    You only need 1 PCB to have resistors per eye.

    Tin the resistor pads. Note: in this example, I use too much solder, it should only be enough to lightly cover the pad.

    Next, grab a resistor and hold it on the pads.

    While holding the resistor add solder to your soldering iron and apply it to the resistor.

    I like to do this by having a piece of my solder stick up in the air and then put it on my iron that way.

    Flip the PCB and solder the other end.

    Now repeat for the other one.

    Solder LEDs on PCB V3

    Tin the LED pads.

    Orientate the LED and hold it in place.

    Solder one end.

    Flip around and solder the other end.

    Wire up the PCBs V3

    WARNING

    Pay attention to the direction of the LEDs on the PCBs.

    If the green dot is facing inwards toward the text like in the picture below:

    Use the following diagram:

    If the green dot is facing away from the text like the picture below:

    Use the following diagram:

    Step 19: 3D print mounts

    Head to the 3D printed parts section of the parts list here.

    Find which parts are for your headset and print them. Some may work better or worse, it is recommended to test all of them if there are multiple, print one of each kind. If none work, try making an edit yourself if you have the skills. If you have made a mount make sure to ping me, Prohurtz#0001, so I can add them to the list.

    Having trouble getting them to fit? Try resizing the mounts up, or down a little to ensure a good fit.

    There are 2 different types of mounts, how to secure the camera to each type will be documented below.

    Type 1

    This uses a method of sliding in the camera. Generally, this is the recommended mounting method as it generally requires no glue.

    Place the camera into the mount

    Slowly apply pressure inwards until the camera snaps into place.

    NOTE

    There is a good chance of breaking the mount when putting in the camera. If this happens you may be able to save the mount depending on where the break was. A small dab of hot glue around the camera is likely all that is needed.

    Type 2

    This uses the method of gluing the camera.

    Apply a bit of glue to the bottom of the camera mount.

    Place the camera on the mount.

    IR LED mounting

    This again differs from mount to mount.

    In some cases, there are designated spots for the LEDs to go.

    In others there are no specified spots, you will have to mess around to find what works best. This image shows the optimal/near-optimal position for the LEDs. Hot glue is your friend with this.

    TIP

    Use rubbing alcohol to easily remove hot glue.

    Released under the MIT License.

    + diff --git a/how_to_build/parts_list/index.html b/how_to_build/parts_list/index.html index aba6a50..61ba497 100644 --- a/how_to_build/parts_list/index.html +++ b/how_to_build/parts_list/index.html @@ -16,7 +16,7 @@
    Skip to content
    On this page

    Parts List

    CAUTION

    Please note that no hardware has been fully set in stone, all purchases are at your loss if hardware changes.

    This page will include a basic part list for building an EyeTrackVR setup

    NOTE

    It is recommended to source main parts from AliExpress as it is much cheaper.


    NOTE

    It is good practice to buy more than needed in some cases, namely programmers and ESPs, this reduces the risk of a DOA (dead on arrival) causing a delay.

    Camera setup

    Here is an Amazon link for 3 ESP32-Cams and programmers without the proper cameras here

    • 1x USB type-A male port to power both ESPs

    Bare breakout on AliExpress here or Amazon here

    Or one with a cover on AliExpress here or Amazon here

    Reccommended:

    IR Emitters

    • 4x Unfocused SMD IR emitters Recomended ones from LCSC here. Alternative ones from Digikey here. The difference between them is the ones from LCSC are rated for lower power, which means in the event of a short or mishap they should be safer, hence why they are recommended.
    NOTE

    The smaller ones can not be soldered at temps above 245C or they will burn. Low temp solder is recommended.

    CAUTION

    DO NOT BUY FOCUSED ONES!
    If they look like something you would find in a TV remote, do not use them. If you aren't exactly sure what you are doing, buy them from the LCSC or Digikey link.

    • 4x IR emitter PCBs (highly recommended) Gerber files and schematics located here.

    • 2x 698-710ohm resistors or the more recommend way, 4x 350ohm 1206 SMD resistors for IR emitters (If you are not using PCBs for the emitters then buying regular through-hole resistors is acceptable)

    • 357 ohm from Digikey here

    • 348 ohm from LCSC here

    or

    I have a kit with the resistors, IR LEDs, and PCBs on Tindie here. I also have a pre-soldered kit also on Tindie here This ensures you get the correct IR emitter parts. If you are a Patreon please check out discount codes available to you, and also check out unit pricing.

    Other parts

    3D Printed Mounts

    Mounts with a next to them are the reccomended mounts for the respected hmd. This is based user feedback on what works best for the most people.

    Other Headsets

    If you own another headset not listed above, that means there are no mounts designed for them yet. If you have basic skills in modeling or think up a solution to mount cams and emitters, please try to make a mount and then let us in the discord know so it can be added here. Any headset that can fit the camera is potentially compatible. If you are willing, give it a shot to design a mount for the rest of the community.

    Check out our basic guide on making your own mount here.

    TIP

    If you have a headset mount that is not listed above, please let us know in the discord so it can be added here.

    Released under the MIT License.

    - + diff --git a/index.html b/index.html index 3e1b6b3..8fb2e83 100644 --- a/index.html +++ b/index.html @@ -14,7 +14,7 @@
    Skip to content

    EyeTrackVR Docs

    Opensource and affordable VR eye tracking.

    For Social VR Games via OSC and UDP protocol.

    ETRVR logo
    ⚡️

    Open Source

    fully open source and free to use.

    🎉

    Community Driven

    built by you for you.

    💰

    Affordable

    affordable and easy to use.

    🎮

    Nearly All VR Headsets

    EyeTrackVR works with nearly all VR headsets.

    🔨

    Completely DIY

    completely DIY and easy to build.

    🌐

    Open Platform

    open platform and works with any Social VR game.

    🔏

    Privacy Focused

    privacy focused and does not collect any data, hosted on your own PC.

    📡

    Open Protocol

    EyeTrackVR uses the Open Sound Control (OSC) protocol.

    Released under the MIT License.

    - + diff --git a/misc/faq/index.html b/misc/faq/index.html index 2000092..59989d1 100644 --- a/misc/faq/index.html +++ b/misc/faq/index.html @@ -15,7 +15,7 @@
    Skip to content
    On this page

    Frequently Asked Questions



    Released under the MIT License.

    - + diff --git a/misc/vrc_avatar_setup/index.html b/misc/vrc_avatar_setup/index.html index 0453648..5405804 100644 --- a/misc/vrc_avatar_setup/index.html +++ b/misc/vrc_avatar_setup/index.html @@ -15,7 +15,7 @@
    Skip to content
    On this page

    How to set up your avatar for eye tracking:

    Currently, the best resource is the VRC Face Tracking GitHub and Discord.

    I hope to have a good video available from a community member that shows and explains the process eventually.

    NOTE

    We currently only support float parameters, please adjust your setup accordingly.

    Released under the MIT License.

    - + diff --git a/software_guide/build_software/index.html b/software_guide/build_software/index.html index 707a873..0d02052 100644 --- a/software_guide/build_software/index.html +++ b/software_guide/build_software/index.html @@ -16,7 +16,7 @@
    Skip to content
    On this page

    Build the app from source

    This guide will show how to build the app from source

    NOTE

    This is NOT a required step, you do not need to build the app from source.

    Requirements

    Install Python

    EyetrackVR is currently using Python 3.11.0 Before you continue, please install it.

    Installing Poetry

    Since version 0.1.7 of EyeTrackVR, we have been using Poetry to manage app dependencies. To build the app, you must first install Poetry to fetch the required dependencies.

    To install Poetry open Windows Powershell and run the following command (Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -

    Poetry Documentation

    Install the required Python modules

    After cloning the project and installing Poetry, open a command prompt in the EyeTrackApp folder. Then run the command: poetry install

    This should install all of the required modules.

    Build the app

    Now, you should be ready to build the app. With a command prompt open in the EyeTrackApp folder, run the command poetry run pyinstaller eyetrackapp.spec

    Give it time to build the app. Once done, the app should be under dist/eyetrackapp

    Released under the MIT License.

    - + diff --git a/software_guide/eyetrackvr_app_guide/index.html b/software_guide/eyetrackvr_app_guide/index.html index bc3296b..feeef63 100644 --- a/software_guide/eyetrackvr_app_guide/index.html +++ b/software_guide/eyetrackvr_app_guide/index.html @@ -16,7 +16,7 @@
    Skip to content
    On this page

    How to install, run and adjust the EyeTrackVR app.

    Step 1: Download the EyeTrackVR Installer and install the EyeTrackVR app

    Go to the latest GitHub release here and download the .zip

    Extract the zip file and then run the .exe as administrator. You will be greeted with a window that looks like this:

    'img'

    By default, it will install to C:\Program Files\EyeTrackVR and create a shortcut on your desktop. Pressing the Change Install Path button will open up a window where you can navigate to an alternate install path.

    Press Install to install the app.

    NOTE

    The installer can also be used to update the app, just go through the install process again.

    If it has been successfully installed it should change to look like this:

    'img'

    Step 2: Run the EyeTrackVR app

    If the Create Desktop Shortcut option was checked you should see an icon on your desktop, double click it to run.

    You then should be greeted with a GUI that looks like this:

    'img'

    Step 3: Getting familiar with settings and terminology

    Let's go over some basic terminology you will find in the app.

    Starting from the top:

    Right eye

    Shows the right eye feed and settings only.

    Left eye

    Shows the left eye feed and settings only.

    Both eyes

    Shows both eyes' feed and settings.

    Camera Address

    This is where you enter the IP address of your camera. Alternatively, it can be used to put the cam number for wired cameras or pass in a video file.

    Tracking Mode

    This changes the GUI to the tracking mode where it outputs values.

    Cropping Mode

    This is where you will crop out your eye.

    Threshold

    This is used to cut out things that aren't dark like your pupil.

    Rotation

    For our method to work best, you want your eye to be level. Use this slider to adjust it to where that is the case.

    Restart Calibrationn

    This will start a calibration mode for your eye where you look to all extremes.

    Recenter Eye

    This will recenter your eye to whatever point you are looking at.

    Step 4: Adding your cameras to the software and configuring them

    Power your ESPs and find what the IP address is for your right eye. This can be done by opening both Cameras in a browser and then holding your finger over your right eye camera.

    Copy that IP address and then close the browser tab with it open.

    Enter that IP address into the app's Camera Address field and press the Save and Restart Tracking button.

    Don't see your camera feed? That's because we haven't set an ROI.

    'img'

    See the Awating Eye Cropping Settings text?

    Now press the Cropping Mode button. You should see a feed of your camera.

    Put your headset on and use an application to see your desktop. (Virtual desktop, SteamVR desktop, etc.)

    You should see something like this:

    'img'

    :O It's my eye!

    Now, Draw a rectangle that selects your eye.

    A good example of an ROI

    'img'

    Head back over to the Tracking mode.

    We will now adjust our rotation by moving the Rotation slider.

    From this:

    'img'

    It's crooked!

    To this:

    'img'

    Much better!

    Now we will adjust our threshold.

    Continuing with your headset on, move the slider all the way up. start slowly backing it off until mainly only your pupil is being visualized in the threshold viewer.

    Example of a threshold being too low:

    'img'

    Much better!

    Example of too high of a threshold:

    'img'

    Much better!

    Example of a good threshold:

    'img'

    Much better!

    Repeat everything in this step for your left eye.

    Step 5: Calibrating your eyes

    Once your eye is trackable by the software we need to calibrate it.

    Press the Restart Calibration button and look around. The important part is that you look to all extremes, all the way up, left, etc. Once you have done so, wait for the Mode to say Tracking

    The next step is to center your eye.

    Look straight forward and press the Recenter Eye button.

    Your eye is now fully calibrated.

    Repeat for your other eye.

    NOTE

    To best center both eyes, look at one spot and hit the 'Recenter Eye' button for each eye without moving your eyes.

    See anything outdated on this guide? Let me know! Prohurtz#0001

    Released under the MIT License.

    - +