DIY Head Tracker For A Tenner

And my wireless head tracker is working. :)


It works a lot better than it looks. The PCB is quite big, 50x43mm, and I can't make it much small er because of the size of the battery. I picked a lithium CR123A "photo" battery after I realized that the large coin cells I wanted to use originally can't provide enough current for the circuit. AA or AAAs would be too big. And I didn't want to make a rechargeable circuit with LiIon or LiPo batteries. The PCB is stuck to the headband with gluegun goo.

Very cool. I probably would have looked into RC lipo batteries like these which are small and flat and might sit under the board.

http://www.valuehobby.com/power-systems/batteries.html?cat=131

Would need a inexpensive UBEC to down the voltage. Smaller batteries are available but they are 3.7v so probably too low.
 
Thanks guys!

Have you investigated any power saving sleep type tricks on the microcontroller?

I planned to do it initially, but it turns out that it only works for a while. The microcontroller goes to sleep and the interrupt request from the MPU should wake it up. And it does... most of the time. Usually it works fine for 5-10 minutes and then just stops responding to the interrupts. So, I decided to just poll the MPU's IRQ line. The sleep config code is all commented out at the moment, and maybe I'll go back to investigate this some more. Until then, I'll just replace the batteries a little more often. The CR123A has a capacity of about 1400mAh and the circuit draws about 8-10mA on average without the sleep mode optimisations. So, in theory it should work for a few days non-stop. But I still have to test this, I only started using it last night.

Out of interest, what did you write the program with?

Notepad++ and SDCC (Small Device C Compiler) for the firmwares (dongle and tracker) and of course, Visual Studio for the config program. I really like SDCC, it's a small but very usable compiler. I was afraid it will give me trouble, but I didn't have any problem with it. And I even used a nightly build, not the official release.

Question for you, does it run the software on the device with an Arduino chip (can't see one from the pictures) or does it use the windows app?

The windows program is just used to configure and monitor the dongle. The dongle and the tracker don't need it after the calibration/configuration. There is no Atmel AVR chip on the board, but there are two microcontrollers in the system: Nordic nRF24LE1 on the tracker and nRF24LU1+ on the USB dongle. They do the processing that the Arduino chip does on the ED Tracker. The microcontroller on the tracker configures the MPU-6050, does the initial calibration, reads the raw data from the MPU and sends it over the radio. The chip on the dongle does the rest: the conversion from quaternions to XYZ, drift compensation and recentering. That part is pretty much a copy of pocketmoon's Arduino code. And of course the dongle also does the USB part.

I've had a look through the files and can't find a schemetic or circuit diagram - is it a secret?

No, of course it's not secret :) You probably missed it, it's right there in the root of the repository. KiCad format, but you need a recent version of KiCad to open the files :)

http://wireless-head-tracker.googlecode.com/svn/trunk/circuit/

Very cool. I probably would have looked into RC lipo batteries like these which are small and flat and might sit under the board.

Would need a inexpensive UBEC to down the voltage. Smaller batteries are available but they are 3.7v so probably too low.

Actually, the CR123A has a nominal voltage of 3V. It starts off at 3.2V, then quickly drops to 3V, and then stays there for a while until if goes bellow 2.4V when it dies. And that is great because I wanted to have no voltage regulator in the circuit to save power. I even desoldered the regulator on the MPU to power it directly from the battery. The nRF24LE1 has a supply range of 1.9V-3.4V and the MPU 2.4V-3.4V, so I don't need a regulator at all. I can power both chips directly from the battery! But I do have a reverse-voltage protection MOSFET in the circuit in case I put the battery in the wrong way around.

RC LiPos would need regulation to lower the voltage to around 3V needed by the circuit. It makes things more complicated.
 
Last edited:
And my wireless head tracker is working. :)

front.jpg

Think you should add a battery on/off switch to the design if you plan on running from a normal battery. But nearly 6 days of useage (140 hours) is good.
 
Was wondering what that was, but sound like you have covered everything.

Will have to see if I can manage to get the part together and build one myself.
 
Hi all, I was just about to make my own FreeTrack system but this sounds much better!

So a quick question as I've just stumbled across this thread and I didn't want to have to read through all 193 pages, but can I order one of these devices from somewhere in the UK?

http://edtracker.org.uk <-- They sell the PCB ready to go. All you need to do is get a USB cable and mount it on your head/headset. See "EDTracker" link in my sig.
 
edtracker problems

Hi all,

After some advice/troubleshooting for my edtracker. Iv got the custom PCB and the components soldered on, my PC recognises the device after iv install the drivers. I flash with the calibration firmware fine, but i dont get any readings from the gyroscope. Have i done something wrong?

on the controller itself there is a green light and a constantly flashing yellow light.

Any ideas?

Iv tried with the older firmware etc. Iv reflashed many times but always the same. Any help would be greatly appreciated,

Thanks
 
Need help, please. I have just received an EDTracker, built by the guys at EDTracker. I calibrated it and got the two dots almost perfectly aligned. The GUI showed the image of a head moving properly as I moved the tracker BUT I cannot get Elite Dangerous to bind to the tracker. I have gone into controls and cleared the previous headlook bindings and got the Elite software to ask for the key to move the headlook up and down and --- nothing. When I move the tracked in the Y plane th control is not being recognised. Nothing happens.

I am using the correct driver for the device. Windows 8.1 identifies the edtracker as working properly. The interaction with the GUI indicates to me the device is working. I have the device connected to a USB2 port, it does not work when connected to a USB3 port.

Please stop me pulling my hair out and tell me what I am doing wrong.
 
Need help, please. I have just received an EDTracker, built by the guys at EDTracker. I calibrated it and got the two dots almost perfectly aligned. The GUI showed the image of a head moving properly as I moved the tracker BUT I cannot get Elite Dangerous to bind to the tracker. I have gone into controls and cleared the previous headlook bindings and got the Elite software to ask for the key to move the headlook up and down and --- nothing. When I move the tracked in the Y plane th control is not being recognised. Nothing happens.

I am using the correct driver for the device. Windows 8.1 identifies the edtracker as working properly. The interaction with the GUI indicates to me the device is working. I have the device connected to a USB2 port, it does not work when connected to a USB3 port.

Please stop me pulling my hair out and tell me what I am doing wrong.

To clarify - So in game controllers you can see the EdTracker is working (ie: the axis changing as you move it)? But when you then go into ED and controller settings and try and set an axis control (for head look) and move the EDTracker, it doesn't accept it?
 
The GUI software that comes with the edtracker works. As I move the tracker the image of the 3D head moves. But the tracker does not bind with the controls in Elite Damgerous.
 
The GUI software that comes with the edtracker works. As I move the tracker the image of the 3D head moves. But the tracker does not bind with the controls in Elite Damgerous.

Are you trying to bind it with the headlook axis or the headlook up/down controls? Because you should bind them to the axis.
 
The GUI software that comes with the edtracker works. As I move the tracker the image of the 3D head moves. But the tracker does not bind with the controls in Elite Damgerous.

And can you see it working as a game controller (in windows)? ie: As you move it around you can see the axis moving?
 
Have not tried that. What do I do to see it working as a games controller in Windows?

In Windows, simply go into your Control Panel and into Game Controllers. You should see your joysticks/controllers listed. EDTracker should be in there too.

You can click it and go into properties (I think - or one of the options for it) and see all the axis in realtime.

If it's not shown as a game controller, or is not registering movement, there's your problem.
 
Back
Top Bottom