[EdTracker] Perfect hardware 9150 but nothing work? Perhaps a solution

I've recently bought components for building my own EdTracker based on 9150
After soldering everything, it was not working.
With a different Arduino, I then retried through a different shape:Bartybee's layout
Unfortunately same result.

Symptoms:
- Tracker visible on Windows' "devices and printers" but nothing move
- classical calibration sketche seems to work, but not the good one (9150)
- when good one installed, the GUI is not able to connect on the tracker.

So I tried to work on sources and I found a solution.
I will be not able to explain why, I can just say that it works. (I will not explain all the long way I took for finally finding it).
Here the steps:
1) got Arduino 1.5.8 IDE
2) get the full sources from https://github.com/pocketmoon/EDTracker-9150/archive/master.zip
Unzip it somewhere, it will contains a bunch of files and at least edtracker.zip
3) unziped edtracker.zip in ARduino/hardware
4) Launch Arduino IDE and Open EDTrackerMagDMPOne.ino
It is a file in the sketches folder from sources
6) Select Tools->Board->EDTracker2
7) edtracker.zip is not up2date. Update libraries in zip by the one on sources
==> ...\arduino\arduino-1.5.8\hardware\edtracker\avr\libraries
==> should be ovewriten by the ones from sources
8) add #define MPU9150 in inv_mpu.h
(I don't know how to add it in compiler options)
9) it looks like the Wire.begin() in EDTrackerMagDMPOne doesn't behaves as expected o_O
In EdTrackerMagDMPOne.ino, move "Wire.begin()" just before mpu_init(&revision)
It seems to fix the issue
Code:
  Wire.begin();
  mpu_init(&revision);

In conclusion, the biggest issue was where Wire.begin() was called.
I really don't know why it fixes the issue, since it is just moved few calls later, but it works.

Hope it will help
 
I'm trying this but it doesn't seem to work for me. So to sum it up you basically override some folders and add a single line to the inv_mpu.h file. Once you've done so you compile and flash the EDTrackerMagDMPOne.ino into the EDTracker, correct?

Because that's what I did, and the compile&flash process went fine but at the end of it, leds are still dead and in the GUI the EDTracker is still unresponsive and I can't restore settings or calculate bias in it.

I had good hopes cause at the end of the flash in arduino the 3 leds lit up for a good couple of seconds before going to sleep again.
 
Last edited:
The summary I previously made was a bit rough, I didn't have the time to detail it more.

First of all you should check if you have a similar behavior than me:
In short, it means being able to run the Edtracker standard Calibration sketch from EdTracker GUI, but the 9150 sketche doesn't work.


Most of the step are just for being able to compile and deploy the sketche from sources to the Edtracker. That means in short:
- Installing Arduino IDE 1.5.8
- Adding a new hardware "edtracker" to this IDE, based on the zip provided in github
- Fixing this hardware since the zip is not up to date
- informing the library that we have an MPU9150. I do it directly in code because I don't know a better way (but it is dirty so I suppose there is a clean way !)

If you succeed at this stage to verify and upload it, you should reproduce the same behavior than before.
The fix is in fact really tiny, it is to move the line 209 to the line 731 in https://github.com/pocketmoon/EDTra...hes/EDTrackerMagDMPOne/EDTrackerMagDMPOne.ino

Before:

208 // join I2C bus (I2Cdev library doesn't do this automatically)
209 Wire.begin();
210 TWBR = 12;//12; // 12 400kHz I2C clock (200kHz if CPU is 8MHz)

