ED Tracker 2.9 (Friday 13th)

A very helpful chap (whose name escapes me, but he knew his **** ;] ) at Lavecon explained to me, and while I might get the technical details wrong, I think the jist of it was...

You need to uninstall the drivers and re-install them, but they don't get tallied to the device if it's already been plugged into a port because it gets a unique GUID assigned based on that specific port (and the USB VID/PID combination, plus other stuff specific to the device I suspect). That borked device tallied to that GUID will be forever borked until you can uninstall the drivers and re-install them, but you can't because the device isn't recognised - catch 22.

The easiest approach is to just try a different USB port that's never had that type of device plugged in; it will get recognised as a new device (new GUID) and you can attempt the driver install again. Interestingly, after this, the original USB port is ok.

There was some approach you could use with disabling devices in the Device Manager, which allowed you to update/remove the drivers, but it appeared the simple approach of trying a different USB port was the easiest for most!

It seems the USB driver stack in Windows isn't all that great; I've seen many a thread on here about some sort of clean-up tool to fix issues like this. Would love someone more in the know to explain it all!
 
Good news. My wireless EDTracker seems to be working. :) When I say 'working' I mean I had it calibrate itself and send sensor information to the USB receiver/dongle. The USB dongle enumerates as a simple 3 axis joystick when plugged in (not a composite device), and then it sends the processed sensor information to the PC in the form of X, Y and Z joystick axis. Drivers are not necessary since this is a simple HID device.

At the moment, it works very poorly. There's lots of drift and the scaling factors are horrible, but all that is easy to fix compared to what I've already done. I will simply copy most of the arduino code written by the EDtracker team that handles these.

This is how the prototype looks like at the moment (sorry for the awful image quality):

edw.jpg

I've added a home-made arduino based EDtracker for reference. My PCB has a lithium battery holder on the bottom side (for CR2032 battery) - that's the little wavy thing between the black and red wire. I haven't used these batteries with it yet, I just use the Duracell AAs for testing. Hence the AA battery holder. I still haven't done the low power optimizations, but that should also be easy. You can also see the USB dongle on that image.

I plan to make a smaller PCB for the next revision, but it can not be much smaller. The limiting factor is the battery size. I'm also thinking about using a larger battery (CR2450, for instance) which has about 3 times the capacity of a CR2032 but is also 4mm larger, more expensive and more difficult to find.

The bad news: this is not Arduino, which means the firmware is not user upgradeable. You need a flash programmer to do that. However, if I get this working properly, it should not be necessary to upgrade.

Also, this will cost at least twice as much as the arduino based EDtracker and probably more.

But all in all, I'm happy :) Fun times ahead.

Btw, is anyone's interested in the code and KiCad schematics and the prototype PCB: https://code.google.com/p/edtracker-nrf/
 
Has anyone noticed an issue when booting up a PC with the device attached? I'm not sure what causes it but the Windows Explorer process is hammering the CPU at 100%. When I can eventually get Task Manager up and restart the Windows Explorer process, everything seems fine.

An annoying thing for me, which could be a peculiarity of my machine, is that even when the machine is switched off, the tracker is still lit up like a Christmas tree...complete with flashing yellow light. Has anyone else experienced this?

Thanks

EDIT: I forgot one thing...previously, it had always been detected as Micro, but after restarting it is Leonardo. I think I'll give the different USB port/driver thing a try. Hopefully, my noodle cable will turn up tomorrow too.
 
Last edited:
I have successfully loaded and run Calibrate. Dots nicely centred now.

The next error occurs when verifying EDtrackerII;

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

EDTrackerII:166: error: 'TrackState_t' does not name a type
EDTrackerII.ino: In function 'void loop()':
EDTrackerII:431: error: 'joySt' was not declared in this scope
EDTrackerII:449: error: 'Tracker' was not declared in this scope

I assume it is will be another missing file, any clues?
 
