DIY Head Tracker For A Tenner

The NicoHood firmware for USB devices does not include a serial number. With the absence of a serial number, the operating system can't determine the uniqueness of a device. For my joystick project, I patched the NicoHood HUD classes to include a serial number to fix that error. With the newer Arduino pluggable USB API it should be a lot easier. Also, because the AtMega32U4 has no dedicated chip for USB interaction, the COM port is provided by a virtual USB device inside the AtMega32u4. This virtual COM port generates a new tty port when the device is enumerated.

https://www.arduino.cc/en/Guide/ArduinoLeonardoMicro#toc3
Since the boards do not have a dedicated chip to handle serial communication, it means that the serial port is virtual -- it's a software routine, both on your operating system, and on the board itself. Just as your computer creates an instance of the serial port driver when you plug in any Arduino, the Leonardo/Micro creates a serial instance whenever it runs its bootloader. The board is an instance of USB's Connected Device Class (CDC) driver.
 
So this will be a random problem? Is there a way for me to make the VID/PID (what ever that is) unique so there will be no further confusions?

Unrelated to the other problem, I am trying to stick the tracker on the bottom of a controller up side down so i can still use the tactile switch to centre it. Top/USB Front works fine but the switch is facing the controller. A Bottom/USB Front setting in the GUI would help everyone trying to stick the tracker to their chin or on the bottom of their pants too! :)

- - - - - Additional Content Posted / Auto Merge - - - - -

The NicoHood firmware for USB devices does not include a serial number. With the absence of a serial number, the operating system can't determine the uniqueness of a device. For my joystick project, I patched the NicoHood HUD classes to include a serial number to fix that error. With the newer Arduino pluggable USB API it should be a lot easier. Also, because the AtMega32U4 has no dedicated chip for USB interaction, the COM port is provided by a virtual USB device inside the AtMega32u4. This virtual COM port generates a new tty port when the device is enumerated.

https://www.arduino.cc/en/Guide/ArduinoLeonardoMicro#toc3

Is this a solution for my problem? Sorry but I am not that tech savvy.
 
The NicoHood firmware for USB devices does not include a serial number. With the absence of a serial number, the operating system can't determine the uniqueness of a device. For my joystick project, I patched the NicoHood HUD classes to include a serial number to fix that error. With the newer Arduino pluggable USB API it should be a lot easier. Also, because the AtMega32U4 has no dedicated chip for USB interaction, the COM port is provided by a virtual USB device inside the AtMega32u4. This virtual COM port generates a new tty port when the device is enumerated.

https://www.arduino.cc/en/Guide/ArduinoLeonardoMicro#toc3

One thing to note/remember is that there's 2 parts to the DIY EDTracker. The serial port is only there for flashing and for GUI communication to do calibration and things like the recentre feature. The actual joystick is reported as a HID device and has nothing to do with the serial driver. In reality, I find that my Windows 7 installation will retain the assigned COM port of a device provided it's plugged into the same port and is of the same bootloader spec.

edit: Oh, and we tried porting to the new Pluggable USB API.... unfortunately there's just no way we can compile to size for the mega32u4 :(

So this will be a random problem? Is there a way for me to make the VID/PID (what ever that is) unique so there will be no further confusions?

Unrelated to the other problem, I am trying to stick the tracker on the bottom of a controller up side down so i can still use the tactile switch to centre it. Top/USB Front works fine but the switch is facing the controller. A Bottom/USB Front setting in the GUI would help everyone trying to stick the tracker to their chin or on the bottom of their pants too! :)

Is this a solution for my problem? Sorry but I am not that tech savvy.

On the VID/PID front, yes, technically. We won't get into the legal debates with USB.org on self-assigning yourself VID/PID combos ;) but let's just say technically it's doable, and if you root around in the Arduino IDE hardware files you'll soon find where it's set ;)

For your upside-down EDTracker you could build a version from source that uses the orientation matrix to configure it as upside-down, sure.
 
Last edited:
One thing to note/remember is that there's 2 parts to the DIY EDTracker. The serial port is only there for flashing and for GUI communication to do calibration and things like the recentre feature. The actual joystick is reported as a HID device and has nothing to do with the serial driver. In reality, I find that my Windows 7 installation will retain the assigned COM port of a device provided it's plugged into the same port and is of the same bootloader spec.

edit: Oh, and we tried porting to the new Pluggable USB API.... unfortunately there's just no way we can compile to size for the mega32u4 :(
I'm just trying to be helpful here. My patch on the NicoHood package involved changing the HID descriptor so it returns a serial number for the USB HID device, so the deviceIdentifier becomes the serialnumber from the firmware of the Arduino, instead of a concatenation of the PID/VID. It doesn't affect the serial port. If you are interested, here's the diff on my bitbucket fork.
 
Oh, I wasn't trying to be argumentative, sorry, don't read that wrong - just saying for anyone else reading/contemplating changes!
 
@pocketmoon
The DIY EDTracker form hobbycomonents
HCKITS0021H: Pro Micro, MPU-9250, Switch, EDTracker PCB and Enclosure

and an older version also with magnetometer but without enclosure

Windows detects them both as: EDTracker EDTracker2
 