730 void initialize_mpu() {
731 mpu_init(&revision);
732 mpu_set_compass_sample_rate(100); // defaults to 100 in the libs

After:
208 // join I2C bus (I2Cdev library doesn't do this automatically)
209
210 TWBR = 12;//12; // 12 400kHz I2C clock (200kHz if CPU is 8MHz)

730 void initialize_mpu() {
731 Wire.begin();
732 mpu_init(&revision);
733 mpu_set_compass_sample_rate(100); // defaults to 100 in the libs

I suppose the issue is due to the fact that lines 213/214 (calling cbi) are breaking the I2C Bus connection. But since I'm totally noob on this platform, it could be false.
The only important thing, is that it fixes my issue :)

Edit: I've spent also a long time for only checking the hardware it self.
That means:
1) checking and rechecking wires!
2) Testing hardware with some examples:
2.1) i2cScanner, which should display the list of i2c connections.
http://playground.arduino.cc/Main/I2cScanner
If your hardware is well done, it should detect something at 0x68
If AD0 pin on 9150 not well wired, 0x69
2.2) http://playground.arduino.cc/Main/MPU-9150
This code is a sample for testing 9150
Warning! it is expecting 9150 at port 0x69, so you will have so change the code for 0x68

If both codes are working, you should be in a pretty good shape for having an Edtracker!
 
Last edited:
Yes I do have the same problems except I have been able to run the initial calibration skecth only once, then it all went kinda frozen.

So, what you said in the previous post is after doing so right?
8) add #define MPU9150 in inv_mpu.h

Because the funny thing is that everything goes fine, edit, compile and flash and during the flashing process all the leds magically light up and blink but then if I launch the GUI it's still all frozen :(
 
Last edited:
If you don't add #define MPU9150 in inv_mpu.h, the sketche will not compile, it will complain about the fact that the MPU is not defined.

So if you don't have this error, that means you successfully defined your MPU.
Next is to move Wire.begin() in EDTrackerMagDMPOne.ino, as described previously.

Your arduino is blinking since it is resetting and uploading the sketche.

You are not forced to launch the GUI for checking if it is working.
You can open the "Serial Console" from Arduino IDE, at 115200 bauds.
This interface lets you to communicate with Edtracker as the GUI does.
If you send "V", it should switch Edtracker to the Verbose mode, which should display all the position data.

In any case, try first to launch ic2scanner and the sample for 9150. They are less complex and they SHOULD work. If they don't, there is an issue on your hardware (the wires or something else).
Some issues I've found on internet concerning Edtracker was simply the fact that the push button was not well wired and then considered as "always pushed".
You can disconnect the 10 pin from it for being sure, I suppose.
 
Damn, bad news then. The 2 sketches for testing don't show a very good output in the serial monitor. The i2cscanner just says "no i2c device" or something. The MPU9150_test reports "36.50 -1 -1 -1 -1 -1 -1 -1......" and just keeps scrolling down like that.

I already checked the physical connections and they all look good. The only thing that could be messed up is in fact the button coz I recycled it from a previous broken MPU-6050. I don't know what could be the issue actually since it's just a damn button, maybe I overheated it while de-soldering from the previous pcb?
 
Last edited:
So you have a big wiring issue or something is dead.
Is it easy for you to change wiring?
Do you have a tester?

Edit: it is easy to check if the button works if you have a tester.
All GND (3x for arduino, 1 for MPU) and AD0 should be all connected in any case.
The pin 10 of Arduino should be connected to the rest ONLY if you push the button.
 
Last edited:
The "problem" is that I used the pcb from the edtracker guys so I don't have wiring at all and no I don't have a tester. Looks like a dead end to me especially since the button's pins are practically unreachable, I should unsolder everything to rech em. Or maybe find a tester.

Anyway, that's pretty weird. How's that I have such an hardware problem and both windows and arduino recognize and flash things flawlessly into my edtracker?
 
Last edited:
HO LEE SHE!!

You little piece of tin!!! I had a short-circuit hiding in the darkness of the rear of the pcb!! YOU MONSTER OF A LITTLE PIECE OF TIN!!!!!

.....okok I shell calm down...... maybe it's fixed now...... finger crossed...... :D
 
Last edited:
All right so thanks a lot for all your patience and effort checking the code of the sketches and all. I'm using your "modded" version and it works like a champ, the improvement over the 6050 is tangible so lemme resume my experience with a huge

IT CAN BE DONE!!!

young_frankenstein1.jpg
 
Back
Top Bottom