Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lenses.

Tutorials on how to create your own rigs, pics, movies, and everything that has to do with S-3D at home!
GOD
One Eyed Hopeful
Posts: 41
Joined: Thu Jul 03, 2014 2:13 am

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by GOD »

Thanks for posting the new design! :D Does it work with most recent SDK?

By the way, 7" 1200p panels are now available at: www.mkt.com/vronline
will1384
Cross Eyed!
Posts: 113
Joined: Tue May 13, 2014 10:56 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by will1384 »

GOD wrote:Thanks for posting the new design! :D Does it work with most recent SDK?

By the way, 7" 1200p panels are now available at: http://www.mkt.com/vronline
I am still not sure why the DIY Rift setup is not working with the new SDK, it could even be the tracker, both the tracker and EDID store information about the Rift, so I am just not sure at this point, I had to find a different EDID spoofer design because it did not seem to be compatible with very many video cards, the new design works on every video card I had, but it still fails to work wit the new SDK.
llluis
One Eyed Hopeful
Posts: 11
Joined: Tue May 27, 2014 11:50 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by llluis »

will1384 wrote:I am still not sure why the DIY Rift setup is not working with the new SDK, it could even be the tracker, both the tracker and EDID store information about the Rift, so I am just not sure at this point, I had to find a different EDID spoofer design because it did not seem to be compatible with very many video cards, the new design works on every video card I had, but it still fails to work wit the new SDK.
The problem is the STM32F3Discovery firmware from Yetifrisstlama.
The new SDK requests (and sets) more information not supported by its firmware, but present in the original. The detection then fails.
llluis
One Eyed Hopeful
Posts: 11
Joined: Tue May 27, 2014 11:50 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by llluis »

Sipheren wrote:
2014-09-03 18.07.54.jpg
Is this your board? Is it a VST29.01B? Are you using the 1280x800 panel (N070ICG-LD1)?
User avatar
Sipheren
One Eyed Hopeful
Posts: 10
Joined: Thu Jun 26, 2014 4:05 am
Location: Gold Coast - Australia
Contact:

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by Sipheren »

Since the dk1 has now been open sourced, hopefully someone will be able to get the tracker to function correctly....
will1384
Cross Eyed!
Posts: 113
Joined: Tue May 13, 2014 10:56 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by will1384 »

llluis wrote:The problem is the STM32F3Discovery firmware from Yetifrisstlama.
The new SDK requests (and sets) more information not supported by its firmware, but present in the original. The detection then fails.
Thats what I am thinking now also.

llluis wrote:
Sipheren wrote:
2014-09-03 18.07.54.jpg
Is this your board? Is it a VST29.01B? Are you using the 1280x800 panel (N070ICG-LD1)?
I am not sure what Sipheren is using but I am using a N070ICG-LD1 LCD and I believe a VS-TY2662-V1.
User avatar
Sipheren
One Eyed Hopeful
Posts: 10
Joined: Thu Jun 26, 2014 4:05 am
Location: Gold Coast - Australia
Contact:

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by Sipheren »

llluis wrote:
Sipheren wrote:
2014-09-03 18.07.54.jpg
Is this your board? Is it a VST29.01B? Are you using the 1280x800 panel (N070ICG-LD1)?
I am using the A.VST29.01B board and HV056WX1-100 LCD.
GOD
One Eyed Hopeful
Posts: 41
Joined: Thu Jul 03, 2014 2:13 am

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by GOD »

Selling a 7" 1200p (1200x1920) LCD with an HDMI board (Toshiba chip). And including an STM32F3Discovery board with firmware for up to rift SDK 0.3 (basically for free, considering that the panel and HDMI board was previously $199)
:woot :woot :woot :woot
PM for more info. Can also include a free eeprom chip. Total without shipping costs is $199. Shipping is from near HK though. Been too busy to bother with this too much. And I am working on a 1440p HMD anyway.

Only one unit available at this price.
will1384
Cross Eyed!
Posts: 113
Joined: Tue May 13, 2014 10:56 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by will1384 »

I and a few others had noticed DK1 trackers for sale in china after the DK1 open source files were released, I cant buy anything from china, so I decided to look for something with the same sensors, I found that the Naze32 10DOF multicopter flight control board uses the same CPU and sensors, so I got one and flashed it with the firmware from the DK1 open source files, unfortunately I had to add a second USB connector to the Naze32 10DOF, the second USB connector is wired to the STM32F103 CPU in the same way has the DK1 Tracker, once the second USB connector is connected to the computer, the computer recognizes it as a real DK1 Tracker, in both the old and new SDKs, but with one catch, no tracking, I believe the sensors are connected to the STM32F103 CPU on the Naze32 10DOF in a different way than on the real DK1 tracker.

The 10DOF version of the multicopter flight control board above uses the:

MPU6050 - gyroscope and accelerometer
HMC5883L - magnetometer
MS5611 - high resolution altimeter
STM32F103CxT6 - CPU 32bit ARM Cortex M3, 72MHz, 64K/128K flash

The 6DOF version of the multicopter flight control board above uses the:

