DIY Head Tracker For A Tenner

Damn you were so WRONG apart from having to find drivers for the Arduino as windows was seeing it as a Micro Pro 5V and not a Arduino Micro.

This ED Tracker is working better than my first two normal builds

IMG_20140530_1846041.jpg


I had already checked with the PCB designer Burmster before I made the post just to check If I had missed anything. But put my money on the line to prove it would work.

IMG_20140530_1849231.jpg


As I said you will need to insulate between the switch solder points and the USB socket to prevent shorts and cut off the tails. The Arduino pins under the MPU-6050 do come very close to the circuits and you will want to cut them as well to be on the safe side.

Have cut the all the pins shorter since taking the pictures and would say this build is about 5mm shorter than the normal one. I found it no harder to build than the normal way just need to be able to make clean solder joints.

The board IS a Pro Micro 5V!

As long as you flip the boards there is no issue soldering them on the other side of a through hole carrier board as the pins will be in the correct holes :)
 
in premium beta has anyone experienced any issue with the edtracker, let me tell you some issues I have, from what I have seen in the control menu you cant have the tracker on without having to press a button, so my first problem is normal flying around then I activate the headlook look to see where my destination is, I look central and deactivate the headlook, go into hyperspace, then when I exit hyperspace activate the headlook, now my tracker is either just off to the left or right but not much.

I then deactivate headlook and then travel to the station, upon exiting supercruise, I activate headlook again to see where the station is and this time the tracker is looking far left or far right.

It seems to me each time I go into supercruise or hyperspace, the calibration gets knocked out a bit, I have tested it in normal flight mode and it seems fine with constant switching on and off.

After a while the tracker has a fit and loses, looking left will wrap around to full looking right in the back on the chair in the cockpit, restarted the game and it fixes it a bit, but still wraps around on the left, only way to get it right again is run the edtracker UI and it solves it until next time.

has anyone else had this issue before, I did a full calibration yesterday and followed Rob's calibration to the letter, drift comp -77 everything else on 0 ish.

One other thing I noticed when using the UI my nick Amos was flashing in the top right, I couldn't figure out how did rob know who Iw as lol, it turns out mumble client was doing it, I can post SS of it if you like.

Is there anyway to have the tracker on all the time and not have to use the button to activate and deactivate?

Sorry for essay I though I would try and solve it myself before posting.
 
Hi Amos,

Having to toggle after entering/exiting supercruise or hyperspace etc is a bug in ED (ticket raised). The game seems to loose sync between the state the that input handler thinks Head Look is in and the state the that game engine thinks. I always have to toggle 'off' and then 'on' to being it back.

Regarding yaw, it could be that without the visual feedback (when it toggles off) you can end up looking just to one side of center which will cause the 'auto yaw adjust' to 'drag' things off center. But, drift comp of -77 is huge ! If I turn off the mpu-6050 built in 'auto gyro calibration' I get drift like that.

If you grab the latest calibration sketch and tracker sketch there have been some changes to the way the main offsets are calculated and also fix for a bug which meant that large calibration offsets were not stored properly which may have been effecting you yaw.

The latest sketch also increases the sample rate from the sensor which combined with the Exponential option seems to give the bester results for me.

The best way to workaround the flip bug is to stick the heaphones/hat on first and then plug the thing into usb. That way it starts out with the measured yaw close to zero.

Cheers,

Rob
 
Yeah, 77 sound dubious to me. Obviously myself, Rob and Dorian have been building and calibrating quite a few head trackers over the last month. Pretty much all of mine I've done hover around the -5 to -10 points range. I've never had anything calculate static drift beyond that, and certainly not -77!!
 
yeah sorry guys it was a typo at my end drift comp -0.77 oops

is it ok to unplug it I read somethwere on this thread that the edtracker doens't remember anything, so I just leave it plugged in

Thanks to all of you guys this thread and the community has been fantastic, I will do all I can to get people to know about this project, I will test where I can
 
Last edited:
You can unplug it without a problem. All the drift compensation data as well as the calibration info is stored in eeprom so stays even when you disconnect it from USB.
 
Yeah, 77 sound dubious to me. Obviously myself, Rob and Dorian have been building and calibrating quite a few head trackers over the last month. Pretty much all of mine I've done hover around the -5 to -10 points range. I've never had anything calculate static drift beyond that, and certainly not -77!!

Mine is also about -70 something..

