EDTracker User Guide (Non-Magnetometer Versions)
EDTracker User Guide (Non-Magnetometer Versions)
http://www.edtracker.org.uk/index.php/downloads
EDTracker User Guide v2.0 Non-Magnetometer Devices (MPU-6050) only
1. Contents
2. Introduction .............................................................................................................................................................. 3
3. Disclaimer.................................................................................................................................................................. 3
4. Quick Start................................................................................................................................................................. 4
5. Hardware................................................................................................................................................................... 5
MPU-6050 MEMS Accelerometer & Gyroscope ........................................................................................................... 5
Attaching to your head ................................................................................................................................................. 5
Enclosures and Boxes .................................................................................................................................................... 5
A word on USB cables ................................................................................................................................................... 6
A word on USB ports ..................................................................................................................................................... 6
A word on the button ................................................................................................................................................... 6
A word on temperature ................................................................................................................................................ 6
6. Software Installation ................................................................................................................................................. 7
Sketches, Images and Firmware ................................................................................................................................... 7
Drivers ........................................................................................................................................................................... 7
EDTracker GUI ............................................................................................................................................................... 9
7. Initial Calibration ..................................................................................................................................................... 10
8. Head Tracking Operation ........................................................................................................................................ 13
Flash main firmware ................................................................................................................................................... 13
Calculate drift compensation ...................................................................................................................................... 14
What is drift?........................................................................................................................................................... 14
Performing the compensation calculation.............................................................................................................. 14
9. Configuring Preferences.......................................................................................................................................... 15
Device Orientation ...................................................................................................................................................... 15
Response Mode .......................................................................................................................................................... 15
Axis Sensitivity (Scaling) .............................................................................................................................................. 15
Re-centre Hot Key ....................................................................................................................................................... 15
10. Using in-game ..................................................................................................................................................... 16
Joystick ........................................................................................................................................................................ 16
Auto-centering ............................................................................................................................................................ 16
Position Reset during gameplay.................................................................................................................................. 17
Elite Dangerous Beta ................................................................................................................................................... 17
Other Games ............................................................................................................................................................... 17
Page 2
EDTracker User Guide v2.0 Non-Magnetometer Devices (MPU-6050) only
2. Introduction
The EDTracker is a do-it-yourself electronic device that provides cheap, effective 3-axis head tracking for PC gaming.
It uses a cost effective Invensense MEMS accelerometer and gyroscope coupled with the SparkFun Pro Micro
Arduino development board to provide a small head-mounted device that can track the orientation of your head and
reflect movement to a PC as a simple 3-axis joystick. This allows any software capable of accepting joystick input to
track your head movements and represent that movement in-game.
The construction of the physical device is covered on the website (www.edtracker.org.uk). This manual assumes you
have a constructed and working device.
The source code for the Arduino-compatible development board is open source and is also available via links on the
website. The instructions for setting up a development environment, modifying and compiling your own version of
the code is not covered by this manual, but is part of a separate guide available upon the website. The intention of
this user guide is to cover the more common principles of getting your device up and working with the minimum
effort.
EDTracker has been a great example of a community-driven project and we would like to take this opportunity to
thank everyone who has helped out - in whatever capacity - for their assistance and support.
3. Disclaimer
(Hereafter, “EDTracker” refers to those individuals directly affiliated with EDTracker.org.uk)
The EDTracker software and printed circuit board (or the complete pre-assembled device, where supplied by the
EDTracker development team) is supplied on an as-is basis, without any warranties or support of any kind. EDTracker
does not come with any such warranty, whether oral or written, express or implied. By using the device, you agree
to indemnify EDTracker from any losses, damages or expenses incurred as a result of your use of it. If any support or
advice is offered by the EDTracker team, it is offered on an as-is, best-endeavours basis and does not constitute any
formal agreement contrary to the above.
In short, plain English : this is not intended to represent a commercial-grade product and, whether we built it for you
or you built it yourself, don’t blame us if it doesn’t work, wipes your hard drive or gains self-awareness on August
29th and promptly sells your kids into slavery and destroys all your worldly belongings. Or anything else bad and
nasty. You get the idea ☺. Right, with that out of the way…
Page 3
EDTracker User Guide v2.0 Non-Magnetometer Devices (MPU-6050) only
4. Quick Start
NOTE These instructions are NOT applicable for devices equipped with a magnetometer.
If your device uses an MPU-9150 board (magnetometer) please consult the other
user guide available at :-
http://www.edtracker.org.uk/index.php/downloads/category/3-documentation
If you just want the summary of steps you will need to perform, without the detail, here’s what you need to do. The
detail is then provided in all of the following sections.
“I built the device myself from scratch” “I’ve got an existing device built up for me”
• Launch the GUI • Launch the GUI and configure the
• Flash the calibration firmware into it device for correct orientation, axis and
• Let the device warm up sensitivity settings (as per your
• Calibrate the sensor offsets preference)
• Flash the main firmware into it • Play
• Calculate drift compensation by leaving the • If you find it is drifting to the left or
device over a period of 5+ minutes right quickly, perform the recalibration
• Set up orientation, axis and sensitivity steps outlined on the left
preferences
• Verify joystick operation
• Play
Page 4
EDTracker User Guide v2.0 Non-Magnetometer Devices (MPU-6050) only
5. Hardware
The EDTracker consists of an Arduino-compatible SparkFun Pro Micro development board (or clone), an Invensense
breakout board and a tactile button to feature as a reset switch.
The Pro Micro board typically uses a Micro B USB connector to connect to your PC. A suitably long USB cable will be
required.
MPU-
MPU-6050 MEMS Accelerometer & Gyroscope
The MPU-6050 device does not include a magnetometer, therefore it is important that you flash the correct
firmware into the device – attempting to use the MPU-9150 version of the firmware in a non-magnetometer device
will not cause any damage, but will not function correctly.
You can attach the device on the side also, but the device will need appropriate configuration (this is covered in
detail later).
NOTE While there are no serious voltages or currents passing around the device (it is 5
volt only), do not mount it directly to any metallic or conductive material without
Page 5
EDTracker User Guide v2.0 Non-Magnetometer Devices (MPU-6050) only
1. Some USB 3.0 USB ports can show issues if their drivers are not correctly installed/configured. If the device
does not seem to work in yours, try a USB 2.0 port if you have one.
2. We have heard of mixed results when using the device through a USB hub or wireless extender. Try to plug
the device directly into the PC whenever possible.
3. Windows 7’s implementation of virtual COM ports over USB can be a bit odd, particularly when you’ve got a
lot of devices. Clear out any old device drivers you don’t need using a tool such as USBDeview
(www.nirsoft.net/utils/usb_devices_view.html).
A word on temperature
The accuracy of the device can be affected by large changes in temperature (roughly ±5°C). Allow your device to
warm up before calibrating and also before gameplay; 5 to 10 minutes usually suffices. Your device may need
periodic recalibration, for example between winter and summer months. The temperature of the device is displayed
in the GUI, along with a red graph line showing if it is increasing or decreasing in temperature. Typical temperatures
for a device in an enclosure are ~32deg C.
Page 6
EDTracker User Guide v2.0 Non-Magnetometer Devices (MPU-6050) only
6. Software Installation
If you have received a pre-built device, then it will work as a virtual joystick “as-is” without any need for drivers.
However if you want to adjust any of the settings (sensitivity, mounting position, etc) you will need to install the
drivers and software to change them.
If you have built it yourself or you need to calibrate or flash a device, then you will need to install the relevant drivers
and GUI software also.
Depending on your viewpoint, the software that you flash into the Arduino might be called any or all of the above. In
true Arduino speak, a sketch is the name of the program you develop – typically a load of C code. You then compile
that code into a binary image for flashing into the device. Other people may call this binary image firmware. For the
purposes of this document, and to keep things simple, you can consider them all the same thing.
Drivers
Since the device is simply an Arduino-compatible microcontroller, it uses the standard Arduino drivers. These are
available off the Arduino website as part of the Arduino software download. Alternatively, they can be downloaded
from the EDTracker website, underneath the downloads section.
http://www.edtracker.org.uk/index.php/downloads/category/2-software
Unpack the ZIP file to a local folder. When asked by Windows for the device drivers, you should point it to this folder.
If you wish to manually update the drivers for an existing device, perform the following steps.
Click the Start button and right click on “Computer”. Choose “Properties” to
bring up the System window. Click “Device Manager” in the top left.
Find the “Arduino Micro” device with the warning sign on the icon, right click
it and choose “Update Driver software”. Click the “Browse my computer”
option to locate the driver files on your hard disc (they’re in the Arduino
install directory)…
Page 7
EDTracker User Guide v2.0 Non-Magnetometer Devices (MPU-6050) only
Hopefully you get the message on the left displayed. Your drivers are now
installed. We’re good to go!
Page 8
EDTracker User Guide v2.0 Non-Magnetometer Devices (MPU-6050) only
EDTracker GUI
The EDTracker Graphical User Interface application is used to flash and calibrate your device. It can be downloaded
from the EDTracker website under the Downloads Software section.
Download the GUI and unzip it to a local folder on your PC. Ensure you have installed the Arduino drivers before
using.
The GUI automatically connects to the internet and retrieves available firmwares for your devices. Ensure any
firewalls allow the application to access the internet in order to flash the device.
http://www.edtracker.org.uk/index.php/downloads/category/2-software
NOTE The EDTracker UI requires Windows XP or better and .Net 4.0 or better
http://www.microsoft.com/en-gb/download/details.aspx?id=17851
Page 9
EDTracker User Guide v2.0 Non-Magnetometer Devices (MPU-6050) only
7. Initial Calibration
NOTE: The following instructions are for the non-magnetometer version of the software.
If you purchased a pre-built device from EDTracker.org.uk, this step will already have been performed. If you find
that drift is no longer manageable using ‘Drift Compensation’ (see later section) then it can help to perform this step
yourself.
Plug the device into a free USB port and mount it somewhere flat and still.
Launch the EDTracker GUI application by double-clicking EDTrackerUI4.exe You should be presented with a screen
similar to the following (if your device is not blank, it may look slightly different – the below is for a completely blank
device that has just been assembled, but does not have any firmware loaded into it).
In the ‘Program EDTracker’ section (top left), select the latest “EDTracker2Calib” image – the version numbers are
shown in brackets; the highest number is the latest. In the above example we are choosing version 2.5.3. Then select
the PORT where the device appears (it will show as an Arduino Leonardo or similar).
Click the Flash button. A window will pop up showing progress as the selected code is written to the EDTracker.
Page 10
EDTracker User Guide v2.0 Non-Magnetometer Devices (MPU-6050) only
Occasionally an error will be reported by this window. Close the window and If the selected sketch does not appear
to be running the flash process can be retried.
Once flashed, the device should be re-detected and the screen should change to something similar to the following…
Wait until the red line (temperature) has stabilised; this shows that the device has warmed up. Temperature affects
the calibration so try to get the device up to normal operating conditions first. The Temperature label to the upper
right of the 3D Head will become green when temperature has stabilised.
Page 11
EDTracker User Guide v2.0 Non-Magnetometer Devices (MPU-6050) only
NOTE During the following steps it is VITAL that the device remains completely flat and
still. Clamping the device with a suitable tool, taping it to or holding it under some
! books are all good suggestions. Failure to hold the device flat and still will result in
poor calibration, and poor in-game performance.
When you’re happy the temperature has stabilised, click the “Calculate Bias Values” button. After a short period the
orange and white dots on the crosshairs should move towards the centre. You want to get them within the inner
circle of the crosshairs. This may take several clicks of the ‘Calculate’ button, particularly if you knock or move the
device. Re-click the button as often as you need.
When the two dots are within the inner circle, that’s good enough. You can make fine adjustments to the values
using the + and – buttons until all Gyro and Accel values are zero or close to zero (showing as green).
All changes are applied immediately to the EDTracker which saves them to memory.
Page 12
EDTracker User Guide v2.0 Non-Magnetometer Devices (MPU-6050) only
Flash main
main firmware
Start the GUI (if it is not already running) and select the latest version of the main EDTracker2 firmware from the
drop down list. Generally pick the version at the top of the list (with the largest version number).
Make sure you choose the EDTracker2 image, not the one ending with Calib (these are calibration images).
Once you have flashed in the main firmware and with the device still plugged in, the menu options will now differ
slightly, and the UI will show monitoring of an “EDTrackerII Vx.x” device.
Page 13
EDTracker User Guide v2.0 Non-Magnetometer Devices (MPU-6050) only
The good news is the amount of drift is generally consistent at a given temperature. By leaving the device still for a
period of time, EDTracker monitors how much the drift is and then adjusts for this automatically.
If you skip this step, you may find your device appears to drift off to the left or right over time.
You can repeat this step as many times as you like. You may need to repeat it in the future, particularly if your
environment changes (for example, you experience a very hot or very cold day compared to normal).
NOTE During the following steps it is VITAL that the device remains completely flat and
still. Clamping the device with a suitable tool, taping it to or holding it under some
! books are all good suggestions. Failure to hold the device flat and still will result in
poor calibration, and poor in-game performance.
Click ‘Reset View/Drift Tracking’ and observe the Yaw Drift value. Notice that a timer starts as well to provide details
of how long the measurement has been running.
1. Leave the device alone for 10 minutes or more. Put the kettle on, walk the dog, read the paper, entertain the
kids. When you return, you should see some numbers specified next to the “Yaw Drift” value have averaged
out.
2. Press the SAVE DRIFT COMPENSATION button, which will update the Drift Compensation value to the
current yaw drift.
3. Leave the device for 30 seconds or so. If the Yaw Drift value is less than -0.1 or more than +0.1 then repeat
steps 2 and 3. When it approaches zero (i.e. is between -0.1 and +0.1) you are all finished.
9. Configuring Preferences
The following actions can be performed via the GUI at any time. You can change these at will in accordance with
your preferences.
Device Orientation
You can position the device on the top of your head, or on the sides. You need to set the orientation in the GUI to
coincide with the mounting. By clicking the ROTATE MOUNTING AXIS button, you can cycle between various
descriptions of the device position. Check the movement of the device with the movement of the on-screen head,
and cycle the option until it matches.
If you are using the EDTracker PCB design, the description below the button should hold true. For example,
“Top/USB Right” means the device is on the top of your head, with the USB cable coming out to the right.
Response Mode
The device can output movement in one of two modes – linear or exponential. You can cycle between alternate
modes by clicking the TOGGLE RESPONSE MODE button.
Exponential mode gives reduced responsiveness around the straight-ahead position, but the head movement then
ramps up as you move off-centre. Linear is a more conventional mode where the responsiveness remains the same
across the whole range of movement.
Note that a dead-zone can usually be set in-game if you prefer to have no view motion when looking dead ahead.
Higher values give more in-game movement for physical head movement. By enabling the “Fine Adjust” checkbox
you can make smaller (0.25) adjustments.
Re-
Re-centr
centre Hot Key
Key
You can immediately re-centre the view in-game by pressing the button on top of the EDTracker. Alternatively you
can assign a Function Key to perform the re-centre, e.g. F9
Page 15
EDTracker User Guide v2.0 Non-Magnetometer Devices (MPU-6050) only
Do not perform any calibration of the device in your windows USB Game Controller settings. This may interfere with
its use.
Auto-
Auto-centering
The EDTracker MPU-6050 software has a small degree of “auto centering” built in. If you look straight ahead and
keep still for a moment, the EDTracker will adjust for any small drift it detects. You can see this in action by looking
ahead after pressing the reset button and moving the view very slightly to the left or right. It should ‘spring’ back.
Over the course of gameplay this spring-back helps average out any drift that may accumulate over time, but it does
mean very small head inputs just off-centre should be avoided for prolonged periods (in reality, you very rarely do
this anyway).
Generally it is advised to keep auto centering enabled to one of the preferred strengths (start with medium). Disable
it for use with other head-tracking software such as Opentrack, but be aware that when disabled drift will become
more pronounced if your calibration is not perfect.
! some CPU if not minimised. Minimising the UI will send it to the Icon tray where it
can be retrieved by double clicking on it.
Page 16
EDTracker User Guide v2.0 Non-Magnetometer Devices (MPU-6050) only
If you are seeing very rapid drift to the left or right (but vertical axis performs as expected) then it is highly unlikely
the sensor is faulty – in 99% of cases this is incorrect calibration or you have configured the drift correction to an
incorrect value. Re-tread your steps in the previous section slowly and verify you’ve done it right.
Some tips for those using the EDTracker with Elite: Dangerous
Other Games
EDTracker should work with any game that supports an analogue joystick for headlook input.
In addition, for those games that only support native head tracking protocols such as FreeTrack, TrackIR and FSX, we
can highly recommend the software “Opentrack” by Stanislaw Halik. Instructions for setting up EDTracker with
Opentrack are at the following link :-
http://www.edtracker.org.uk/index.php/using/opentrack
Page 17