MPU6050 - gyroscope and accelerometer
STM32F103CxT6 - CPU 32bit ARM Cortex M3, 72MHz, 64K/128K flash

And the real DK1 Rift tracker uses:

MPU6000 - gyroscope and accelerometer
HMC5983 - magnetometer
STM32F103C8T6 - CPU 32bit ARM Cortex M3, 72MHz, 64K/20K flash


The Naze32 10DOF top view.

Image

The bottom of the Naze32 10DOF.

Image

I added jumpers for the boot pins.

Image

I used a volt / ohm meter to trace back to the needed CPU pins, the extra USB port is connected with the same value resistors and same connections as the real DK1 tracker.

Image

This is the USB port I added.

Image

DK2 compatible SDK running with the Naze32 10DOF, however you get no tracking.

Image

DK1 only SDK running with the Naze32 10DOF, however you get no tracking.

Image


BTW Under Linux when connected to the second added USB port, and programed with the DK1 Rift tracker firmware, the Naze32 10DOF shows up as:

T: Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 34 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=2833 ProdID=0001 Rev=00.18
S: Manufacturer=Oculus VR, Inc.
S: Product=Tracker DK
S: SerialNumber=AAAAAAAAAAAA
C: #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid

And the last time I checked the STM32F3DISCOVERY Foculus Rift tracker under Linux:

T: Bus=06 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 6 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=2833 ProdID=0001 Rev=01.00
S: Manufacturer=Oculus VR, Inc.
S: Product=Tracker DK
S: SerialNumber=3EC0946BFFFF
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid

I have not done anything to the Naze32 10DOF that is not undo-able yet, and I would like to keep it that way, but I don't know how to do programing, so my only other choices are, to modify the Naze32 10DOF, wait until DK1 compatible trackers are more readily available, or the hard way and order the parts and have a PCB made using the DK1 open source files.
will1384
Cross Eyed!
Posts: 113
Joined: Tue May 13, 2014 10:56 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by will1384 »

From Google searching and PDFs I have downloaded, it seems that:

MPU6000 - supports both I2C and SPI
MPU6050 - supports only I2C

HMC5983 - supports both I2C and SPI
HMC5883L - supports only I2C

and the DK1 Rift tracker uses SPI to connect to the sensor chips.

After the Naze32 I got an idea, so I stared searching and found that could buy the STM32F103C8T6, HMC5983 and MPU6000 on breakout boards, but the MPU6000 is hard to find and can be costly, the HMC5983 seems to only be avable from china, and the STM32F103C8T6 breakout board requires a programmer, that programmer can be cheap if you buy a clone or $30 for the real ST-Link V2, you would then connect the different breakout boards together with soldered wires and a few 22 ohm resistors, using the DK1 tracker schematics as your guide, and then use the programmer to flash the STM32F103C8T6 with the DK1 tracker firmware.

I would think the parts would be something like this:

ST-LINK/V2 ---- $20 to $30

http://www.st.com/internet/evalboard/product/251168.jsp

STM32F103C8T6 Minimum System Development Board ---- $7 - or leas

http://www.ebay.com/itm/251714608200

HMC5983 board ---- $3 - slow shipping from China

http://www.ebay.com/itm/GY-282-HMC5983- ... 1431883394

MPU-6000 IMU click board ---- $39 - this board requires soldering of SMD parts to switch between I2C and SPI

http://microcontrollershop.com/product_ ... ts_id=6699

OR

MPU-6000 board - $15 - cheaper but from France and no soldering of SMD parts

http://www.ebay.com/itm/IMU-6DOF-MPU600 ... 1313774726

I am sure there are other combinations of parts like this that will work, this is just what some Google searching found.
will1384
Cross Eyed!
Posts: 113
Joined: Tue May 13, 2014 10:56 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by will1384 »

I made some diagrams for the three boards I found at eBay:

STM32F103C8T6 Minimum System Development Board

IMU 6DOF - MPU6000 Invensense sensor board - make sure its a real MPU-6000 and not a MPU-6050

GY-282 HMC5983

This is the STM32F103C8T6 Minimum System Development Board and GY-282 HMC5983 connected, I am not sure about the HMC5983's PIN-9, the real Rift tracker has the HMC5983's PIN-9 connected to the STM32F103C8T6's PB9, but the GY-282 HMC5983 board has the HMC5983's PIN-9 connected to ground, I may have to cut a trace on the GY-282 HMC5983 to disconnect the HMC5983's PIN-9 from GND, and then run a wire from the HMC5983's PIN-9 to the STM32F103C8T6's PB9.

Image

This is the STM32F103C8T6 Minimum System Development Board and the IMU 6DOF - MPU6000 Invensense sensor board connected.

Image
will1384
Cross Eyed!
Posts: 113
Joined: Tue May 13, 2014 10:56 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by will1384 »

The STM32F103C8T6 Minimum System Development Board I got from eBay, I just wish the pin headers were left unsoldered, I was able to program this with the Rift tracker firmware, and it was detected as a real DK1 by the DK2 compatible SDK.