Using the EDTracker2 GUI calibration I did 7 minutes, 8, 3 wait another 7 minutes and kept doing that on the assumption that it would lead to a better calibration over all

Got to -90 before I though that something was fishy

So I unplugged it and restarted the callibration routine and after another 7 minutes it was showing a drift of +20 which I saved to get -70 overall and left it there.

Played for 2 hours last night and it seemed mostly ok. If anything I was getting drift in the y more than anything. But I think this is the headphones moving on my head to be honest


And yes it was blue-tacked down for the calibration :)
 
The secret to a low drift value is good bias compensation using the Calibration sketch. There's a new version of the code uploaded which turns off the mpu-6050 auto gyro calibration, which I've got a hunch is messing with the carefully calculated bias values.

If you want to try the new tracker sketch then you'll need the new calibration sketch as well.

https://github.com/pocketmoon/EDTracker2

I'd be interested in feedback (better! worse!!) and note that the sketch defaults to linear repsonse rather than exponential so you if you prefer the latter you'll need to comment it back in , in the sketch

sleep now :)
 
Mine is also about -70 something..

Using the EDTracker2 GUI calibration I did 7 minutes, 8, 3 wait another 7 minutes and kept doing that on the assumption that it would lead to a better calibration over all

Got to -90 before I though that something was fishy

So I unplugged it and restarted the callibration routine and after another 7 minutes it was showing a drift of +20 which I saved to get -70 overall and left it there.

Played for 2 hours last night and it seemed mostly ok. If anything I was getting drift in the y more than anything. But I think this is the headphones moving on my head to be honest


And yes it was blue-tacked down for the calibration :)

Is your tracker mounted horizontally?
 
i still experience a lot of drift with the edtracker attached to my headset & wearing the headset. when i calculate drift i manage to get down to 0.02 yaw drift and it is very stable for long periods of time, but when wearing it, it drifts a lot within a few minutes (5-10).
https://www.dropbox.com/s/v1t2ax6fo3l9ro5/drift.png
https://www.dropbox.com/s/jqdg6dam1we29t7/drift2.png
https://www.dropbox.com/s/yurad8gldnr7t0x/drift3.png
i'm having the same issue with another unit i built, as with the first one the center continuously drifts to the right.
thanks for the update, i'll try the new sketches right now.

edit: i cannot compile the calibration sketch:
C:\Users\wergor\Documents\Arduino\libraries\InvensenseMotionDriver/inv_mpu.h: In function 'void initialize_mpu()':
C:\Users\wergor\Documents\Arduino\libraries\InvensenseMotionDriver/inv_mpu.h:63: error: too many arguments to function 'void mpu_init()'
EDTrackerIICalibrate:271: error: at this point in file
i also had to rename the folder "library" to "libraries"
edit2: the normal sketch shows the same error:
C:\Users\wergor\Documents\Arduino\libraries\InvensenseMotionDriver/inv_mpu.h: In function 'boolean initialize_mpu()':
C:\Users\wergor\Documents\Arduino\libraries\InvensenseMotionDriver/inv_mpu.h:63: error: too many arguments to function 'void mpu_init()'
EDTrackerII:647: error: at this point in file
 
Last edited:
The secret to a low drift value is good bias compensation using the Calibration sketch. There's a new version of the code uploaded which turns off the mpu-6050 auto gyro calibration, which I've got a hunch is messing with the carefully calculated bias values.

If you want to try the new tracker sketch then you'll need the new calibration sketch as well.

https://github.com/pocketmoon/EDTracker2

I'd be interested in feedback (better! worse!!) and note that the sketch defaults to linear repsonse rather than exponential so you if you prefer the latter you'll need to comment it back in , in the sketch

sleep now :)

Ok tried it but getting

Arduino: 1.5.6-r2 (Windows 7), Board: "Arduino Leonardo"

C:\arduino-1.5.6-r2\libraries\InvensenseMotionDriver/inv_mpu.h: In function 'void initialize_mpu()':
C:\arduino-1.5.6-r2\libraries\InvensenseMotionDriver/inv_mpu.h:63: error: too many arguments to function 'void mpu_init()'
EDTrackerIICalibrate:271: error: at this point in file

This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.

I copied over the new inversemotiondriver you provided in the zip too
 
What did i do wrong?

while calibrating

text in serial monitor

Read offsetsInit MPU6050
Testing Connection
MPU6050 connection failed
Initialising DMP
DMP Initiaised
DMP Initialisation failed: code 1
 
Back
Top Bottom