DIY Head Tracker For A Tenner

Many thanks, So that would be a mini USB to USB cable?

P.S
I notice your AV , is that Toyah Wilcox? if so you must be as old as I am lol, I remember that pic from a EP single she released way back.
 
Last edited:
Todays Build? Elaborate please?

Todays opentrack works with edtracker and the joystick plugin to give you 3DOF TrackIR emulation. Spline based deadzone and nonlinearity settings, mappable tracker centering and on/off toggle.

The pic I posted earlier shows you the correct joystick axes for edtracker.

EDTrackerOpentrack.jpg

I have my current opentrack.ini available HERE

You have to set the EDtracker UI Tool to linear with 0 scale since all the deadzone and non linearity is done with spline curves.

You will probably want to change your hot keys. I currently use DEL for center and PageUp for on/off toggle. Both mapped to my X52. But I don't use the keyboard for controls in ED.

If it works adjust the mapping to whatever you want. It's quite sensitive without a filter but I didn't need one.
 
Last edited:
Todays opentrack works with edtracker and the joystick plugin to give you 3DOF TrackIR emulation. Spline based deadzone and nonlinearity settings, mappable tracker centering and on/off toggle.

The pic I posted earlier shows you the correct joystick axes for edtracker.

EDTrackerOpentrack.jpg

I have my current opentrack.ini available HERE

You have to set the EDtracker UI Tool to linear with 0 scale since all the deadzone and non linearity is done with spline curves.

You will probably want to change your hot keys. I currently use DEL for center and PageUp for on/off toggle. Both mapped to my X52. But I don't use the keyboard for controls in ED.

If it works adjust the mapping to whatever you want. It's quite sensitive without a filter but I didn't need one.

Excellent, Got it working now, Thanks for the deatailed explanation :)
 
Todays opentrack works with edtracker and the joystick plugin to give you 3DOF TrackIR emulation. Spline based deadzone and nonlinearity settings, mappable tracker centering and on/off toggle.

The pic I posted earlier shows you the correct joystick axes for edtracker.

EDTrackerOpentrack.jpg

I have my current opentrack.ini available HERE

You have to set the EDtracker UI Tool to linear with 0 scale since all the deadzone and non linearity is done with spline curves.

You will probably want to change your hot keys. I currently use DEL for center and PageUp for on/off toggle. Both mapped to my X52. But I don't use the keyboard for controls in ED.

If it works adjust the mapping to whatever you want. It's quite sensitive without a filter but I didn't need one.
So we just need EDTracker's auto centering removed/adjusted?
 
So we just need EDTracker's auto centering removed/adjusted?

oh yeah. I forgot, last night I commented out some code in the EDtrackerII sketch to stop auto centering. I'm not a coder so I just removed what looked about right and made sure it compiled.

