Orange LED of hell

I just tried it and as i expected it doesn't work for me. If you have a look on the schematics you can see that the 3.3V are only used as a logic level for the STLink. No modules on board of the Portenta uses this 3.3V.
So if you put 3.3V on any pin the only thing changes is that your STLink now knows the logic level.
But nice that this worked for you :slight_smile:

Maybe it's because the board doesn't supply the 3.3V (because of the corrupted bootloader?) via the jtag connector. I don't know, I'm just happy that the board is alive again!

1
2

Yhea in your case it was probably the problem, that the STLink doesn't know the SWD logic level. Were did you get the connector form 2.57mm pitch to 1.27mm pitch?

Maybe I made a mistake there

I bought it on aliexpress (" J-LINK/V9 V8 ARMAR-JTAG-20-20..."), but you can also get it in the Arduino store (J-Link 19-pin Cortex-M Adapter — Arduino Online Shop).

Hi all, for what it's worth Arduino sent me a replacement H7. To troubleshoot they had me do the following things but it didn't seem to help:

  • Updating Arduino IDE
  • Installing latest core version of Arduino Mbed OS Portenta Boards from within Arduino IDE
  • Trying to update Portenta H7 bootloader (board is not recognized so obviously I couldn't do this)
  • Shorting the two pads on the vision shield pictured here in an attempt to force bootloader mode (shorting the pads didn't have any effect):

It took a while for them to believe me that the board was not being recognized on the COM ports :sweat_smile: but good of them to issue a replacement without too much fuss.

Yhea the exact same suggestions they told me. With whom you have written? I've written with Ignacio Herrera. But it was also a long way until they believe that no USB communication is available :grinning_face_with_smiling_eyes:
I think that everyone with this problem should write to Arduino support with step-by-step documentation of what they did. (last uploaded code + circuit connected to the portenta)
The support needs this information to fix that issue!

1 Like

I was writing with someone else, Sravya Amirisetti.

Lol :smiley: I also wrote with her until she forwarded me to Ignacio.

Sorry I checked and this has been done, so removed it.

FYI, if orange LED is on - it comes from the PMIC (power management IC). The PMIC is not properly configured, e.g. you have overwritten the bootloader.

It can happen for different reasons: for me: if I play with I2C (and one is the internal I2C bus, for PMIC access), or I have ST-LINK connected and I power cycle Portenta H7 and ST-Link (remove/connect USB) in a specific order: the orange LED comes on.

Sometime a power cycle is fine. If not: you need an external I2C master. You had to access the PMIC chip from the outside and configure it again.

If you do not have a configures PMIC: the MCU does not have voltages.
And even a debugger (external ST-LINK) would not be able to connect, e.g. in order to flash the bootloader again.

This PMIC chip on Portenta H7 causes often trouble (in combination with doing something wrong with bootloader (overwritten) or crashes in your own code.
Possible to recover - but very tricky.
And getting a bricked board - the orange LED - happens unfortunately too often.
Meanwhile, I am able to recover from it (with external tools needed: I2C master, ST-LINK debugger).

1 Like

I have tried to connect an ST-Link V2 clone on the Portenta through the Vision shield JTAG pins (without the 3.3V pin connected).
As soon as I plug the USB-C cable on the Portenta, the orange led appears.
What is the procedure to connect a debugger to debug a program on the Portenta?

BTW: I have the same effect: Portenta H7 with ST-Link debugger connected: if I power cycle, e.g. I remove USB for ST-LINK, but still connected to Portenta H7 - I see the orange LED.

If Portenta H7 is powered, but ST-LINK connected - and not powered - you get orange LED.
It is fine to power also ST-LINK, or remove the debugger connection.

I guess: if ST-LINK is not powered - it holds the RESET signal low. So, your Portenta H7 does not come out of reset, the orange LED remains on - the PMIC is not configured (Portenta H7 hangs in reset) and therefore orange LED not going off.

1 Like

Can someone summarize this. I have 2 Portenta with the orange solid LED of death. In what order should I try the steps. I have a few debugger but am not familiar with the software so any suggstions herre would also be appreciated.

1 Like

Do you have the orange solid LED all the time? Even you reset the board - it is there?
And bootloader does not work? And external debugger cannot access to target?
BTW: if you have external debugger connected but it holds board in reset - you will get also a solid orange LED (but not broken, just too long in reset).

Watch what the external debugger console reports as the target voltage: potentially, it will show a very low voltage (in mV range, not 2.9 ... 3.1V needed for MCU): the board does not not power enabled.

In this case: your PMIC (onboard Power Management IC) does not provide power for all the components onboard (PMIC is not configured).
It looks to me: there is a tiny timing window where a FW which has booted has to initialize PMIC. If board hold in reset - startup power fades away.

The way I can recover from it:

  1. Have another MCU with I2C read/write features (commands) - e.g. I use a second Portenta H7
    with special command to do I2C PMIC config.
  2. connect I2C from this external MCU to Portenta I2C (but the right I2C where the PMIC is connected inside board)
  3. program the PMIC registers via I2C - the power should come back, the orange LED off
  4. flash the bootloader again with the external debugger

The board is not really broken: it has just lost the bootloader (or any FW booting) which will initialize the PMIC. Overwriting the bootloader will cause this issue.

You need a breakout board to recover (access via I2C and debugger).

Here is a drawing illustrating how to do - with an external debugger connected:

If you do not have external debugger: via BOOT option and an USB-A cable on breakout board:
possible to recover bootloader via dft_util.exe:

If you have another MCU with I2C (as 3V3) or a PC with an I2C adapter (e.g. TotalPhase Aardvark):

1 Like

wow @tjaekel thanks so much for the detailed answer. I will see what I can do.

First of all: figure out why it is not booting anymore: have you overwritten the bootloader? Have you flashed your own FW from start of flash (0x08000000)?
When you connect external debugger: make sure 0x08000000 ... 0x08040000 is never touched!:
if you overwrite this region - the bootloader is gone. And also: the PMIC init is gone.
If you flash your own FW from 0x08000000 and it does NOT initialize PMIC by your own FW properly - all is bricked.

Try this:

  • try to connect to board via external debugger
  • watch the target voltage reported: if too low (in mV range) - nothing will work, even debugger
    cannot connect or read/write flash memory fails

Try to figure it out: potentially an issue with PMIC and the missing power on the board (PMIC not initialized anymore).

So what I have done, and what I still need to do. Everything I do needs to be simple enough that I can teach High School kids how to do it. I have several Portenta that students and I have fried.

  1. I have tested the particle debugger which is a cool drag and drop bootloader.hex file installer, which plugs in nicely to the Portenta with Ethernet Shield which has the JTAG pins cut for a 10 pin connector to fit. The LoRa vision shield does not have the pins cut so only a 20 pin connector will fit. Anyway I have not yet got the Particle debugger working. A small pain point is that Arduino does give the .hex file for the Nano33BLE but not for the Portenta. Theoretically this is not a big issue, but it is frustrating to have to generate the .hex file yourself.

  2. I have an st-linkv2 but can't seem to get the license and software working.

  3. I have a segger j-link mini edu debugger, this works with the j-link flash -"lite" installation, so you don't need a license. With a bit of playing around you can install the portenta.bin file to location (0x08000000). So bootloader installation is now not a problem. The orange LED is still an issue on 4 of my Portenta

I will try the first diagram above and see if I can boot the portenta enough to burn a bootloader. It looks like it is just an I2C power connection. I have two breakout boards so will try that. Can anybody think of a way to do the above if you don't have breakout boards? Is there a way to power the Portenta PMIC without an I2C connection?

Thanks to @tjaekel for spending the time on the above diagrams.

I first started with reprogramming the PMIC chip too through a separate Arduino Uno.

Then I found there's a much simpler way, just apply 3.3V power, move some dip switches on the breakout board then you can burn the boot loader from the Arduino IDE. See Portenta H7 : don't brick your board! - #12 by henksb .

My bootloader wipeout story is at Portenta H7 bricked . It still happens occasionally to me when I run an STM32CubeIDE project and forget to burn the bootloader before I power it down.

1 Like

Thanks @henksb I will try your ideas. Can we talk a bit more about using the STM32CubeIDE? Perhaps on a different thread. My problem with the Portenta and all the MBED boards is that for anything advanced you have to look at the ARM MBED API but as far as I know we can't run the Portenta using the Keil Studio which all the demonstration code from Arm runs on. It is a bit of a catch22 where Arduino doesn't really mention it and Arm doesn't support it.

Presently have a heck of a time getting WiFiSSLClient websockets running.

Sure, I can also share my project (as full STM32 CubeIDE).
The main reason for me to "avoid" Arduino IDE: it is way too slow: my projects are pretty big and the compile time, to flash an updated FW version is way to slow (on office computer: hours!)

The only drawback: you have to bring up all yourself (but you will have full Open Source at the end). WiFi bring-up, WiFiSSLClient, higher layer SW stacks such as OpenMV, MQTT protocols etc. is very time consuming. (I do not use and need WiFi)