Arduino IDE is now on version 1.5.7 and throwing the following error messages:

without the EDTracker2 Arduino IDE custom device

Code:
Arduino: 1.5.7 (Windows 7), Board: "Arduino Micro"

Build options changed, rebuilding all

Using library EEPROM in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM (legacy)

Using library Wire in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire (legacy)

Using library I2Cdev in folder: C:\Users\ABC\Documents\Arduino\libraries\I2Cdev (legacy)

Using library InvensenseMotionDriver in folder: C:\Users\ABC\Documents\Arduino\libraries\InvensenseMotionDriver (legacy)



C:\Program Files (x86)\Arduino/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=157 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 -DUSB_MANUFACTURER= -DUSB_PRODUCT="Arduino Micro" -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\micro -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire -IC:\Users\ABC\Documents\Arduino\libraries\I2Cdev -IC:\Users\ABC\Documents\Arduino\libraries\InvensenseMotionDriver C:\Users\ABC\AppData\Local\Temp\build4311173225841150552.tmp\EDTrackerII.cpp -o C:\Users\ABC\AppData\Local\Temp\build4311173225841150552.tmp\EDTrackerII.cpp.o 

EDTrackerII.ino:10:21: error: variable 'infoString' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

with the EDTracker2 Arduino IDE custom device
Code:
Arduino: 1.5.7 (Windows 7), Board: "EDTracker2"

Third-party platform.txt does not define compiler.path. Please report this to the third-party hardware maintainer.

Using library EEPROM in folder: C:\Program Files (x86)\Arduino\hardware\EDTracker2\avr\libraries\EEPROM (legacy)

Using library Wire in folder: C:\Program Files (x86)\Arduino\hardware\EDTracker2\avr\libraries\Wire (legacy)

Using library I2Cdev in folder: C:\Program Files (x86)\Arduino\hardware\EDTracker2\avr\libraries\I2Cdev (legacy)

Using library InvensenseMotionDriver in folder: C:\Program Files (x86)\Arduino\hardware\EDTracker2\avr\libraries\InvensenseMotionDriver (legacy)



C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=157 -DARDUINO_AVR_EDTRACKER2 -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 -DUSB_MANUFACTURER= -DUSB_PRODUCT="EDTracker2" -IC:\Program Files (x86)\Arduino\hardware\EDTracker2\avr\cores\EDTracker2 -IC:\Program Files (x86)\Arduino\hardware\EDTracker2\avr\variants\EDTracker2 -IC:\Program Files (x86)\Arduino\hardware\EDTracker2\avr\libraries\EEPROM -IC:\Program Files (x86)\Arduino\hardware\EDTracker2\avr\libraries\Wire -IC:\Program Files (x86)\Arduino\hardware\EDTracker2\avr\libraries\I2Cdev -IC:\Program Files (x86)\Arduino\hardware\EDTracker2\avr\libraries\InvensenseMotionDriver C:\Users\ABC\AppData\Local\Temp\build7497860208639474305.tmp\EDTrackerII.cpp -o C:\Users\ABC\AppData\Local\Temp\build7497860208639474305.tmp\EDTrackerII.cpp.o 

avr-g++: error: Files: No such file or directory
avr-g++: error: (x86)ArduinohardwareEDTracker2avrcoresEDTracker2 -IC:Program: No such file or directory
avr-g++: error: Files: No such file or directory
avr-g++: error: (x86)ArduinohardwareEDTracker2avrvariantsEDTracker2 -IC:Program: No such file or directory
avr-g++: error: Files: No such file or directory
avr-g++: error: (x86)ArduinohardwareEDTracker2avrlibrariesEEPROM -IC:Program: No such file or directory
avr-g++: error: Files: No such file or directory
avr-g++: error: (x86)ArduinohardwareEDTracker2avrlibrariesWire -IC:Program: No such file or directory
avr-g++: error: Files: No such file or directory
avr-g++: error: (x86)ArduinohardwareEDTracker2avrlibrariesI2Cdev -IC:Program: No such file or directory
avr-g++: error: Files: No such file or directory
avr-g++: error: (x86)ArduinohardwareEDTracker2avrlibrariesInvensenseMotionDriver C:\Users\ABC\AppData\Local\Temp\build7497860208639474305.tmp\EDTrackerII.cpp -o C:\Users\ABC\AppData\Local\Temp\build7497860208639474305.tmp\EDTrackerII.cpp.o: No such file or directory
avr-g++: fatal error: no input files
compilation terminated.