I didn't save the sketch but I'm pretty sure I just commented out all these blocks of code (see spoiler below) in EDtrackerII. (To comment out a line just add // to the start of each line and following text should grey out so it is ignored by the compiler).

Code:
 //self centering
      // if we're looking ahead, give or take
      //  and not moving
      //  and pitch is levelish then start to count
      if (outputMode != UI )
      {
        if (fabs(iX) < 3000.0 && fabs(iX - lX) < 5.0 && fabs(iY) < 800)
        {
          ticksInZone++;
          dzX += iX;
        }
        else
        {
          ticksInZone = 0;
          dzX = 0.0;
        }
        lX = iX;

        // if we stayed looking ahead-ish long enough then adjust yaw offset
        if (ticksInZone >= 10)
        {
          // NB this currently causes a small but visible jump in the
          // view. Useful for debugging!
          dzX = dzX * 0.1;
          cx += dzX * 0.1;
          ticksInZone = 0;
          dzX = 0.0;
        }


      }

You can compile it without upload to make sure there are no errors before compiling and uploading to your device.

Maybe the option to disable auto centering can be added to the UI tool. Make things much easier.

----

NOTE: You also have to remove your EDtracker axes from the headlook options inside elite dangerous control settings. Otherwise TrackIR and native ED headlook will try and work simultaneously.

When I have time. I might have to do a proper write up that explains the steps more clearly and separate from this thread. Put it all in one place and more clear. It's really not that hard to do, but with bits of info spread over several posts it's probably a little tricky to follow.
 
Last edited:
oh yeah. I forgot, last night I commented out some code in the EDtrackerII sketch to stop auto centering. I'm not a coder so I just removed what looked about right and made sure it compiled.

I didn't save the sketch but I'm pretty sure I just commented out all these blocks of code (see spoiler below) in EDtrackerII. (To comment out a line just add // to the start of each line and following text should grey out so it is ignored by the compiler).

Code:
 //self centering
      // if we're looking ahead, give or take
      //  and not moving
      //  and pitch is levelish then start to count
      if (outputMode != UI )
      {
        if (fabs(iX) < 3000.0 && fabs(iX - lX) < 5.0 && fabs(iY) < 800)
        {
          ticksInZone++;
          dzX += iX;
        }
        else
        {
          ticksInZone = 0;
          dzX = 0.0;
        }
        lX = iX;

        // if we stayed looking ahead-ish long enough then adjust yaw offset
        if (ticksInZone >= 10)
        {
          // NB this currently causes a small but visible jump in the
          // view. Useful for debugging!
          dzX = dzX * 0.1;
          cx += dzX * 0.1;
          ticksInZone = 0;
          dzX = 0.0;
        }


      }

You can compile it without upload to make sure there are no errors before compiling and uploading to your device.
I wouldn't feel comfortable doing that.

Maybe the option to disable auto centering can be added to the UI tool. Make things much easier.
Fingers crossed please!
 
I emailed pocketmoon who coded the firmware for the tracker. Included the opentrack info and requested a auto recenter on/off toggle in the UItool.

Fingers crossed I will hear back soon. I'm not sure if he is the author of the UItool too or whether that is one of the other two Edtracker developers.
 
I emailed pocketmoon who coded the firmware for the tracker. Included the opentrack info and requested a auto recenter on/off toggle in the UItool.

Fingers crossed I will hear back soon. I'm not sure if he is the author of the UItool too or whether that is one of the other two Edtracker developers.

Fingers crossed :)

As regards the autocentering tool, my gut feel is it might be recentering too quickly? I believe it comes to the conclusing in just a fraction of a second, where it would seem to possibly make more sense to do it over a few seconds?

ie: If you are looking just off center for a couple of seconds then recenter.
 
Thanks for the info Antmax.
I wanted to try this out and downloaded EDtrackerII.ino from pocketmoons github but wasn't able to complie this even in an untouched form. There's a bunch of errors starting with the error;
Code:
edtracker2:185: error: 'TrackState_t' does not name a type
I just assume I'm doing it wrong. Could someone point me in the correct direction? :)
 
Phew, ok, just caught up on several pages of action after being away on hols for 4 days, so sorry that there's been no official response on here from the EDTracker bunch... I think I am the unofficial spokesman :)

So, to clarify...

I *was* looking into the Opentrack issues but I have to pass on massive thanks to Antmax who, in my absence, has done it all for me, liasing with sthalik (the developer of opentrack) to figure out what the issue was and fix it.

It's clear that the EDTracker code doesn't need to auto-centring aspect when in use with Opentrack, so Rob is now aware and is working on making it a config option in the EDTracker GUI so you can flick it on or off. I think I might also look at changing the auto-centring so that it applies over a longer period of time than it currently does, as it is obviously causing some people issues. Magnetometer integration is something I am looking at too, which fits in the same sort of code area, so I can probably kill two birds with one stone there.

As a short-term fix, I can build a non-centring version of the firmware and put it up on the download site so you can flash it in with the GUI tool and command line tool, for those who are eager to try it out with Opentrack.

Great work guys... ;) thankyou for making my holiday even more enjoyable by coming back to a resolved issue! Wow, when does that ever happen?!

Cheers,
Dan
 
Phew, ok, just caught up on several pages of action after being away on hols for 4 days, so sorry that there's been no official response on here from the EDTracker bunch... I think I am the unofficial spokesman :)

So, to clarify...

I *was* looking into the Opentrack issues but I have to pass on massive thanks to Antmax who, in my absence, has done it all for me, liasing with sthalik (the developer of opentrack) to figure out what the issue was and fix it.

It's clear that the EDTracker code doesn't need to auto-centring aspect when in use with Opentrack, so Rob is now aware and is working on making it a config option in the EDTracker GUI so you can flick it on or off. I think I might also look at changing the auto-centring so that it applies over a longer period of time than it currently does, as it is obviously causing some people issues. Magnetometer integration is something I am looking at too, which fits in the same sort of code area, so I can probably kill two birds with one stone there.

As a short-term fix, I can build a non-centring version of the firmware and put it up on the download site so you can flash it in with the GUI tool and command line tool, for those who are eager to try it out with Opentrack.

Great work guys... ;) thankyou for making my holiday even more enjoyable by coming back to a resolved issue! Wow, when does that ever happen?!