Image

Image

This is how I attached the programmer to the STM32F103C8T6 Development Board, its the same wiring setup as seen on some of the Chinese web pages selling STM32F103C8T6 Development Board, you also need to power the STM32F103C8T6 Development Board with the USB plug.

Image

BTW I had to set the programmer to "SWD"

Link to an eBay page showing a programmer attached to the STM32F103C8T6 Development Board.

http://www.ebay.com/itm/STM32F103C8T6-A ... 1422143770
will1384
Cross Eyed!
Posts: 113
Joined: Tue May 13, 2014 10:56 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by will1384 »

ST-Link V2 connected to the STM32F103C8T6 Development Board.

Image

Set the "STM32 ST-Link Utility" to SWD mode, I used the default settings and they seem to work fine.

Image

Update the programmers firmware first if you can, but -do not- if you bought a clone or knock-off because updating the firmware on a clone could brick the device.

Open the "tracker.hex" then run a "Full chip erase." after that run a "Program verify." and you should be finished.

Image

I wanted to add a link I found that might be helpful

http://www.emcu.it/ST-LINKv2/ST-LINKv2.html
will1384
Cross Eyed!
Posts: 113
Joined: Tue May 13, 2014 10:56 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by will1384 »

This is the default configuration of the GY-282 HMC5983 board, its set to I2C mode with solder jumpers.

Image

This is the GY-282 HMC5983 board, with no solder jumpers.

Image

I "think" this is the correct way to set the GY-282 HMC5983 board to SPI mode with solder jumpers.

Image

This is the front of the GY-282 HMC5983 board, its set to I2C mode with solder jumpers from the factory.

Image

This is the back of the GY-282 HMC5983 board.

Image

The real Rift tracker has the HMC5983's PIN 9 going to the PB9 PIN of the STM32F103C8T6, but the GY-282 has the HMC5983's pin 9 going to GND, to fix that I used a "very" small drill to remove a "very" small amount of copper on the back of the GY-282, has shown.

Image

Then on the top of the GY-282 remove some of the blue paint covering the copper, in the location shown, work very slowly, its very fragile, then solder your wire to that place, you might want to glue the wire in place, if you don't, the wire could pull lose tearing the copper its soldered to, damaging the board.

Image

This is not an accurate circuit diagram, its just a simple drawing to help show were the HMC5983's PIN 9 is connected, the PCB trace in red is connected to PIN 9, this PCB trace shown in red is also were you would connect a wire going to the STM32F103C8T6's PB9.

Image

The bottom of the GY-282 with hot glue on the wires.

Image

The top of the GY-282 with hot glue on the wires.

Image
Last edited by will1384 on Tue Feb 17, 2015 5:40 pm, edited 1 time in total.
will1384
Cross Eyed!
Posts: 113
Joined: Tue May 13, 2014 10:56 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by will1384 »

I got the MPU-6000 board in today, and it works :)


Top:

Image

Bottom:

Image

Hot glue:

Image

Wires:

Image

The HMC5983, MPU-6000, and STM32F103C8T6.

Image

I replaced the STM32F3DISCOVERY

Image

The HMC5983 and MPU-6000 sensor need to be arranged the way they were in the real rift, with the chip label facing the user, and the MPU-6000 dot indicator on the left and at the top, and with the HMC5983 dot indicator at the left and the bottom, I got that info from:

https://www.ifixit.com/Device/Oculus_Rift

And how I have the sensors placed:

Image

It does work with some of the steam games, like "AaaaaAAaaaAAAaaAAAAaAAAAA!!!" and I was able to play "SightLine: The Chair" that was a DK2 and DK1 compatible game, also the DK2 compatible Configuration Utility shows it has a real DK1, however the magnetic calibration fails showing this:

Image

It may be that the HMC5983 is not working, but I am able to finish the magnetic calibration in the DK1 only Configuration Utility.

Something interesting is that the MPU-6000 and STM32F103C8T6 seem to work well as a tracker without the HMC5983, but my guess is you would get some drift.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by cybereality »

Cool man!

I wouldn't worry about the mag calibration. It's been broken for DK1 since the past few runtime releases (0.3.2 may be the last one that works).
will1384
Cross Eyed!
Posts: 113
Joined: Tue May 13, 2014 10:56 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by will1384 »

cybereality wrote:Cool man!

I wouldn't worry about the mag calibration. It's been broken for DK1 since the past few runtime releases (0.3.2 may be the last one that works).
Thanks for the information, I am now wondering about the necessity of the HMC5983, it was the hardest to solder with the solder jumpers and that extra wire that requires modifying the HMC5983 board, I wonder if they have they stopped using the HMC5983, and gone to something in software, like averaging were you look to keep drift down, or is it a little of both the HMC5983 and software that corrects for drift, I wonder this because I was able to play a few demos without the HMC5983 and the tracking "seemed" just as good as the STM32F3DISCOVERY, but I only played a few minutes for each game.
will1384
Cross Eyed!
Posts: 113
Joined: Tue May 13, 2014 10:56 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by will1384 »