It works just fine with IDE version 1.5.6-r2.
 
Has anyone noticed an issue when booting up a PC with the device attached? I'm not sure what causes it but the Windows Explorer process is hammering the CPU at 100%. When I can eventually get Task Manager up and restart the Windows Explorer process, everything seems fine.

Not noticed this with my ED Tracker and I always leave it plug in.

An annoying thing for me, which could be a peculiarity of my machine, is that even when the machine is switched off, the tracker is still lit up like a Christmas tree...complete with flashing yellow light. Has anyone else experienced this?

My ED Tracker is plug in to the front USB 3 port and doesn't power down for me either. Its the way some PCs work and I use this to good used to keep my phone charging while my PC is off.
 
My ED Tracker is plug in to the front USB 3 port and doesn't power down for me either. Its the way some PCs work and I use this to good used to keep my phone charging while my PC is off.

Ah, I have mine plugged in the front while I was testing/configuring. I plan on moving it to the back when m'noodle cable arrives. Hopefully, that'll shut it down. Thanks.
 
Have to say congratulations on the effort with this project folks.

I've followed the threads on you working on this and now met the team at Lavecon and was suitably impressed. My only regret is I didn't get chance to purchase one from you! Let me know when and where I can next time and I'll sort out doing so.

Thanks for coming to the event too, you were all fantastic.
 
Ah, I have mine plugged in the front while I was testing/configuring. I plan on moving it to the back when m'noodle cable arrives. Hopefully, that'll shut it down. Thanks.

As long as the programme running on the Arduino doesn't crash and stop working its not a problem to have it always on. In fact it might be useful as it will mean that its always warmed up that will help with the drift.
 
Have to say congratulations on the effort with this project folks.

I've followed the threads on you working on this and now met the team at Lavecon and was suitably impressed. My only regret is I didn't get chance to purchase one from you! Let me know when and where I can next time and I'll sort out doing so.

Thanks for coming to the event too, you were all fantastic.

Cheers chap, it was great to meet you too! We'll put one aside for you once we've worked through the orders and re-stocked on bits ;) !!

On the previous posts about 1.5.7/etc, I (or Rob, probably) will take a look tomorrow. I'm trying not to get too sidetracked as I'm really trying to get this update utility out this week... in between work being hectic too!
 
Arduino IDE is now on version 1.5.7 and throwing the following error messages:

without the EDTracker2 Arduino IDE custom device

Code:
Arduino: 1.5.7 (Windows 7), Board: "Arduino Micro"

Build options changed, rebuilding all

Using library EEPROM in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM (legacy)

Using library Wire in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire (legacy)

Using library I2Cdev in folder: C:\Users\ABC\Documents\Arduino\libraries\I2Cdev (legacy)

Using library InvensenseMotionDriver in folder: C:\Users\ABC\Documents\Arduino\libraries\InvensenseMotionDriver (legacy)



C:\Program Files (x86)\Arduino/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=157 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 -DUSB_MANUFACTURER= -DUSB_PRODUCT="Arduino Micro" -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\micro -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire -IC:\Users\ABC\Documents\Arduino\libraries\I2Cdev -IC:\Users\ABC\Documents\Arduino\libraries\InvensenseMotionDriver C:\Users\ABC\AppData\Local\Temp\build4311173225841150552.tmp\EDTrackerII.cpp -o C:\Users\ABC\AppData\Local\Temp\build4311173225841150552.tmp\EDTrackerII.cpp.o 

