P0 in own circuit not flashing code

Hi all,

I just received the first prototype of a new product im developing, but im not being able of flashing any code to the P0.
I plug in the board and it works, the P0 is in listening mode. Im able to configure it with Particle App, and after that i see it as connected in build.particle. Im also able to signal it from the web site and the RGB led starts flashing, but when i try to flash any firmware into it, it fails.

Something weird is that i see it connected in the web site (blue flashing dot next to the name), and see the “device came online” event, but i dont see it connected in Particles App.

Another event that appears every time i turn it on is “spark/status DATA:auto_update”. Is that normal?

I wasnt able to try programming it through usb yet because i didnt put the usb support directly on the board. I put some pads to make an external board and connect it to the board, but i didnt do it yet.

I send an image of the schematic, so i can tell me if i might have forgoten a pull up or something like that. Really i dont understand how is it possible that i can see it connected but flashing doesnt work.

Thanks everyone in advance

Give it some time to do its thing. It need to update the system firmware that’s on it, which will take some time. A couple of minutes isn’t unusual. It should be blinking magenta while doing that.

Thank @Moors7 for te answer.

Actually i thank something is wrong with te R connection of the led, and only see the led blinking when it blinks blue and green. I can not see the magenta.

Any way I’m pretty sure that the photon was connected long enough for the update to be done.
I will try it again when I get to the office tomorrow and let you know.

Should I see a new event once that process is done?

Thanks again

@Moors7, sorry to bother you again, but still having the same problem.
The module was already connected for more than 10 minutes, and nothing has changed.

I dont undersatd why is it that i see it offline in the app, but online in the web site. Still i can send the commando to signal the led from both.

Anything else you could think of?


The online indicators can be a little sleepy in the app sometimes, I wouldn’t hold that against it too much. If the auto update is getting in the way why not update the firmware over USB instead?

@Viscacha, thanks for answering.
I didn’t put the USB support right on the board. I handmade an external board to be able to connect the module to the computer, but the P0 is not turning on.

The only connections I did for now were GND and 5v (through a tensions divisor) but the P0 is doing nothing.

Any idea? Am I missing something in the middle?
Maybe something about the current delivered by the computer not being enough?

Any way, even if this works, I need to solve the OTA issue.
What could it be? I have two prototypes and both have the same problem.


I was able to solve the problem by flashing the latest firmware through USB. :slight_smile:

Now, this time it was ok because it was just two modules, but now i have 50 more coming and hopefully i will be producing hundreds soon. They will be coming already inside an enclosure, so having to open them all, one by one, to flash the new firmware is not the ideal scenario.

Who do i have to talk to to make sure that next batch of P0´s i buy already comes with a verision of the firmware that im able to flash OTA without having to update the firmware through USB first?

Thanks all again

Maybe the WiFi signal is not what it should be? A weak signal gets in the way of firmware updates, it will time out and reset before they complete.

I dont think so @Viscacha. After i updated the module to the last release through usb, now im able to flash my code OTA.
Also, i see wifi signal with full strength.

There was an issue briefly a while ago with a Particle service that handles the firmware update but so far as I’m aware that was a minor blip and is now solved. That’s the only time I’ve seen a base firmware update block on OTA flash.