Glare
Total Time Spent: 62h
July 25th: Optics Research
Ok so I googles AR glasses optics mechanisms and figured out that three main optics systems are used.
smtg known as waveguide, smtg called birdbath and then the good old prism(also called wavesplitter optics by some websites).
So basically for waveguide the have a projector like micro oled display which shoots light and the the guide it through inbuilt micro optics in the lens to get the hud. Buuuutttt :
1. super expensive
2. Not hackable/Diy able
3. No clue wehere i could even get it
So waveguide is a no go. (ps its used in even realities G1)
Then there is wavesplitter. So basically light from a micro oled is first collimated by a lens, and then passed through a special prism called beamsplitter, which makes it so that half the light entering the eye is from the display and other half from outside world.
It works, and is pretty small, but the issue is it has a lot of imperfections and causes double images.
I did an optics sim on phydemo for this
This is pretty simply optics so ill use either this or birdbath.
An example of birdbath is google glass explorer. It basically involves the same thing as the wabvesplitter, just tat light exiting prism is then focused by a semi transparent mirror onto the eye, along with a bit of light from outside world.
This system reduces the imperfections by a lot, but is pretty bulky and tougher to get right.
SOOOO rn im super confused wut to do, i guess ill (as in make gpt ...) do some calc and figure out wut i want.
OKKKKK, so i did some mth (:P) and figured out that i can try for a birdbath and if worst case it doesnt work i can just reposition the beam splitter prism and the system will work as wavesplitter optics. Yippe
So ill try to do birdbath ig.
Session time spent: 5h
July 26th: More Research
So now tat I decided on birdbath, I had to find decide on the display I was gonna use.
So, I did some searching about micro oleds and found a good one for a good price on alibaba.
It also came with the driver board so that was a plus.
Its the ET039XGM Micro OLED, and its 0.39".
SO now finally I could do some optics calcs.
Before that, I also made a rough simulation of birdbath on phydemo.
here the outside light wiuld enter through the spherical mirror, which is supposed to be semi transparent [I cant show tht on phydemo :( ]
So by estimation, using oled size, a 10x10x10mm beam splitter cube with a 45degree prism would suffice.
Using this, and thin lens equation, i figured out tat the focal length of collimating lens shuld be 13-14mm, as thats distance bw display and prism.
and then I can place the combiner just after the prism.
I also learned tat basically the combiner is almost flat, its slightly curevd.
Its purpose is just to redirect light and include outside light.
and as combiner is just after prism, its size has to be bigger than prism so it can effectively redirect light directed towards it.
Sooo, ill be getting one of i guess a 20x20 size.
I googles and yippe found a 22x20mm one.
So basically i finally finished my optics, and will start my pcb tmrw.
Session time spent: 4h
July 27th: PCB Time, or is it?
Soo for the pcb, I decided that I would be making an FGPA board of sorts.
So like basically a full on computer that could linux and that would control everything else.
I decided I wanted a camera, google a bit and found that I liked the OV5640 AF.
I also wanted a mic, gyro, gps and wifi nd bt capabilities. So I went on googling the components I could use.
I decided upon the RK3566. Its one of the newer rockchip socs. Also i wanted it to be small, so instead of using an SOM I decided to use the SOC and choose the other stuf myself.
For the RAM is choose IM8G32L4JCBG-046I which is a 1GB LPDDR4X. For flash, 128Mb of SPI NOR flash. Also a chip with 8gb emmc and for pmic an rk817-5.
BOM img:
This research took lik 5 hrs, as I had to find the libraries, datasheets and kicad footprints and symbols of each as well.
BUTT, As soon as I started on the schematic I realized smtg. THIS SHIT WAS WAYYYY TO COMPLEX. IT would take atleast 2 weeks and i dint hv tat much time :(
SOO I scrapped this idea altogether and spent like another hour thinkin wut to do :/
SOOOO..... I GIT A GOOD IDEA.
Basically, ill use an esp 32 module as the core chip, and the peripherals will send data to it and stuf. Then itll communicate the data to a phone through its BT or wifi.
The phone will do all the processing.
ALSOOOOO, the hud driver board is HDMI. So i can directly control it through the phone through a usb c to micro hdmi cable. Another plus
SO i made a rough plan of wut I would need. 1. esp 2. usb to uart to progrma it 3. 2 lipo bats for power (3.7v 500mah) 4. a voltage regulator 5. ldo 6. voltage boost 7. smtg to measure battery % 8. peripherals (stuf lik cam, gps, switches etc) 9. smtg to charge lipo
ANNDDD I DID A SHIT TON of research and finally decided upon a good esp32 module ill use as core.
Its the ESP32-S3-WROOM-1U-N16R8
It has 16GB flash, 8GB PSRAM wifi bt and usb support for my camera
Ill do the rest of the bom tmrw
Session time spent: 7h
July 28th: BOM + Schematic
Soo for the pcb, I wont get into the details. Like there isnt much to discuss particularly.
I just spent a shit ton of time (5 hrs) looking at datasheets, chat gpting and googling a lot of shit and finally finished the BOM.\
(it took a lot of time as I was also simultaneously finding the footprints and symbols of the parts I was gonna use)
PS.. This diesbt have the otpics and lipo. Ill add those later.
ANYWS. FINALLY TIME TO START WITH THE SCHEMATIC
so i started with the power management part.
So i was gonna have a micro usb b port which would be both for programming and charging the lipos.
This was the schematic.
So the usb prot d+ and d- ill later connect to d+ and d- of usb to uart.
the fuse protect the charger from overcurrent.
The prog sets charge current. For ap5054, its equal to 1200/resistance bw prog and gnd. as im using 2 lipos in parallel, ill keep it as 2k ohm so that the batteries charge at 600mAh.
i.e. 0.6C which is good.
Now time for the voltage supervisor to prevernt the lipos from burning out. : p
here the vout will be connected to psen of the 5v boost to enable power saving.
Now time for power on/off and the 5v boost.
THIS SCHEMATIC TOOK WAYYYYYYY TOOOO LONG.
now for the easy part. the battery gauge and the ldo to convert 5v to 3.3v(esp and lots of components have 3.3v logic)
this was pretty easy.
FINALLLYY, AFTER ALMOST THE ENTIRE DAY... THE POWER PART OF THE SCHEMATIC IS DONE
Session time spent: 13h
July 29th: Schematic 2
Time for the components part of the schematic
USB TO UART: DONE
Now i addes some transistors to the esp reset button and for the boot mode gpio. Ive connected them to the usb to uart dtr and rts.
DONE
Now the gyro:
now the gps:
Right I also added a gpio to control the state of the reset pin, so incase the gps misfires or gives wrong data, i can reset it through code.
Now the mics:
Now the hud: for the hud also i added a gpio to control wether its on or off.
The camera:
the led:
right i just remembered. I might have forgotten to mention this before, but i added a red led to the charging path, so that when the lipos are charging, you can visually tell
and a touch reset user switch:
and finally, after going through the datasheets a million times:
the esp:
There isnt much to say or explain about this, it was just adding and connecting the parts. But it still took me the entire day basically
The schematic is officially done, and Ill start routing
Session time spent: 12h
July 30th: Routing
There isn't much to say abt this part.
I just imported the parts from the schematic and spent a shit ton of time routing amd positioning everything.
I started with the usb, i2s and i2c. Then the serial and uart, then the gpio and then power.
The pwoer traces were pretty thick and others were default size pretty much.
Its a 4 layer pcb so I can make it small and stuf.
So basically I finished routing almost everything except the +5v, vbus and stuf. Will do tat tmrw
Session time spent: 12h
July 31th: Finishing Routing, CAD and Firmware
Ok so I spent lik 2 hrs and finished the routing.
Now time for cad
For this I spent like 15 mins and found a step model of glasses.\
I imported that into my cad.
Then i deleted their arms, extended two rectangles and modeled the base part slightly angles downwards and in the shape of battery so they can act as battery housing.
I then modelled the left arm to be hollow and in such a way that my pcb sits firmly withing it, by creating a sketch around the pcb.
I also modeled the hud after this, and a mount for the camera, with an extension where i can super glue it to the glasses.
Overall, this entire modelling took me abt 4 hrs.
Now time for the firmware.
For the firmware, I decided to use platformio, so tat later on interfacing would be easier and testing and dev would also be pretty easy.
SOOO, I created projected and luckily found a board verryy close to mine. The only diff was tat mine has 16Mb flash while this board has 8Mb.
But i dont think while programming it would make much difference.
Anyws, I organised stuf into folders. Figured out how platformio works a little more (2nd time using it)
and wrote up basic code for all the components.
So i googled and figured out that its better to add stuf in a folder called include so tat those files dont get called multiple times
(I hv no clue wut this means, just tat multiple people online suggested it so ill do it : P )
Anyws, finalllYY FIRMWARE DONE AND EVERYTHING DONE.... FOR now.. YIPPEEEEE : )
Session time spent: 10h
Total Time Spent: 62h