EDTrackerII.ino:10:21: error: variable 'infoString' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

with the EDTracker2 Arduino IDE custom device
Code:
Arduino: 1.5.7 (Windows 7), Board: "EDTracker2"

Third-party platform.txt does not define compiler.path. Please report this to the third-party hardware maintainer.

Using library EEPROM in folder: C:\Program Files (x86)\Arduino\hardware\EDTracker2\avr\libraries\EEPROM (legacy)

Using library Wire in folder: C:\Program Files (x86)\Arduino\hardware\EDTracker2\avr\libraries\Wire (legacy)

Using library I2Cdev in folder: C:\Program Files (x86)\Arduino\hardware\EDTracker2\avr\libraries\I2Cdev (legacy)

Using library InvensenseMotionDriver in folder: C:\Program Files (x86)\Arduino\hardware\EDTracker2\avr\libraries\InvensenseMotionDriver (legacy)



C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=157 -DARDUINO_AVR_EDTRACKER2 -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 -DUSB_MANUFACTURER= -DUSB_PRODUCT="EDTracker2" -IC:\Program Files (x86)\Arduino\hardware\EDTracker2\avr\cores\EDTracker2 -IC:\Program Files (x86)\Arduino\hardware\EDTracker2\avr\variants\EDTracker2 -IC:\Program Files (x86)\Arduino\hardware\EDTracker2\avr\libraries\EEPROM -IC:\Program Files (x86)\Arduino\hardware\EDTracker2\avr\libraries\Wire -IC:\Program Files (x86)\Arduino\hardware\EDTracker2\avr\libraries\I2Cdev -IC:\Program Files (x86)\Arduino\hardware\EDTracker2\avr\libraries\InvensenseMotionDriver C:\Users\ABC\AppData\Local\Temp\build7497860208639474305.tmp\EDTrackerII.cpp -o C:\Users\ABC\AppData\Local\Temp\build7497860208639474305.tmp\EDTrackerII.cpp.o 

avr-g++: error: Files: No such file or directory
avr-g++: error: (x86)ArduinohardwareEDTracker2avrcoresEDTracker2 -IC:Program: No such file or directory
avr-g++: error: Files: No such file or directory
avr-g++: error: (x86)ArduinohardwareEDTracker2avrvariantsEDTracker2 -IC:Program: No such file or directory
avr-g++: error: Files: No such file or directory
avr-g++: error: (x86)ArduinohardwareEDTracker2avrlibrariesEEPROM -IC:Program: No such file or directory
avr-g++: error: Files: No such file or directory
avr-g++: error: (x86)ArduinohardwareEDTracker2avrlibrariesWire -IC:Program: No such file or directory
avr-g++: error: Files: No such file or directory
avr-g++: error: (x86)ArduinohardwareEDTracker2avrlibrariesI2Cdev -IC:Program: No such file or directory
avr-g++: error: Files: No such file or directory
avr-g++: error: (x86)ArduinohardwareEDTracker2avrlibrariesInvensenseMotionDriver C:\Users\ABC\AppData\Local\Temp\build7497860208639474305.tmp\EDTrackerII.cpp -o C:\Users\ABC\AppData\Local\Temp\build7497860208639474305.tmp\EDTrackerII.cpp.o: No such file or directory
avr-g++: fatal error: no input files
compilation terminated.

It works just fine with IDE version 1.5.6-r2.

Can you try edtracker.zip at https://drive.google.com/folderview?id=0B6J4eiqUG9zySTIwWTdTcDJ0ZU0&usp=sharing

Edit, there appears to be a problem with both the InvensenseMotionDriver library and the sketch.
 
Last edited:
Got this working in about hour

Got this working in about hour after sorting through all the different sources of information, must say that your dedicated page needs an update.