A few people have asked about the DK1 firmware, so I decided to put the firmware with the all the open-source Oculus Rift DK1 files, because I was unsure of the legality of sharing the made firmware by its self, however this makes the download a little over 12MB, I changed nothing other than adding a folder with the pre-made firmware and a TXT file explaining what I just said, and the edit needed to the Tracker.coproj file.

https://www.amazon.com/clouddrive/share ... 94dcqmCrPc

If needed I will take this link down, I don't want to get in legal trouble :?
will1384
Cross Eyed!
Posts: 113
Joined: Tue May 13, 2014 10:56 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by will1384 »

I uploaded a short video of the new tracker working.

https://picasaweb.google.com/1113484813 ... 0339389730
spyfeedback
One Eyed Hopeful
Posts: 1
Joined: Mon Feb 16, 2015 6:59 am

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by spyfeedback »

Here is my tracker:
Image

Thank you Will!!! :)

I have a litle drift so I ordered the HMC P.c.b.
will1384
Cross Eyed!
Posts: 113
Joined: Tue May 13, 2014 10:56 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by will1384 »

spyfeedback wrote:Here is my tracker:
Thank you Will!!! :)

I have a litle drift so I ordered the HMC P.c.b.
Looks good :)

I have tried a few different experiments with the HMC5983 board, testing drift with and without the board, and even even removing some resistors labeled "472" on the HMC5983 board that are not in the Rift tracker schematics, rob712 over on reddit pointed them out to me, but nothing seems to make much of a difference.

[copy and paste from my reddit post]

I have two of the HMC5983 boards, I modified the second HMC5983 board to be the same as the first except I removed the 4.7K resistors:

Image

I tested for drift in the Oculus Rift 0.2.5 SDK using the "Interactive Utility" and "Settings Viewer" with the resistors in place I was getting about 2 centimeters of drift to the right in 60 seconds, without the resistors I was getting 1.5 centimeters of drift to the left in 60 seconds, that is not a good test, but I did not know a better way to test.

With and without the resistors, I get crashes with the newer DK1 /DK2 SDK configuration utility when clicking on the "Show Demo Scene" button, and Magnetic Calibration fails on the newer DK1 /DK2 SDK.

I did the test again with the HMC5983 board unplugged, I tested for drift in the Oculus Rift 0.2.5 SDK using the "Interactive Utility" and "Settings Viewer" I got 1.5 centimeters of drift to the left in 60 seconds, same as when its connected, but this time Magnetic Calibration fails on both SDKs, and it still crashes with the newer DK1 /DK2 SDK configuration utility when clicking on the "Show Demo Scene" button.
weebles
One Eyed Hopeful
Posts: 1
Joined: Mon Jan 12, 2015 10:35 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by weebles »

Hey Will
thanks for all the work.

Do you think the STM32F103C8T6 could be flashed with the STM32f3DISCOVERY board ?


Also just saw this video about Chinese dk 1 tracker clone.

https://www.youtube.com/watch?feature=p ... GHsLa7S0KU
Its hard to hear him though.
will1384
Cross Eyed!
Posts: 113
Joined: Tue May 13, 2014 10:56 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by will1384 »

weebles wrote:Hey Will
thanks for all the work.

Do you think the STM32F103C8T6 could be flashed with the STM32f3DISCOVERY board ?


Also just saw this video about Chinese dk 1 tracker clone.

https://www.youtube.com/watch?feature=p ... GHsLa7S0KU
Its hard to hear him though.
I and others have tried flashing the real Rift tracker firmware to the STM32f3DISCOVERY board, it does not seem to work.

I am glad they are starting to clone the DK1.
atomdude
One Eyed Hopeful
Posts: 11
Joined: Tue Sep 10, 2013 6:22 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by atomdude »

HI

i am building my own HMD. but i am stuck at the software, which application i should download to get it to work???? please help i am desperate!!!
will1384
Cross Eyed!
Posts: 113
Joined: Tue May 13, 2014 10:56 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by will1384 »

atomdude wrote:HI

i am building my own HMD. but i am stuck at the software, which application i should download to get it to work???? please help i am desperate!!!
Are you asking about the STM32f3DISCOVERY tracker, or the DK1 clone tracker I made, or the EDID for the LCD, or the DK1 demos?

I only remember flashing the STM32f3DISCOVERY with Linux following the guide over at:

https://github.com/yetifrisstlama/Focul ... 3DISCOVERY

I believe there is software for Windows that should work for the STM32f3DISCOVERY and the ELF or HEX version of the firmware, maybe do a Google search for "STM32f3DISCOVERY ELF HEX".

For the DK1 clone tracker I made, I used the STM32 ST-Link Utility software that came with the ST-LINK/V2 programmer, the software was set to SWD mode, and all other settings default.

EDID for the LCD is a little more tricky, I tried messing with the LCD controller but from what I remember that did not work, I seem to remember needing a special programmer just for the LCD controller, so basically I bypassed the LCD controller's EDID chip with my own EDID chip, near the end of my tinkering I used this cheap $9 CH341A programmer that can be used to program the 24LC21 chip I was using for EDID

