DIY NVIDIA 3D Vision emitter

Tutorials on how to create your own rigs, pics, movies, and everything that has to do with S-3D at home!
Post Reply
lukis101
One Eyed Hopeful
Posts: 7
Joined: Tue Feb 09, 2016 7:04 pm

DIY NVIDIA 3D Vision emitter

Post by lukis101 »

Anybody seen this topic?
After 2 years, I finally made myself to properly cleanup the code and build a more stable setup. (Software-only sync was good enough for while)...

Thanks to previous hackers from this forum, I was able to hack/make myself an emitter without even having seen one irl! :geek:
After a few code and platform iterations, here's what I can offer:

Code:
Source available on GitHub
Built using a makefile and avr-gcc. I've used Atmel Studio, but should be possible to use toolchain included with Arduino IDE.
(I can upload a binary, but a lot of stuff is hard-coded...)

Hardware:
(Arduino) Pro Micro. ~5$ for a clone from China
And an IR LED(s) + transistor + resistors combo for actual signal transmission.

In the current state, software sync is not enough and can jitter a lot, SO:
A) Use external hardware sync signal. Currently accepts VESA sync, but with a few changes it can accept raw VSync.
B) Try to tweak backlight strobe and shutter frame timings + duty cycles to minimize jitter for your own setup.
C) Contribute to the project - a timer needs to be setup and kept in sync via the extra USB packet data.

Multiple protocols are already added. G05-A universal glasses that I have seem to support a lot of protocols, including 3D-vision one!
Stay way from Sony glasses, they appear to alternate polarity instead of full-blanking! (Anybody wanna buy a set? :D)

Attached a picture of my "setup":
2 status leds + 1w IR led for wide range, switched via mosfet. (added the 100ohm resistor only for the sake of a safer example)
Sync signal going to pin 2 from monitor (From DVI2LVDS to be exact :twisted:)
You do not have the required permissions to view the files attached to this post.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11407
Joined: Sat Apr 12, 2008 8:18 pm

Re: DIY NVIDIA 3D Vision emitter

Post by cybereality »

Cool. Thanks for sharing.
User avatar
nimatoed
One Eyed Hopeful
Posts: 18
Joined: Mon Oct 28, 2013 9:09 pm

Re: DIY NVIDIA 3D Vision emitter

Post by nimatoed »

Very cool. Wish you or someone else would sell kits for a fraction of Nvidia's exorbitant rates.
User avatar
Guig2000
Binocular Vision CONFIRMED!
Posts: 257
Joined: Wed Nov 25, 2009 9:47 am
Location: Bordeaux, France

Re: DIY NVIDIA 3D Vision emitter

Post by Guig2000 »

Hello, did you include the "full HD 3D IR" protocol?
Image
lukis101
One Eyed Hopeful
Posts: 7
Joined: Tue Feb 09, 2016 7:04 pm

Re: DIY NVIDIA 3D Vision emitter

Post by lukis101 »

Guig2000 wrote:Hello, did you include the "full HD 3D IR" protocol?
Implemented protocols (but not all of them) are found in paper "Investigating the cross-compatibility of IR-controlled
active shutter glasses"
I'm not aware of the one you mentioned but could add if given the timings
User avatar
Guig2000
Binocular Vision CONFIRMED!
Posts: 257
Joined: Wed Nov 25, 2009 9:47 am
Location: Bordeaux, France

Re: DIY NVIDIA 3D Vision emitter

Post by Guig2000 »

After more search it appears that full hd ir and rf logo comes from the full hd 3d glasses initiative, that in fact includes compatibility with many protocols from different manufacturers.
https://3dvision-blog.com/tag/full-hd-3 ... nitiative/
So my question was a nonsense.
Image
SamCarm
One Eyed Hopeful
Posts: 2
Joined: Wed Feb 12, 2020 12:22 pm

Re: DIY NVIDIA 3D Vision emitter

Post by SamCarm »

:woot Do you have a Windows compiled version (instead of Linux) compatible with :shutter Nvidia 3d vision? The code is very complicated. And also the G05-A model glasses appear to be Bluetooth as well, not just IR :geek: . Is that the only glasses it works with?
User avatar
Losti
Golden Eyed Wiseman! (or woman!)
Posts: 1545
Joined: Tue Sep 17, 2019 5:30 am

Re: DIY NVIDIA 3D Vision emitter

Post by Losti »

