Particle Electron seems to have a corrupted boot loader

Hey there everyone!

Recently one of the Electrons that I have seems to have gotten a corrupted boot loader ever since I let the LiPo battery run out several weeks ago. After coming back to it recently, the D7 LED is dimly lit and the center LED won’t turn on at all when I provide power to the board.

I first attempted to use the Norwegian Blue program on my second functional Electron to resolve this issue, but I kept receiving the “SWD Fault Error” message

I then attempted to use the STM32 ST-LINK Utility with a ST-LINK/V2 to program the boot loader, however ST-LINK Utility fails to connect to the target. The symptoms are much like the ones in this video:

After that, I attempted to update the firmware on the programmer and connect to the board through STM32CubeProgrammer with no luck. It was at this point that I noticed I am also unable to connect STM32 to functional Electrons as well. Any ideas as to what the issue may be? Thanks!

With the ST-LINK, make sure you connect the VCC line to 3V3. It’s used to detect the device voltage, and if you don’t connect it, it does not work reliably.

In the Settings, you will probably need to select:

  • SWD (you can use JTAG if you connect the rest of the pins)
  • 4.0 MHz (though slower speeds will work too)
  • Access Port 0
  • Hot Plug mode
  • Software System Reset reset mode

2 Likes

Thank you, I replicated the wiring and settings that you had with my functional Electron. In STM32 ST_LINK facility I receive a USB communication error. And in STM32 Cube Programmer I I got the error: DEV_NO_DEVICE. I did notice that although the board’s 3V3 line is connected to the VCC pin, the reported target voltage is 1.48V. Is it possible that’s the issue?

Did you ever find a solution for this? I have similar case… I had a bunch that were corrupted but they were easy to reprogram. Still have three that weren’t programmable and show same behaviour as your setup.

The ones that were programmable had lights like this: https://www.youtube.com/watch?v=KcsQMV36eQs&feature=youtu.be
The ones that just freeze everything are like this:
https://www.youtube.com/watch?v=OG7xt5dsjNc&feature=youtu.be

I’m using stlink V2 programmer.

And similarly the ones that were not programmable had 1.48V from 3.3V pins but the ones that worked had standard 3.3V…

@tuxie, with that low voltage on 3V3 I would say something is damaged on those units. However, I have not heard of such a failure before!

Just tried to connect the Vusb to 3.3V and immediately got the unit light up. However as soon as I disconnected that connection the unit went back to the original stage.

So I think that might hint that something is broken… I’d be happy to send these to particle for study or do tests if needed. I just a have volt meter though so can’t do too extensive testing. I have a total of 3 units that show the same symtoms right now…

edit: when I keep the connection long enough the unit does not go through the normal boot cycle but goes to yellow blinking so I guess DFU mode.

@tuxie, connecting 3V3 to Vusb is NOT a good idea. How were those defective Electrons powered before they failed?

They’re embedded in larger system which powers the electrons via DC converter on the PCB. There’s also supercapacitor in between to buffer some of the energy requirements + provide backup power when power goes off so we can inform that the device is offline.

edit: And we don’t use the LiPO battery at all.

About @peekay123’s warning, have a look at this
https://docs.particle.io/datasheets/electron-(cellular)/electron-datasheet/#pin-description

Thanks. I wasn't really powering it, just testing it by using voltmeters lead to touch vusb and 3.3 for few secs to see if something happens. And I think that test showed that the electron is mostly ok but the power circuit might be faulty due to low voltage in 3.3 pin..

1 Like