The MPU-6050 needs to warm up for 10-15 minutes before the gyro/accelerometer outputs really settle down. This can be a right pain if you’ve spend time carefully calibrating your EDTracker only for it to drift for 10 minutes when you first plug it in, like this (temperature in red, yaw drift in blue):
The next sketch release will take a ‘no motion’ snapshot when the tracker is first plugged in, recording the initial temperature and yaw drift. It will then interpolate drift compensation between the initial value required and the stored value as the tracker warms up. So how does it look ? Awesome!
It isn’t perfect as the tracker doesn’t store the temperature at which the main drift compensation was saved. So I’ve estimated 28 degrees in the test sketch which look like it’s a couple of degrees out. Will need a minor update the the UI to store the drift compensation temperature into EEPROM.
New UI and sketches available …. soon.
(Also have a wireless EDTracker working nicely – buts that’s not soon. soonish. but not soon)
A cool thing – an ARM Cortex 5 based dev board loaded with sensors, including magnetometer, gyro and accelerometer all for around £10! Bargain.
May be a bit big to strap to your head though…
STL Files available here for both slim/flat/noodle type USB cables and also standard cables.
Seems there’s a bug in Processing whereby if you export a program the serial port libs don’t work and the app hangs. Sucks. Workaround is to install Processing itself and the required library (toxiclibs) and then build/run the EDTRacker UI from scratch.
On a positive note I think I’ve found a way of using the horribly noisy magnetometer on the MPU-9150 for zero drift use. Having the auto-drift compensation in the existing V2.9 sketch means there’s only marginal benefit paying more for the MPU9150.
Also had a quick blast with Rise Of Flight and rFactor2 both which support head look joystick bindings and therefore support EDTRacker 🙂 Rise Of Flight is very pretty. Now if I can find my old Falcon 4 DVD…
Download and install Processing from https://processing.org/download/?processing
Download toxiclibs library from http://hg.postspectacular.com/toxiclibs/downloads/toxiclibs-complete-0020.zip
Unzip these under <my docs>/Processing/libraries
MyDocs->Processing->libraries ->toxiclibs_p5 etc
Create a new folder: <my docs>/Processing/EDTrackerUtil
Copy the source files from the github zip (https://github.com/pocketmoon/EDTracker2/archive/master.zip ) to the new EDTrackerUtil folder above
i.e the files in the zip in folder EDTracker2-master\UI\source
Open EDTrackerUtil.pde in Processing hit Run |>
I’ve had enough of Processing now. It’s very quick for prototyping but sucks for creating applications that will run for everyone. UI will now be .Net or perhaps Unity
 15/06 Fixed flip/180 degree issue. Add ability to set bias to factory vaues.
 22:37 Github being a pain but should be good to go now!
 21:00 ish Github updating within the hour with new code so check back soon…
There is an updated UI, Calibration sketch, Tracker sketch and arduino InvensenseMotionDriver Library.
More robust. Smart scan of com ports for ED Tracker (see note above).
- A Larger window ‘cos we’re showing more stuff
- All RAW Gyro and Accel values are now show
- Enable Accel bias values to be calculated individually.
- Added temperature to graph – make sure the sensor has ‘warmed up’ before bias calcs.
N.B Lated UI works with latest calibration sketch (2.2 or better) and latest tracker sketch (2.9 or later) only.
- Latest sketches copied under <you docs>/Arduino/
- Latest InvensenseMotionDriver library copied to <arduino ide>/library/
- Latest UI folder placed somwhere
- Load the EDTrackerIICalibration sketch to the EDTracker using the Arduino IDE
Steps to calculate bias values:
- Ensure sensor is a flat and as still as possible
- Wait for sensor to warm up (temperature shown on red line – can take 10 mins or more)
- Hit 9 and wait 5 second or so for calibration to finish
- Repeat step 3 until all Raw Gyro values are 0.
- Hit x to select Accel X Axis only
- Hit 9 to recalibrate. Repeat until reading +/- single digits. value will vary quickly but should be between -10 & 10)
- Hit y and Repeat steps 5 to 6 for the y axis
- Hit z and repeat but aim for 16380 +/- 10
- Q to quit.
Tracker Final Setup
- Load the EDTrackerII sketch to the ED Tracker using the Arduino IDE
- Put it on top of your head
Final Setup Steps
- Run the UI
- Move your head to check that the tracker is active.
- Hit 5 to set the orientation correctly – head should mirror you movements
- Hit 6 to select and save either Linear or Exponential response mappings.
- Hit 3 to recenter the head
- Wait a few minutes
- Hit 8 to save yaw Drift Compensation
- Repeat steps 5 to 7 if needed (drift should be less than +/- 1.0)
- Q to quit
Play Elite Dangerous!!