Image

to program the 24LC21 chip with the CH341A programmer, the 24LC21 chip's (PIN 7) must be connected to the CH341A programmer's pin named (3.3), also when using this CH341A programmer the IC chip's notch faces away from the USB port, 24xx chips are placed closest to the end of the programmer, 25xx chips are placed closest to the USB port.

BTW the jumper close to the USB port switches between Printer or Serial mode, each mode requires a different driver, the software I used that came with the CH341A programmer seems to only work with the Printer mode.

Image

CH341A programmer's software setup for the 24LC21 chip.

STM32f3DISCOVERY works with most DK1 compatible demos and software.

The the DK1 clone trackers, the one I made and the Chinese clones should work with everything, even DK2 demos, "however" that also seems to depend on your video card, it seems that some stuff needs DX11, apparently most of the DK2 demos I happened to download and try needed DX11 :? , so if you have an older video card some of the demos and software may unexpectedly crash or not run, another problem I was facing and did not realise :lol:

For some of the Oculus Rift games and demos you will need the "Oculus Runtime for Windows" get that over at:

https://developer.oculus.com/downloads/
atomdude
One Eyed Hopeful
Posts: 11
Joined: Tue Sep 10, 2013 6:22 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by atomdude »

will1384 wrote:
atomdude wrote:HI

i am building my own HMD. but i am stuck at the software, which application i should download to get it to work???? please help i am desperate!!!
Are you asking about the STM32f3DISCOVERY tracker, or the DK1 clone tracker I made, or the EDID for the LCD, or the DK1 demos?

I only remember flashing the STM32f3DISCOVERY with Linux following the guide over at:

https://github.com/yetifrisstlama/Focul ... 3DISCOVERY

I believe there is software for Windows that should work for the STM32f3DISCOVERY and the ELF or HEX version of the firmware, maybe do a Google search for "STM32f3DISCOVERY ELF HEX".

For the DK1 clone tracker I made, I used the STM32 ST-Link Utility software that came with the ST-LINK/V2 programmer, the software was set to SWD mode, and all other settings default.

EDID for the LCD is a little more tricky, I tried messing with the LCD controller but from what I remember that did not work, I seem to remember needing a special programmer just for the LCD controller, so basically I bypassed the LCD controller's EDID chip with my own EDID chip, near the end of my tinkering I used this cheap $9 CH341A programmer that can be used to program the 24LC21 chip I was using for EDID

Image

to program the 24LC21 chip with the CH341A programmer, the 24LC21 chip's (PIN 7) must be connected to the CH341A programmer's pin named (3.3), also when using this CH341A programmer the IC chip's notch faces away from the USB port, 24xx chips are placed closest to the end of the programmer, 25xx chips are placed closest to the USB port.

BTW the jumper close to the USB port switches between Printer or Serial mode, each mode requires a different driver, the software I used that came with the CH341A programmer seems to only work with the Printer mode.

Image

CH341A programmer's software setup for the 24LC21 chip.

STM32f3DISCOVERY works with most DK1 compatible demos and software.

The the DK1 clone trackers, the one I made and the Chinese clones should work with everything, even DK2 demos, "however" that also seems to depend on your video card, it seems that some stuff needs DX11, apparently most of the DK2 demos I happened to download and try needed DX11 :? , so if you have an older video card some of the demos and software may unexpectedly crash or not run, another problem I was facing and did not realise :lol:


For some of the Oculus Rift games and demos you will need the "Oculus Runtime for Windows" get that over at:

https://developer.oculus.com/downloads/

hi my question is more simple, i am using trackIR. the software i tried is vireio, but i cannot get to see dual screen on my HMD. people used the oculus rift software, i tried but it appears to look for Oculus product. i really need idoit proof instructions!!!!

thanks
will1384
Cross Eyed!
Posts: 113
Joined: Tue May 13, 2014 10:56 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by will1384 »

atomdude wrote:
hi my question is more simple, i am using trackIR. the software i tried is vireio, but i cannot get to see dual screen on my HMD. people used the oculus rift software, i tried but it appears to look for Oculus product. i really need idoit proof instructions!!!!

thanks
I have never used trackIR, and its been a long time since I used Vireio Perception, I started with a simple HMD and later decided to make a clone of the Oculus Rift DK1, so its likely that I can't help unless you are trying to make a clone of the Oculus Rift DK1, but maybe asking someone else or asking in the Vireio Perception forum may help.
atomdude
One Eyed Hopeful
Posts: 11
Joined: Tue Sep 10, 2013 6:22 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by atomdude »

will1384 wrote:
atomdude wrote:
hi my question is more simple, i am using trackIR. the software i tried is vireio, but i cannot get to see dual screen on my HMD. people used the oculus rift software, i tried but it appears to look for Oculus product. i really need idoit proof instructions!!!!