It works really well but does drift off after 20 mins or so, hoping the compass integration will sort this out eventually. I designed and 3D printed a cool head mount for it that I'll post later - shows all the LEDs, various ways to secure it and has a lid that acts as the reset button.

nice work guys.:smilie:
 
This here is the first attempt of an Installer for the EDTracker:

http://lbsoftware.bplaced.net/EDTracker2Installer/EDTracker_Installer.zip

Download, unzip and run. It really should be that simple.

This is for the EDTracker software only, so you need to have the Arduino IDE and Java already installed. As to my knowledge the current EDTracker software only works with Arduino IDE version 1.5.6-r2, the installation is aborted if it finds a different version. Newer versions of the Arduino IDE will be whitelisted as the EDTracker software is updated to support them.

The inner workings of the installer are relatively simple. It first downloads a master download list from my webspace, then pulls the necessary EDTracker files from Pocketmoon's Github page as well as the custom device zip from Brumster's edtracker.org.uk. The files from Github are then put into \Documents\Arduino\ while the zip file from edtracker.org.uk is unzipped into C:\Program Files (x86)\Arduino\hardware.

So far it works on my fresh Win7 x64 installation, but I'd very much like you guys to put it through its paces as well. If you want, that is.
 
It works really well but does drift off after 20 mins or so, hoping the compass integration will sort this out eventually. I designed and 3D printed a cool head mount for it that I'll post later - shows all the LEDs, various ways to secure it and has a lid that acts as the reset button.

nice work guys.:smilie:

Cheers! It was very interesting watching people play with the EDtracker at Lavecon. There are some obvious changes I can make that will make the auto-drift compensation even more effective.

Also Sunday AM was VERY warm and we had to recalibrate the demo units (only takes 2 minutes). So it's on my list to add some temperature compensation too :)
 
This here is the first attempt of an Installer for the EDTracker:

http://lbsoftware.bplaced.net/EDTracker2Installer/EDTracker_Installer.zip

Download, unzip and run. It really should be that simple.

This is for the EDTracker software only, so you need to have the Arduino IDE and Java already installed. As to my knowledge the current EDTracker software only works with Arduino IDE version 1.5.6-r2, the installation is aborted if it finds a different version. Newer versions of the Arduino IDE will be whitelisted as the EDTracker software is updated to support them.

The inner workings of the installer are relatively simple. It first downloads a master download list from my webspace, then pulls the necessary EDTracker files from Pocketmoon's Github page as well as the custom device zip from Brumster's edtracker.org.uk. The files from Github are then put into \Documents\Arduino\ while the zip file from edtracker.org.uk is unzipped into C:\Program Files (x86)\Arduino\hardware.

So far it works on my fresh Win7 x64 installation, but I'd very much like you guys to put it through its paces as well. If you want, that is.

My original custom device can be downloaded from my github page. The HEAD works in Arduino IDE 1.5.7 except for the MPU driver (not sure who ported it)

https://github.com/n0ahg/EDTracker2-custom-board
 
This here is the first attempt of an Installer for the EDTracker

That is rather mad timing! I saw that just as I was putting the finishing polish on our flash utility!

Anyone who wants to avoid all this malarky with source code, libraries, custom devices, etc. (ie has no desire to muck around with the code but just wants something working) should use the flash tool.

This does NOT mean we're hiding the source code; for those who prefer that approach, GitHub will still be the place to go, and all these tools to ease that process should work fine...
 
OK this is the first prototype, i'll update the model to print without supports and fix an access issue with the cable ties and plug - tested two types so far. This version requires the boards to be extended away from each other (solder near the top of the pins).

This is printed fast in PLA so the quality is not great, but when i print it in ABS on my better printer it will look sweet.

I'll share the stl and obj model as soon as i've finished my mods.

left.jpg

right.jpg

top.jpg


Quality of my ABS printer for comparison
m90prt-4.jpg
 
Back
Top Bottom