Main led not lighting on, neither do external i2c one

I’m setting up a plane, and everything is working as expected, except for the main led and the external I2C one.
By main led, I mean the one on the center of the board. the little leds on the top, for power, activity and errors, are lighting on as expected.
By external I2C led, I mean I also have a board like this one usb i2c led module. The led on this board stays off too.
I checked a few parameters :
TF_LED_BRIGHT is set to 3
I tried setting NTF_LED_TYPES to 255 to enable everything, but nothing changes. (by default it was set to 199, so built in LED should already be enabled, but not the external one)
I’m running ArduPlane 3.9.2.
Even if nothing is plugged on the i2c bus, the main led stays off (even after reboot).
Any help would be appreciated :slight_smile:

Let’s ignore the i2c external LED for now. Have you ever seen the main LED work? If you reset the parameters to default, and do a fresh upload of the firmware, the light should flash during the upload process.

If it does not, I suspect you have a faulty LED

I did a full reset of the parameters and uploaded the firmware, but the main led stayed off. Only the FMU B/E led and I/O B/E and act leds were blinking

Try the old method of loading Rover or Copter then reloading Plane.
As @hunt0r commented, if you don’t see any LED flash during these operations you most likely have a dead LED.

This is what I did, I loaded the quad firmware and then came back to plane.
I don’t remember seeing this led on at anytime, so I guess it was defective from the beginning.
Then it would be great if I could manage to get the external one working.
Do you have any idea about this one ?

Usually just having the external LED connected initiates its operation.
Which I2C bus have you got it connected to?
Does it still not work if you change to the other I2C bus?

I have to say, I did not know that the pixhawk had a second I2C bus.
Where is the connector ? I only have one marked “I2C”, like on this board :
board layout
I use an I2C splitter, to connect the magnetometer, the LED, and an OLED display.
The mag and the display are both working as expected.

@mboland @hunt0r Do you have any idea ?
I’m sure you must be really busy, and I don’t want to seem interrupting.
Hope you can find a few minutes on this.
Appreciate your time.

My bad, Pixhawk 1 only has the one external I2C bus, so ignore what I said.

As @hunt0r pointed out, if you have fresh firmware in there, and nothing connected, and the internal LED does not work then it sounds like a hardware fault.

Try loading older firmware, although I know plane handles the LED slightly differently.
I would remove the Pixhawk, connect nothing to it except the USB, and if you get no LED, even after loading, say copter 3.5, I would say a hardware fault.

I did have a similar issue with I2C but it was due to a folded earth pin in the socket.
But in that case it was the external I2C items performing strangely.

I tried uploading ArduCopter V3.3.0 Quad, and with this one, both the onboard led and the external one are working as they should.
As you said, the onboard one switches off if the external one is plugged in.
Then I guess the problem is in the software
Did you ever heard of any case similar to this one ?

1 Like

Seems strange.
Which versions of the firmware are you loading where it stops working?
Do older versions of plane enable it to work?
You haven’t said what version of Pixhawk hardware you are running.
3DR?
Pixhack?
Other?

Ok this might be even stranger
I just came back from copter 3.3 to the lastest plane firmware (3.9.3), and I noticed something :
The LED is in fact working, but only at the first boot.
By first boot, I mean juste after the firmware is successfully uploaded, the Pixhawk boots up, and the led works.
But if I unplug the USB cable and plug it back,the Pixhawk reboots, but the LED stays off.
Do you want me to try to load firmwares one by one to see at which point it stops working ? I can do that if it helps.
Older version of plane seems to work perfectly fine.
For the hardware, I think it is a 3DR clone

I might also have something else : when I load an old firmware, the LED is solid white after boot, and then it turns yellow and start blinking.
But when it works with the lastest firmware (so only one time), it is only blinking red.
So either the behavior of the LED has been changed at one point, or the red blinking means something else

Edit : Not sure if I made it clear, but when I load an old firmware, the LED keeps working even if I reboot

Tonight I tried different firmware versions, and I think I have a few useful informations to add.

First, I can say that everything works as expected up to plane 7.3.1. The next I tried is 3.8.0, and with this firmware or any subsequent one, the LED is acting strangely.
If I upload any of these firmware, after the installation, the LED will light on red and blink fast for a few seconds, and then it will blink more slowly (I’d say 1Hz)
But if I unplug and plug back the power, then the LED won’t light on at all.

First thing strange is I can’t find any reference to this LED behavior in the documentation
http://ardupilot.org/copter/docs/common-leds-pixhawk.html

But even stranger, this only happens if I come from a firmware where the LED was working as expected (si prior to 3.8.0). If I come from a firmware where the LED was already not working, then it will just stay off.

What I think is that the fact it stops working when I unplug and plug back is not due to the reboot of the Pixhawk, but to the power cycle of the LED controller chip. I think I confirmed that : I pushed the reset button of the Pixhawk, and after the reboot, the LED start blinking again.

So I’m thinking about a problem with the initialisation of the I2C chip that controls the LED.
The good firmwares would be initializing it right, and because I don’t power cycle it, it would continue working even with a firmware that would not initialize it.
But after a power cycle, it would not be initialized so it won’t light on at all

Do you think that makes sense ?