thanks
I have never used trackIR, and its been a long time since I used Vireio Perception, I started with a simple HMD and later decided to make a clone of the Oculus Rift DK1, so its likely that I can't help unless you are trying to make a clone of the Oculus Rift DK1, but maybe asking someone else or asking in the Vireio Perception forum may help.
that is even better, hoe then did you make the clone???
will1384
Cross Eyed!
Posts: 113
Joined: Tue May 13, 2014 10:56 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by will1384 »

atomdude wrote:
will1384 wrote:
atomdude wrote:
hi my question is more simple, i am using trackIR. the software i tried is vireio, but i cannot get to see dual screen on my HMD. people used the oculus rift software, i tried but it appears to look for Oculus product. i really need idoit proof instructions!!!!

thanks
I have never used trackIR, and its been a long time since I used Vireio Perception, I started with a simple HMD and later decided to make a clone of the Oculus Rift DK1, so its likely that I can't help unless you are trying to make a clone of the Oculus Rift DK1, but maybe asking someone else or asking in the Vireio Perception forum may help.
that is even better, hoe then did you make the clone???
Its all in this post and over in reddit at:

http://www.reddit.com/r/DIYRift/

and my post on reddit:

http://www.reddit.com/r/DIYRift/comment ... d_parts_7/

all the info is there, its just going to take a lot of reading, basically using the STM32f3DISCOVERY with the firmware found over at:

http://yetifrisstlama.blogspot.com/2014 ... verse.html

and

https://github.com/yetifrisstlama/Focul ... 3DISCOVERY

will allow you to run some DK1 demos, however many demos also require the correct EDID monitor information, so you ether buy a LCD controller pre-programmed with the DK1 EDID, or find a way to program the LCD controller with the DK1 EDID, or bypass the LCD controller's EDID information with a chip between the LCD controller and computer.

Another tracker is the clone DK1 tracker, ether the one I made or something like this:

http://www.ebay.com/itm/DIY-KIT-Oculus- ... 1662990547

this tracker should work with everything, but for many games and demos you will still need the DK1 EDID monitor information just as above.
Daturian
One Eyed Hopeful
Posts: 9
Joined: Wed Feb 04, 2015 5:15 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by Daturian »

Hey will1384... Just want to say thanks for all your efforts here.

I had order all the required pieces about a month and a half ago and sadly, the ST-Link programmer only just arrived on Monday. Before that I spent several hours investigating different ways of trying to program the STM32 board, including using a Raspberry Pi and OpenOCD, I also tried to find something with Arduino as well. Sadly nothing was working as hoped, but it was a great learning experience and it's always fun to tinker. When I finally received the programmer, it was all done in less than a minute.

I breadboarded everything up last night to see if it all works, and for the most part, it does! I'm getting nothing on the display I'm using and I see that I made a mistake in the edit of the EDID which is likely the culprit. The Rift SDK still detected a DK1 screen and the tracker, and the tracking was working within native Rift apps.

I actually used an Arduino to program the EEPROM a few weeks ago and had it hooked up just on it's own through a cut HDMI cable to test it (just the bare essential wires used, none of the data lines) and it came up in windows as the Rift Dk1 screen. There's a tutorial on Adafruit on flashing the EDID EEPROM on one of the displays they sell which pointed me in the right direction, and I modified their code to work with my chip and input my custom EDID hex, but it's finicky.... The program that's running indicates that it's flashing and verified, and then I can do a read of the EDID info from the chip right after the flash, but it's still showing the old flash info. I had the same trouble when I was first messing around with it a few weeks ago and it wasn't until I happened to move some wires around that it worked. I don't know if it's because I'm misunderstanding something about the chip, or maybe I'm not having the pins pulled up correctly as I was able to flash it the one time, but subsequent attempts are turning out fruitless. It also doesn't help that I also disconnected it all after the original flash :?

Either way, thanks again for all of your effort Will1384. My DIY HMD is getting closer and closer to completion :D
will1384
Cross Eyed!
Posts: 113
Joined: Tue May 13, 2014 10:56 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by will1384 »

Daturian wrote:Hey will1384... Just want to say thanks for all your efforts here.

I had order all the required pieces about a month and a half ago and sadly, the ST-Link programmer only just arrived on Monday. Before that I spent several hours investigating different ways of trying to program the STM32 board, including using a Raspberry Pi and OpenOCD, I also tried to find something with Arduino as well. Sadly nothing was working as hoped, but it was a great learning experience and it's always fun to tinker. When I finally received the programmer, it was all done in less than a minute.

I breadboarded everything up last night to see if it all works, and for the most part, it does! I'm getting nothing on the display I'm using and I see that I made a mistake in the edit of the EDID which is likely the culprit. The Rift SDK still detected a DK1 screen and the tracker, and the tracking was working within native Rift apps.

