Photon not turning on and can't DFU after changing brownout level

@jvanier I tried the code you’d posted here and ever since using it, my photon just refuses to work and I can’t get it into DFU mode or anything - any ideas?

It looks like it’s stuck with the bootloader not working properly. Do you remember what happened when you flashed the code to change the brownout level? Did it just stop working right away or was it later?

Do you have access to a programmer shield? It would be super helpful for me to get a memory dump of the flash to look into the cause of this issue. You will also be able to reprogram the Photon.

(I moved your message to a new thread in case somebody else can help too)

1 Like

Thanks for moving @jvanier .

I added this piece of code which gets called as the very last thing in my setup() function:

void Status::SetBrownOutResetLevel() {
  const uint8_t desiredBOR = OB_BOR_LEVEL3;
  if(FLASH_OB_GetBOR() != desiredBOR) {
    Serial.println("Writing BOR");

    FLASH_OB_Unlock();

    FLASH_WaitForLastOperation();

    FLASH_OB_BORConfig(desiredBOR);

    FLASH_OB_Launch();

    FLASH_OB_Lock();

    Serial.println("Done writing BOR");
  } else {
    Serial.println("BOR value already set");
  }
  Serial.println("");
}

I have LED’s attached to the device that show a ‘Start Up’ pattern - this is set early in setup().

First time I ran this code I started up, got the startup pattern on my LEDs and then next time I looked, there was no activity on the photon LED, it was blank.

I power cycled it and still nothing happens, the buttons on the device have no effect either. The little D7 LED is a dim blue colour.

Measuring 3.34V on the 3V3 pin.

I am running v0.5.1 system firmware.

I have a programmer shield v1.0.0 here - any quick reference to grabbing a memory dump?

Actually, I also have Programmer Shield v2.0.1 and the ST-Link V2 so I think I can use st-flash… I’ll try

@jvanier I emailed you the memory dump to your github email address.

What do I need to flash on to bring it back to life?