Cheers,
Dan

Thanks :)

I would say don't go out of your way to create a standalone version. I'm sure people are happy till there's just an option to turn it on/off? ie: I'm sure people don't want you using up more of your time than necessary when we can just wait instead?

Many thanks!!!!
 
NOTE: You also have to remove your EDtracker axes from the headlook options inside elite dangerous control settings. Otherwise TrackIR and native ED headlook will try and work simultaneously.

When I have time. I might have to do a proper write up that explains the steps more clearly and separate from this thread. Put it all in one place and more clear. It's really not that hard to do, but with bits of info spread over several posts it's probably a little tricky to follow.

Excellent. I've managed to get mine working now, although I had to set the EDTracker UI scale values to 1, rather than 0, otherwise OpenTrack doesn't show any movement.

I love how you can quickly tweak the curves while ED is running to fine tune it to how far you want to turn your head. It also turns out that I don't seem to tilt my head to the side without nodding slightly. :)

The mapping the reset and on/off to joystick buttons is damn fine! This is necessary as I'm still getting drift problems. I do need to re-do the drift calibration following the reflash of the 'non-auto-centre' version of the sketch, so hopefully, this will improve.

Thanks again Antmax. Have some lovverly rep. :cool:
 
The mapping the reset and on/off to joystick buttons is damn fine! This is necessary as I'm still getting drift problems. I do need to re-do the drift calibration following the reflash of the 'non-auto-centre' version of the sketch, so hopefully, this will improve.
Confused - Isn't the setting of the sensitivity and the future auto-centering yes/no option autonomous from the drift testing/compensation?

ie: Surely you can adjust all those settings without having to do a 10-20min drift compensation test again as part of it?
 
The drift compensation should remain valid so long as the orientation of the device is the same and ambient temperature is *roughly* the same (a difference of a couple of degrees doesn't seem to make much difference to me). But with the auto-recentering turned off it will be all the more important to get the drift compensation accurate.

To be honest, I think a device with it disabled will be more hassle, you'll be pressing that mapped button in Opentrack all the bloody time (well, you know what I mean). I think what's needed is the auto-centering feature is just toned down, so that it's not so immediate, but averaged out over a longer period of time. Easy enough a change ;)
 
I think what's needed is the auto-centering feature is just toned down, so that it's not so immediate, but averaged out over a longer period of time. Easy enough a change ;)

That would seem to make sense. And I guess an option to turn it off just in case would be perfect.

As I've said in a couple of posts, I think I can show the auto-centering causing issues just by moving my view across the monitor at 2-3cm per second until I get across the monitor someway; The auto-centering ignores the head movement.
 
Yep, what you guys are explaining is definitely possible - if you are very slight with your head movements around the dead centre position; if you don't make a decided *move* to the left or right but are just hovering your head just off-centre, then it's not enough to break the "boundary window" (for want of another phrase) of what's considered dead ahead - so it thinks the device is drifting and corrects it.

I never hit the problem, but to be honest it's going to be very specific to people's sensitivity settings, screen position and play style. It sounds a cop-out I know, I don't mean it that way, but there is a degree of adapting your head movement style to avoid it. But we can do better, we can make it average out better - and like you say, disable it for those who don't want it.

When the mag support comes along, I would see it being disabled anyway.
 
Yep, what you guys are explaining is definitely possible - if you are very slight with your head movements around the dead centre position; if you don't make a decided *move* to the left or right but are just hovering your head just off-centre, then it's not enough to break the "boundary window" (for want of another phrase) of what's considered dead ahead - so it thinks the device is drifting and corrects it.

I never hit the problem, but to be honest it's going to be very specific to people's sensitivity settings, screen position and play style. It sounds a cop-out I know, I don't mean it that way, but there is a degree of adapting your head movement style to avoid it. But we can do better, we can make it average out better - and like you say, disable it for those who don't want it.

When the mag support comes along, I would see it being disabled anyway.
I think your idea of simply testing over longer periods could improve it.

If it's testing every fraction of a second, a slow movement of the head will be ignored and the autocentering will slowly get things wrong. ie: Over the course of 4-5 seconds I can move my vision across my monitor a good 15-20cm, without EDTracker acknowledging it - Autocentering at work? I can then move my vision (quickly) back to the center of the monitor, and EDTracker is now tens of degrees off in the wrong direction.

In the heat of battle, this movement (following something across the screen slowly) is of course subconscious.

If the autocentering is polled over longer periods, eg: X second(s), then it would see the movement and not autocenter (hopefully).
 
Back
Top Bottom