WOOW does this means if my 3d-vision 2 pyramide dies, i can make it by my own???
jayshay
One Eyed Hopeful
Posts: 1
Joined: Sat Feb 22, 2020 10:30 am

Re: DIY NVIDIA 3D Vision emitter

Post by jayshay »

hi, thanks for posting this. I think with the release of all the 4K 120hz TV's over the past year, we all want to try this! Is there any more info on this? Has anybody got this to actually work?
User avatar
Alleostro
One Eyed Hopeful
Posts: 4
Joined: Tue Feb 18, 2020 4:13 am

Re: DIY NVIDIA 3D Vision emitter

Post by Alleostro »

Awesome project, thx for sharing this! I def wannat try it
Skorpiono
One Eyed Hopeful
Posts: 4
Joined: Wed Dec 09, 2020 5:16 pm

Re: DIY NVIDIA 3D Vision emitter

Post by Skorpiono »

can someone tell me how to do the board properly with orriginal uno?
User avatar
Feisty_Fernando
Binocular Vision CONFIRMED!
Posts: 223
Joined: Sun Sep 29, 2019 8:11 am

Re: DIY NVIDIA 3D Vision emitter

Post by Feisty_Fernando »

Wonder what ever happened with this project.
lukis101
One Eyed Hopeful
Posts: 7
Joined: Tue Feb 09, 2016 7:04 pm

Re: DIY NVIDIA 3D Vision emitter

Post by lukis101 »

Feisty_Fernando wrote: Tue Jan 04, 2022 4:58 am Wonder what ever happened with this project.
Used it for watching 3d movies for some time, later on I moved over to VR, have my name around in VRChat scene nowadays.
Also NVIDIA dropped support for 3DVision in their drivers since April 2019.

The source code is on github so can still be used referencing or DIY projects ;)
MokkaSchnalle
One Eyed Hopeful
Posts: 2
Joined: Wed Feb 26, 2020 4:33 am

Re: DIY NVIDIA 3D Vision emitter

Post by MokkaSchnalle »

