Page 1 of 3

Crazyflie 2 board fails POST out of box.

Posted: Wed Dec 17, 2014 7:32 pm
by GeEom
Hi everyone.

Was very excited to receive the crazyflie 2 before Christmas.

Unfortunately board failed POST right out of the box.
Assembly documentation pointed me to my distributor, seeedstudio.com, and they in turn asked that I post on the support forum here.

Given the documentation is fairly black box, I can't determine if I can take any action to fix the board.
I can see no damage, all significant chips are squarely in place and oriented as I see them in pictures online. All the soldering I can see is clean and complete, without dry contact or bridging.

I'm metaphorically on hold in emails with seeedstuido support, having detailed the LED sequence to them.

Code: Select all

The main crazyflie board, without motors or battery attached, is connected to the USB port of my laptop via uUSB to USB cable.
When connected or turned on (via the on board switch) the following sequence of lights is shown.
            M2 LED turns on blue.
            M3 LED turns on blue.
            M1 and M4 LEDs both turn on green.
            M1 and M4 LEDs both turn to red.
            M1 and M4 LEDs both turn off.
            M1 and M4 LEDs both turn on green.
            M1 and M4 LEDs both turn to red.
            M1 and M4 LEDs both turn off.
            M1 LED pulses red five times, pauses off, and repeats.

I understand this to signal POST failure, as per this set of instructions: http://wiki.bitcraze.se/projects:crazyflie2:userguide:assembly
Any advice appreciated.
-David

Re: Crazyflie 2 board fails POST out of box.

Posted: Wed Dec 17, 2014 11:52 pm
by chad
I don't have my CF2 yet so this is only a guess based on the CF1 behavior. CF1 was very sensitive to movement during self-test as it tests the IMU sensors during this phase. Jostling or sometimes even lightly moving it could cause failures in these tests.

When you do your power-on test, are you letting it sit undisturbed on a flat, stable surface throughout the test?

Re: Crazyflie 2 board fails POST out of box.

Posted: Thu Dec 18, 2014 12:27 am
by GeEom
Thanks for the input chad!

I wasn't certain I had had it stable as its weight hardly anchors it in place, but a retest on a solid table (and again under a book) with an eye to stability has not changed the results.

Re: Crazyflie 2 board fails POST out of box.

Posted: Thu Dec 18, 2014 2:08 am
by chad
bah! Sorry about that. I'm not much help then.

Re: Crazyflie 2 board fails POST out of box.

Posted: Thu Dec 18, 2014 2:37 pm
by tobias
Hi GeEom,

With the new cfclient you can find out what failed even if you don't have a Crazyradio. The new version supports USB communication so you can read out the log.
What OS are you running? Windows is currently the easiest and most stable (linux has a segmentation fault bug we are currently working on).

When you connect the Crazyflie 2.0 to the computer with a uUSB cable and do a scan in the cfclient there will be a usb://0 device you can connect to. In the console tab you can then see the log and what failed.

On widows the Crazyflie 2.0 needs a driver which can be installed the same way as the Crazyradio.

Re: Crazyflie 2 board fails POST out of box.

Posted: Thu Dec 18, 2014 6:57 pm
by GeEom
Thanks for getting back to me tobias.
Forgive me if I'm making obvious mistakes, I do a lot of theoretical work at a university: I never work with hardware!!
For reference I'm working on 64bit Windows 7.

With the new client from your post I observed two behaviors, one familiar and repeatable, one new and fleeting.

Firstly the familiar, I open the new client, connect the Crazyflie 2.0 physically, observe the aforementioned light pattern. I then connect the client and receive the following log in the console:

Code: Select all

SYS: ----------------------------
SYS: Crazyflie is up and running!
SYS: Build 164:0dbbb77772a9 (production1.1) CLEAN
SYS: I am 0x3132383231334704390027 and I have 1024KB of flash!
IMU: MPU9250 I2C connection [OK].
IMU: AK8963 I2C connection [OK].
I2CDEV: Error callback nr: 1024
IMU: LPS25H I2C connection [FAIL].
EXPBRD: Found 0 memories.
EEPROM: I2C connection [OK].
AK8963: Self test [OK].
OW: Found 0.
30 78 42 43 0 50 0 0 0 0 0 0 0 0 0 7D 
Status 0
30 78 42 43 0 50 0 0 0 0 0 0 0 0 0 7D 
Status 0
I repeated this test a handful of times with identical results (trying to duplicate the next behavior).