I actually used an Arduino to program the EEPROM a few weeks ago and had it hooked up just on it's own through a cut HDMI cable to test it (just the bare essential wires used, none of the data lines) and it came up in windows as the Rift Dk1 screen. There's a tutorial on Adafruit on flashing the EDID EEPROM on one of the displays they sell which pointed me in the right direction, and I modified their code to work with my chip and input my custom EDID hex, but it's finicky.... The program that's running indicates that it's flashing and verified, and then I can do a read of the EDID info from the chip right after the flash, but it's still showing the old flash info. I had the same trouble when I was first messing around with it a few weeks ago and it wasn't until I happened to move some wires around that it worked. I don't know if it's because I'm misunderstanding something about the chip, or maybe I'm not having the pins pulled up correctly as I was able to flash it the one time, but subsequent attempts are turning out fruitless. It also doesn't help that I also disconnected it all after the original flash :?

Either way, thanks again for all of your effort Will1384. My DIY HMD is getting closer and closer to completion :D
Thanks.

I have done more than my fair share of researching ways to do the EDID and STM32 stuff, I decided it was better to make it as easy as possible, that saves a lot of pain and frustration, even if you do spend a little more, also planning ahead for modifications and changes helps, if programming with the Arduino keeps acting strange, you could try the cheap CH341A programmer, its under $10.

Something I have run into with chip programmers and their software, is that sometimes they may fail to write to the chip, but say they have, and you could even try to read from the chip and it would show the correct info, but its not working, and the only way to be sure, is to close the software and disconnect the programmer, then reconnect the programmer, and restart the software to test if the chip was correctly written to, I am thinking is just a software bug, but it can cause a lot of frustration, I have even had hardware do the same thing, I would flash a chip on some hardware, I could test and the flash worked, but after a restart or powering off / on the chip would revert back to default, that happened on one of the LCD controllers I was messing with, I would have to disable the chips write protect to make the programming permanent.
Daturian
One Eyed Hopeful
Posts: 9
Joined: Wed Feb 04, 2015 5:15 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by Daturian »

The Arduino EEPROM programmer I'm using is working absolutely flawlessly now. I can make changes to the EDID and see the changes in Windows no problem. No magic required now. :D

It appears that there are only 3 things that the Oculus SDK is looking for:
Manufacturer ID: OVR
Product ID: 0001
Somewhere in the detailed timings blocks the "Display Product Name": Rift DK

So long as these three values are set in the EDID, the Oculus config utility will identify the screen as a Rift.

Sadly, I'm still running into problems, which is what led me to the discovery above.

I'm using a couple of HDMI breakout boards attached together all except for Pins 15 + 16 (SCL and SDA) which have separate pins to send data from the EEPROM to the PC.
There are two HDMI cables, one from the PC to the first breakout board which has the EEPROM on Pins 15+16 and the second cable running from the second breakout board to the actual display's controller which has a mini-HDMI connection.

If I make the three changes to the EDID of the display I'm using pulled from the registry (and only those three changes) and then program the EEPROM, Oculus does detect it as a Rift screen but it's also being detected as being connected through DVI in the nVidia control panel and it appears that all available resolutions are locked at 30Hz refresh rate. :x

This was BAFFLING. I'm not sure how those three values I'm changing would in any way influence what refresh rates are available AND change how the PC is registering the connection (DVI vs. HDMI).
I tried clearing out everything in regards to displays from the Windows Registry thinking maybe an old EDID/detected display I was using that wasn't set up correctly was being used, and have even uninstalled the Oculus runtime, both to no avail.
To eliminate the possibility of faulty connections I connected the 15+16 pins between the two breakout boards and the display worked at 60Hz without a problem and detected as HDMI.

I spent HOURS last night and today trying to figure this out and I was convinced that there was something wrong with my PC, like Windows holding on to a driver or something until I loaded up Monitor Asset Manager again, and looked at the display when directly connected... It seemed like it had a lot more info being displayed, more than what appeared in Deltacast. I scrolled down and saw that the raw data was actually DOUBLE the size. Through all of this, I learned about something new today.... Enhanced EDID. E-EDID stores additional information but that additional information is not stored within the Windows registry, hence why Deltacast doesn't extract it.

Sadly the 24LC21 chips only have enough room only store the standard EDID (1k). Looks like I'll need to get a 24LC02 (2k) to store the additional data unless I can figure out how to send data from two separate 24LC21 chips :shock:

Here's a couple of links to pictures of my EDID spoofer setup.

EDID Spoofer:
I have the Arduino hooked up there while trying to figure out why the display was only being detected as DVI/30Hz. Makes it easy to write to the EDID without swapping the cables around.

HDMI Breakout:
Yes, I could have just as easily cut open a cable and carefully pulled out the SDA and SCL lines, but I'm also looking to pull the V-sync out from a couple of the data lines using a V-sync extractor circuit I found on here. This is a great little way to get at the lines within HDMI without introducing interference or problems on the display and having to deal with a whole lot of wires.
will1384
Cross Eyed!
Posts: 113
Joined: Tue May 13, 2014 10:56 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by will1384 »

I am using HDMI on the DIY Rift LCD to DVI on the computer, the 24LC21 seems to work for HDMI to DVI, and I can even bump up the refresh to 70Hz, I had tried 75Hz and had discolouration, I only have one video card with a HDMI connector and its on a Linux box, so I never tested HDMI to HDMI.
Daturian
One Eyed Hopeful
Posts: 9
Joined: Wed Feb 04, 2015 5:15 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by Daturian »