Does this work with a LG OLED CX?
I have already tried native 3DVision but this is out of sync then :(

So my plan is to build a DIY IR Emitter to setup proper timings
albert90
One Eyed Hopeful
Posts: 40
Joined: Fri Jan 21, 2022 12:10 am

Re: DIY NVIDIA 3D Vision emitter

Post by albert90 »

Just wanted to ask if the cheap Arduino clones work without any issues? Could save me a few bucks for when I decide on a project to work on.
lukis101
One Eyed Hopeful
Posts: 7
Joined: Tue Feb 09, 2016 7:04 pm

Re: DIY NVIDIA 3D Vision emitter

Post by lukis101 »

"cheap Arduino clones" Isnt speciffic enough. the common atmega328p does not have usb to do the full thing, can still use IR signal part of code for hardware approach if you have frame signal(or at least vsync if frames dont flip over time)
As written in main post, the "pro micro" clone works just fine - it uses atmega32u4 mcu
albert90
One Eyed Hopeful
Posts: 40
Joined: Fri Jan 21, 2022 12:10 am

Re: DIY NVIDIA 3D Vision emitter

Post by albert90 »

Alright thanks, I'll look into those.
User avatar
b3nn
One Eyed Hopeful
Posts: 4
Joined: Tue Apr 16, 2013 11:19 am

Re: DIY NVIDIA 3D Vision emitter

Post by b3nn »

lukis101's code is AWESOME!

It impersonates Nvidia's IR emitter pyramid over USB, so it just uses the same IR Emitter USB driver already installed if you have the official Nvidia pyramid. 3D Fix Manager sees it as the normal IR Emitter and it kicks in when a game launches. This is sweeeeeeeet!

Having never used Microchip Studio before, it seemed a bit confusing. I've written up how I got lukis101's code running on an Arduino Pro Micro in Windows https://github.com/b3nn/3DVisionAVR-Har ... IRMWARE.md

For the hardware, I'm using a more expensive Pro Micro, but it's USB-C and has a built-in RESET button for flashing. If all you have is a soldering iron but want everything else from one place, I've put together my list of part from https://www.sparkfun.com/wish_lists/167547 which is about $50 (the LED pack is optional and you can get a cheaper Arduino elsewhere if you want).

Here's the high level info for creating the circuit on a breadboard. I'm just a hardware hobbyist, so there's probably ways to make this better, but seems to be working for me.

Image
  • Pro Micro PIN 3 is our IR Signal (goes to mosfet Gate)
  • Pro Micro PIN 10 is USB Status light (goes to resistor to green led)
  • Pro Micro RAW is IR LED Power (goes to positive rail)
Hook up GND on both sides of the Pro Micro to the negative rail. The mosfet source pin goes to GND and the middle drain pin goes to the cathode pin of the IR leds (short leg). Wire Pin 3 from the Pro Micro to the gate on the mosfet and then a pull down 10K resistor (connected to the negative rail). Each IR Led should have the anode (long leg) connected via a 100 ohm resistor to the RAW positive rail. Finally hook up the status LED to the signal on Pin 10 (it might be unlabeled but next to pin 16). I'm not using the VESA Sync, but that would go to PIN 2 if you are trying that.

For those of you that like schematic files, here's what I have in Kicad.
Image

It would be great to get more people testing this and eyes on both the hardware and software. Right now, I do see the sync is a off when frame rates change and it's a bit dimmer with my monitor. I'm trying to understand the USB protocol more and what is being sent to try to keep it in sync, but for now, I've posted the hardware files at https://github.com/b3nn/3DVisionAVR-Hardware and ordered a few custom PCBs to keep testing that part.
User avatar
b3nn
One Eyed Hopeful
Posts: 4
Joined: Tue Apr 16, 2013 11:19 am

Re: DIY NVIDIA 3D Vision emitter

Post by b3nn »

I've submitted a pull request which fixes the sync issues I was seeing. The screen image in a game is now just as bright when I use the clone and 3D looks amazing. I still notice an eye will flicker sometimes, but I think that might be more of a hardware issue (maybe?). I've only been able to test this against my own system and monitor (PG278QR) so would love to know if these times also work for others.

The two main changes are:
  • Changing the eye protocol order
  • Adding a longer delay between sync trigger and start of IR token
Image

I hooked my official emitter up to a logic analyzer so I could see when a USB packet with an eye sync packet was sent (0xAA, 0xFF or 0xFE) and then when one of the 10 IR leds is lit up. It is a fairly significant delay of about 3ms when running at the default 120Hz. I noticed it's slightly more delayed if I'm at 100Hz. Maybe there's a way to tell the refresh rate from the USB data, but it wasn't clear to me. Just adjust the FRAME_PAN setting in the code if you're not at 120Hz for some reason.

Image

The other change was the IR Protocol order. Viewing the logic analyzer led data, I noticed there was never the single transition "open left eye" timing at the start of the data. It was only after what looked like a "close right eye" command. So I re-ordered the protocol struct for the 3DVision data. It will now close an eye then open the other. So an eye is open for longer (which I think is a reason the image doesn't look dim now to me). So the FRAME_DURATION constant is now the duration between closing one eye and opening the other.

Image
User avatar
b3nn
One Eyed Hopeful
Posts: 4
Joined: Tue Apr 16, 2013 11:19 am

Re: DIY NVIDIA 3D Vision emitter

Post by b3nn »

Here's what an assembled board looks like with a USB-C Pro Mirco.
Image

This works and games are playable, but it's not perfect. Sometimes things will get out of sync for a bit or the left eye in particular seems to stay close for an extra frame (not sure what's happening). It's mostly pretty random in the games I've tested, but I'm looking for one where I can reliably reproduce the issue to help troubleshoot it. I'm hesitant to start making kits with the board in case the issue is hardware related.

To that end, I've tested a ton of IR LEDs and there's a few options. If you need range, the OED-EL-1L2 works well. It seems to match the across the room range of the pyramid emitter. However if you sit within 5 feet of the emitter, a single MTE9440M3A works better with its 160 degree viewing angle. I'm thinking the final design should use a mix of the two types.

I'm planning to keep working on this over the weekends, but if you think you could help work out the bugs and a kit would help, send me a message.
User avatar
Guig2000
Binocular Vision CONFIRMED!
Posts: 257
Joined: Wed Nov 25, 2009 9:47 am
Location: Bordeaux, France

Re: DIY NVIDIA 3D Vision emitter

Post by Guig2000 »

Hello, I think that it open an eye only after the other is closed is not a bug and is required in order to reduce ghosting when using a LCD 3D screen.
Image
User avatar
b3nn
One Eyed Hopeful
Posts: 4
Joined: Tue Apr 16, 2013 11:19 am

Re: DIY NVIDIA 3D Vision emitter

Post by b3nn »

Guig2000 wrote: Thu Apr 07, 2022 3:42 pm Hello, I think that it open an eye only after the other is closed is not a bug and is required in order to reduce ghosting when using a LCD 3D screen.
Totally agree. The old code never had both eyes open at the same time, but did have a larger gap of time when both eyes were closed. That seemed to make the screen appear much dimmer. With the change I submitted, you can tweak the delay between closing an eye and opening the other via the FRAME_DURATION constant, but 500 microseconds is about what the pyramid emitter uses
mexiscool
One Eyed Hopeful
Posts: 1
Joined: Fri Jun 03, 2022 7:09 am

Re: DIY NVIDIA 3D Vision emitter

Post by mexiscool »

Currently waiting for a microcontroller to arrive capable of running the program. I have an Arduino uno and for its usb communication it uses a 16u2 but sadly the program is a couple KB too large to flash it onto that. Thinking of reprogramming what lukis made with tinyusb to run it on a pi pico.

What I have done for so far is I hooked up my wii sensor bar with an npn transistor, a 9v battery (to power the wii sensor bar since it needs 8.5v ish) and a resistor to my Arduino. I used the timings from here viewtopic.php?t=9790 (rounded the 0.5's up) and about 7000 microseconds in-between and recorded the glasses shutters opening and closing with my phone at 960fps and it seems that the wii sensor bar is a pretty good ir emitter works up to 2.5m ish. It basically is 10 ir leds and a resistor. Can't wait to try it after the microcontroller arrives.
Jurgman
One Eyed Hopeful
Posts: 3
Joined: Mon Jan 15, 2024 11:52 pm

Re: DIY NVIDIA 3D Vision emitter

Post by Jurgman »

I built the circuit on a breadboard. Even checked the bootloader com ports.
I am a newb to Microchip Studio and got several errors. Can you please help?
I changed the IR_SetSyncMode(SYNCMODE_COMBINED);
over to
IR_SetSyncMode(SYNCMODE_DRIVER);

When loading 3DvisionAVR into microchip studio I get an error screen:
3DVisionAVR.componentinfo.xml has the information of the pack used in the project and the file is missing, do you want to regenerate 3DVisionAVR.componentinfo.xml with the latest pack information?


Also when I run build solution it has 3 errors:
Severity Code Description Project File Line
Error error writing to -: Invalid argument 3DVisionAVR C:\Users\Forban V\3DVISION BAK\3DVisionAVR\3DVisionAVR\Emitter.c 314

Severity Code Description Project File Line
Error recipe for target 'obj/Emitter.o' failed 3DVisionAVR C:\Users\Forban V\3DVISION BAK\3DVisionAVR\lufa\LUFA\Build\DMBS\DMBS\gcc.mk 224

Severity Code Description Project File Line
Error can't create obj/Emitter.o: No such file or directory 3DVisionAVR RUNCOMPILERTASK 0

Sorry I ment to ask here on this thread. Looks like I need to get the software bugs fixed.
I lost my old emitter between 2 moves. I am not that surprised that the original nvidia pyramid is so much $$$.
TomKeller
One Eyed Hopeful
Posts: 7
Joined: Tue Mar 10, 2009 5:15 pm

Re: DIY NVIDIA 3D Vision emitter

Post by TomKeller »

"3DVisionAVR.componentinfo.xml has the information of the pack used in the project and the file is missing, do you want to regenerate 3DVisionAVR.componentinfo.xml with the latest pack information?"

... is not really an error message -> you can click on "yes" and ignore it.

For the other errors:

Go to the "C:\Users\Forban V\3DVISION BAK\3DVisionAVR\3DVisionAVR\" folder and create a new subdirectory called obj in there.

With the new "C:\Users\Forban V\3DVISION BAK\3DVisionAVR\3DVisionAVR\obj" folder created -> try running "BUILD SOLUTION" again.
Jurgman
One Eyed Hopeful
Posts: 3
Joined: Mon Jan 15, 2024 11:52 pm

Re: DIY NVIDIA 3D Vision emitter

Post by Jurgman »

That worked! Thanks so much. I cant believe its simple directory location problems. Well I flashed and after a couple errors, directory path issues again...
It is recognized and 3D Fix Manager helped set it right up!
Meow to get a 3D movie... [xfingers]
Post Reply

Return to “Do it Yourself!”