Another issue with the opening of the client (on Windows 10). So you have no choice but to double click it to maximise it from the Tasks, as right click and "Open Track" doesn't work...

And then, as described above, when you do double click it, the click "follows though" to the application (icon) that then falls into its slot, so you can open (maximise) EdTracker and another program just trying to open EDTracker...

And all this because when EDTracker minimises for the first time, its hot key feature (usually) doesn't work, so you have to open/minimise it to get that working...

Can someone with Windows 10, right click on their EdTracker icon and select "Open Track" and confirm it doesn't open?

And maybe see if you double click it, if you also, in addition to opening EDTracker, open the icon that then falls into its place in the taskbar?
 
Last edited:
Can someone with Windows 10, right click on their EdTracker icon and select "Open Track" and confirm it doesn't open?

And maybe see if you double click it, if you also, in addition to opening EDTracker, open the icon that then falls into its place in the taskbar?

Opentrack does NOT open, never has AFAIK (for me anyway)

Double clicking icon in tray brings up the UI, clicking the icon that appears in the taskbar minimises the UI back to the tray. Never had a problem with the hot key not working from the initial launch, I've had it tied to both keyboard and a joystick button (not at the same time obviously).
 
Last edited:
Opentrack does NOT open, never has AFAIK

Right clicking on the UI while it's minimised brings up a list of 'Profiles'. Profiles are just a collection of config settings that you can save/update/create. You get two with the UI (Default and Opentrack) but you can create more. The idea is you can create different profiles for different games and then swap between them. The opentrack profile just sets all the scaling values to 1.0 and turns off smoothing.

Double clicking works fine on the couple of Windows 10 machines I have access to (clinging on to 7 as long as possible!)

Cheers,

Rob
 
Riiiiight :)

I see now where the confusion is. I was thinking that the "Opentrack" item was to launch Opentrack but what it is doing is preloading settings into the UI in preparation for use in Opentrack.
Can't believe I missed that LOL :D

Just tried it, it even works!!!! ;)
 
Last edited:
Right clicking on the UI while it's minimised brings up a list of 'Profiles'. Profiles are just a collection of config settings that you can save/update/create. You get two with the UI (Default and Opentrack) but you can create more. The idea is you can create different profiles for different games and then swap between them. The opentrack profile just sets all the scaling values to 1.0 and turns off smoothing.
Ahhh! I construed "Open Track" as "Open EDTracker" :)

Double clicking works fine on the couple of Windows 10 machines I have access to
Well, in my case the icon to the left of EDTracker is RivaTunerStatsServer, which requires one click to maximise.

When I double click EDTracker (to open it), it disappears from the tray, the RivaTunerStatsServer icon moves into its place, and it's then seemingly clicked, and opens too. And I can replicate this using "OneDrive" to! If it's to the left of EDTracker, then when I double click EDTracker, OneDrive's icon moves into EDTrackers place and seems to receive a click so opens!

If I play about with various settings and manage to change the order of the icons so when I maximise EDTracker, an icon (to its left) fills its space that requires two clicks to maximise, all then is OK!

It's as if one of the two clicks EDTracker requires drops into the icon that takes its place in the tray?!


See if on the machine(s) you've tried it on, if the icon to EDTrackers left requires one or two clicks to open. If its two, then I suspect that's why you can't reproduce it maybe!?
 
Last edited:
Suggestion to Rob : how about the icon stays present even when maximised? Then another icon can't move into its place?

Just if there's not an obvious fix for it, like a known bug in .Net or something....
 

dayrth

Volunteer Moderator
This has probably been covered before so I apologise if I am repeating a question. I have been using the ED tracker pro for a long time now on my Windows 7 machine (love it buy the way. Would not want to play without it :) ). Next week I will be upgrading to a new PC and this one will be Windows 10. Are there any issues/problems I need to be looking out for? Do I have to get any different software? I have EDTracker Pro v1.0.0, but to be honest I can't remember the last time I launched it. After the initial setup I've not needed to change anything.
 
Being driverless, Pro behaves better on Windows 10, so you should be fine. Uses the same software as on Windows 7. Firmware 1.0 is still the latest (although Rob may end up putting a new one out soon, I'll leave that with him to announce!)
 

dayrth

Volunteer Moderator
Being driverless, Pro behaves better on Windows 10, so you should be fine. Uses the same software as on Windows 7. Firmware 1.0 is still the latest (although Rob may end up putting a new one out soon, I'll leave that with him to announce!)

That makes life easy. Many thanks.
 
Suggestion to Rob : how about the icon stays present even when maximised? Then another icon can't move into its place?

Just if there's not an obvious fix for it, like a known bug in .Net or something....

Or just make it single click, as seems to be the more normal way?
 
I just attempted to use my DIY head tracker today and it is not showing up in ED even though it is working fine in the calibration window and showing up properly in device manager on com6.
I verified all the settings in ED and all are properly set except HEAD LOOK, (JOY)anything is not an option, everything else looks like the instructions here: http://edtracker.org.uk/index.php/using/game-support/23-elite-dangerous did the latest patch break HeadTracker?
 
Last edited:
Back
Top Bottom