On perhaps the second attempt, I did not get the familiar LED pattern.
I could not duplicate this, so I cannot explicitly verify the console log or the LED pattern, however I believe the LED M1 blinked red regularly whilst M4 flickered red and green, and the log entered 'I2CDEV: Error callback nr: 1024' once a tick at the cursor position.

Re: Crazyflie 2 board fails POST out of box.

Posted: Mon Dec 22, 2014 3:01 pm
by tobias
So there is a problem with the pressure sensor LPS25H. For some reason (probably soldering issue) it is not communicating. I have no idea how this can have passed manufacturing tests because this shouldn't happen.

You now have two options, or maybe three.
1. Contact Seeedstudio support and have them fix/replace your faulty board.
2. We make a firmware that disables the pressure sensor functionality. You can fly but not use pressure sensor functions (altitude hold).
3. You try to fix the soldering issue your self. This is a complex chip and requires a hot air rework station. It is also heat sensitive so it must be heated up from the other side of the board. Only recommended for people with very good reworking/soldering knowledge.

Re: Crazyflie 2 board fails POST out of box.

Posted: Thu Dec 25, 2014 9:04 pm
by hoverbear
Ouch... This is happening to me too.

Doesn't happen all the time it seems. I'm able to tap it a few times and move the battery sometimes to fix it. After a jostle or rough landing though it becomes quite unable to do anything other than flip and repeatedly attempt to connect via radio.

Boot Log While Buggered:

Code: Select all

SYS: ----------------------------
SYS: Crazyflie is up and running!
SYS: Build 0:1ab92e55c44b (2014.12.0) CLEAN
SYS: I am 0x31323832313347153C0021 and I have 1024KB of flash!
4
IMU: MPU9250 I2C connection [FAIL].
I2CDEV: Error callback nr: 1024
I2CDEV: Error callback nr: 1024
I2CDEV: Error callback nr: 1024
I2CDEV: Error callback nr: 1024
4
I2CDEV: Error callback nr: 1024
I2CDEV: Error callback nr: 1024
I2CDEV: Error callback nr: 1024
I2CDEV: Error callback nr: 1024
IMU: AK8963 I2C connection [FAIL].
I2CDEV: Error callback nr: 1024
IMU: LPS25H I2C connection [FAIL].
EXPBRD: Found 0 memories.
EEPROM: I2C connection [OK].
OW: Found 0.
30 78 42 43 0 50 0 0 0 0 0 0 0 0 0 7D 
Status 0
30 78 42 43 0 50 0 0 0 0 0 0 0 0 0 7D 
Status 0
30 78 42 43 0 50 0 0 0 0 0 0 0 0 0 7D 
Status 0
30 78 42 43 0 50 0 0 0 0 0 0 0 0 0 7D 
Status 0
While flipping repeatedly and struggling to connect via radio it spams:

Code: Select all

I2CDEV: Error callback nr: 1024
...

Re: Crazyflie 2 board fails POST out of box.

Posted: Fri Dec 26, 2014 10:26 am
by tobias
Hi hoverbear,

Sorry to see this problem. We have to investigat if we can improve testing to find them. It is a slodering issue of the MPU9250 sensor. It is the small chip close to the bigger chip on the top side. You have two options:

1. Contact Seeedstudio support and have them fix/replace your faulty board.
2. If you have good soldering skills and access to a hot air rework station you can heat the chip up to reflow it again which will fix the soldering issue.

Re: Crazyflie 2 board fails POST out of box.

Posted: Fri Dec 26, 2014 5:51 pm
by hoverbear
Hi Tobias,
It's understandable, I was super disappointed though as I'd just received it and planned to spend my Christmas break messing with it! I've sent in a support request to Seeedstudio citing this thread and describing the problem, hopefully it'll get sorted out quickly so I might actually get to settle down and check it out before classes start again.

Regarding testing, the problem didn't show itself until after the first flight and a jostling (In my case, an upside down landing). It's hard to test more since once it's in the "buggered" state it is very hard to get it back to working (I did manage to twice). Perhaps giving the board a few good taps/vibrations before testing might help with this.