IT'S ALIVE!!
After programming a 2K EEPROM (24LC02) with the full Enhanced EDID of my screen with the three values set, my 1440p screen is now showing up at 60Hz and as an HDMI connection AND being detected as a Rift screen :woot

I also purchased a couple of 24LCS22 2K EEPROM as well as they are specifically mentioned for E-EDID applications, but I could only get them in surface mount (super tiny!), but luckily the standard 24LC02 in a DIP package worked.

Just have to say it again Will, thanks for posting all the info you have!


Edit:
I've also not included the magnetometer on my circuit as of yet, as you had mentioned that the calibration fails anyway. I'm able to get this set up working up to SDK 0.4.4 but 0.5.0.1 doesn't detect it. I also hooked up the magnetometer (sans the extra wire that needs to be hooked up on pin 9) and still no detection. I'm going to try getting that extra wire hooked up and see if that helps any tonight.
Nakon
One Eyed Hopeful
Posts: 38
Joined: Thu Sep 04, 2014 6:40 am

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by Nakon »

That's amazing!

About not including the magnetometer... that means you're getting good results without it?
(that's my only doubt to make it :woot )
will1384
Cross Eyed!
Posts: 113
Joined: Tue May 13, 2014 10:56 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by will1384 »

The newer Oculus runtime seems to give some people problems with the DK1, including me, have a look over at:

http://www.reddit.com/r/oculus/comments ... ct_my_dk1/

http://www.reddit.com/r/oculus/comments ... ted_v0501/

https://forums.oculus.com/viewtopic.php?f=34&t=22361

It mostly gives me problems with stuff that requires the newer Oculus runtime, like Steam VR, I can get older stuff to work, basically if I clone the desktop display or "Duplicate These Displays" the the new Oculus runtime stops recognizing the DK1.
Last edited by will1384 on Fri May 08, 2015 8:19 pm, edited 1 time in total.
Alienkore
One Eyed Hopeful
Posts: 1
Joined: Thu Dec 26, 2013 11:59 am

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by Alienkore »

Hi, i follow the tutorial to make a headtracker...it works on sdk 0.5.0.1:

Check it!!!
https://www.youtube.com/watch?v=0O_fZrKae68

:D :D :D :D :D
will1384
Cross Eyed!
Posts: 113
Joined: Tue May 13, 2014 10:56 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by will1384 »

Alienkore wrote:Hi, i follow the tutorial to make a headtracker...it works on sdk 0.5.0.1:

Check it!!!
https://www.youtube.com/watch?v=0O_fZrKae68

:D :D :D :D :D
Nice video!
techfree
One Eyed Hopeful
Posts: 11
Joined: Sun Oct 13, 2013 4:28 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by techfree »

Hi,
I want to play oculus demo DK1 but allso Half Life Vr with the hydra, can i use this setup to achieve this :

Stm32f3discovery head tracker
Edid spoof hdmi to dvi
Normaly steam vr should start.
Then the hard part is that hl2 vr start as extended monitor and not primary who is our edid spoofer i think.
So can i plug in my hdmi output feom my laptop the hdmi/dvi edid spoofeer and in my vga output i will connect a monitor, so do you think that half life 2 vr will display on that extended monitor?

Thank you.
will1384
Cross Eyed!
Posts: 113
Joined: Tue May 13, 2014 10:56 pm

Re: Another DIY HMD, cheap build, 7" 1024x600, 5X Loupe lens

Post by will1384 »

techfree wrote:Hi,
I want to play oculus demo DK1 but allso Half Life Vr with the hydra, can i use this setup to achieve this :

Stm32f3discovery head tracker
Edid spoof hdmi to dvi
Normaly steam vr should start.
Then the hard part is that hl2 vr start as extended monitor and not primary who is our edid spoofer i think.
So can i plug in my hdmi output feom my laptop the hdmi/dvi edid spoofeer and in my vga output i will connect a monitor, so do you think that half life 2 vr will display on that extended monitor?

Thank you.
The STM32F3DISCOVERY no longer works correctly, and has not for months, you ether have to build a tracker like I did, or buy a clone of the DK1 tracker from somewhere like eBay.

I just upgraded my video card to a used GTX 460 from eBay, and Oculus just released the new Runtime v0.6.0.0-beta, but SteamVR is still not working for me, if SteamVR fails to work so do games like Half Life, and SteamVR has not worked since Runtime v0.5 on my computer, its likely that Oculus is slowly dropping support for the DK1, or they are real busy working on the consumer unit.

If you have VGA, DVI, and HDMI, pick ether DVI or HDMI, but if you pick HDMI you may have to use the 24LC02 chip in place of the 24LC21 like Daturian was talking about.

I would wait an see if any "cheap" VR devices show up in the next few months, you might save money, and get a much better VR device, I am kinda hoping something like OSVR will work with DK1 software and games, maybe even DK2 software and games.
Post Reply

Return to “Do it Yourself!”