Is my Photon bricked?

I have an old Photon (0.4.3 firmware) that I just pulled back out of the box a few days ago to use with IFTTT. It was working fine with Tinker installed. I attempted to burn it for the first time with a sketch (blink) and it has been unresponsive since then. I’ve tried various things from the forums with no success. On the IDE page it shows my Photon as offline.

I can get the Photon to be recognized by ‘particle list’ by putting it in Safe mode or DFU mode.

Safe mode: running the commands here results in ‘Flash device failed
Timed out.’

I tried updating by cli also. Running ‘particle update’ results in ‘Cannot open device’. I can get the device into DFU mode but using dfu-util all I get is “Filter on vendor = 0x2b04 product = 0xd006 / Cannot open device”. (I’ve tried this with two USB cords that have worked fine with other products.)

One thing I’ve noticed is that from the IDE, if I select signal while it is in safe mode or DFU mode it will go from flashing to solid.

Any advice?

One issue that I had when flashing new firmware to old Photons with firmware pre-0.5.3 was that they would become unresponsive because the Photon was trying to update its firmware all the way up to 0.6.1.
Check what target firmware is selected in build. If it’s anything after 0.5.3, try flashing the Photon with any program with 0.5.3 selected. The Photon should update to 0.5.3 normally, then flash the Photon again with the most up to date firmware.
Also, what colors is the RGB LED displaying in these different scenarios you’re describing?

Hi @arlinjv,

When you flash it, and it starts breathing / flashing magenta / purple, let it keep flashing / restarting until it gets back to breathing cyan. Depending on the speed of your internet connection, this could take 60 seconds, or a few minutes.

Make sure your copy of the CLI is up-to-date as well, and if that doesn’t work, can you tell me the device-id and I’ll check the logs for you?


Make sure your CLI is up to date (npm install -g particle-cli) and then issue particle update and particle flash --usb tinker both while in DFU mode.

Screenshot the entire commands, and let us know the state of the LED afterwards.

Thanks guys!

Tommy_boy - selecting firmware target 0.5.3 and flashing blink-an-led.ino I got it to indicate a successful flashing once. But the on-device led did nothing. (It was also unresponsive to the SIGNAL function on the devices tab.) Trying again I get ‘Flash unsuccessful’ and on the bottom right
‘Last Event: status/safe-mode = {“f”:,“v”:{},“p”:6,“m”:[{“s”…’ (the full data is in the log but the string seems a bit big for pasting.)

In the log I also get:
{“data”:“Too many tries”,“ttl”:“60”,“published_at”:“2017-04-25T14:57:54.555Z”,“coreid”:“particle-internal”,“name”:“spark/safe-mode-updater/aborted”}

The only colors I see are magenta, either breathing or solid and flashing yellow. (By magenta I mean red and blue leds activated, and with yellow it seems that the green led is kicking in, too, but, I’m assuming that’s supposed to be yellow.)

When first powered it goes to solid magenta. Putting into Safe mode causes the breathing magenta. (I just noticed that this is mirrored in the IDE in the dot next to the device name.) I never see the breathing magenta in other circumstances.

Dave and Moors - I did update the CLI. The device id is 410029001747343338333633. I got a ‘cannot open device’ error trying particle update. Let’s see if I can figure out how to attach a screen shot -

It sounds like the blink_an_led.ino did not successfully flash to your photon. I would expect the onboard D7 LED to be blinking according to the code. Would you try to flash Tinker to the photon? You can easily do that in the iPhone/Android Particle app. Select the device and “reflash tinker” to it. Then post back with the results here.
In Particle Build, can you see the device firmware on this Photon? In the device list, it should say “On the device” when you select it. Did the Photon in fact update to 0.5.3 or is it still 0.4.3?

Yeah it seems that it went bad during the flashing attempt. The D7 LED not blinking was my first indication something went wrong.

I just tried reflashing Tinker from the app. (The app indicates, ‘Online, non-Tinker’, btw.) After about thirty seconds the result was ‘Unable to reflash from Tinker’.

In the Particle Build page it indicates ‘On the device: 0.4.3’. I currently have system firmware target set to 0.5.3 but I think that is from a previous attempt. I couldn’t say what was selected when it went bad.

Have you got the most recent CLI installed?
Check via particle --version.
Then check the actual system version on the device in Listening Mode and particle identify
Try a USB 2.0 port - USB 3.0 sometimes plays up.
Try a different cable.

OK. I’ve never personally encountered that behavior with any of my photons. However, try this… place your photon in safe mode in case it wasn’t, and then try to reflash Tinker. Does it time out like it did before?
If this reflashing does not work, then I think you’ll have to connect your photon to your computer via USB and try to update the photon while in DFU mode via “particle update.” You didn’t mention in your response to @ScruffR that you were in DFU mode so I just wanted to emphasize that.

Ok. I just updated to the 1.15.0 version of the cli. (Actually, I just installed again. Incidentally, I’m using Ubuntu and had to run using sudo - ‘sudo npm install -g particle-cli’ - I hope that’s the appropriate way to update the cli.)

I’ll also try using different chords on different usb ports. (My laptop is about seven years old, so I’m not sure if I even have usb 3.0.)

So with the Photon attached via usb and in listening mode (blinking blue) ‘particle identify’ results in ‘! serial: No devices available via serial’. ‘Particle list’ does show the device as online - ‘Godzilla [410029001747343338333633] (Photon) is online’.

Next putting the photon in safe mode (I’m assuming magenta is the red and blue leds activated together’) and selecting ‘Re-Flash Tinker’ from the cell phone app results in ‘Unable to reflash from Tinker’. (I’d actually done this before, but went ahead and tried again with a new cable and on a different port.) I did note that the Photon went from blinking/breathing to solid magenta after the failed flash attempt. Is that normal or significant? It also no longer shows as online via ‘particle list’ at this point. It seems that putting it in safe mode is what it takes to get it to show as ‘online’.

Finally, with the Photon in DFU mode (blinking yellow) I tried ‘particle update’ which resulted in ‘!!! I was unable to detect any devices in DFU mode…’. I also tried ‘particle flash --usb tinker’ which resulted in ‘Error writing firmware…No DFU device found’. This is stuff I’ve tried before, but I’m glad to try again. Previously I also unsuccessfully tried to flash with a new .bin file - ‘particle flash 410029001747343338333633 system-part1-0.4.4-photon.bin’.

Thanks again for everyone’s help. I’m pretty much of the opinion that it is bricked and went ahead and bought a new one (grudgingly). But if you guys are game and have more ideas I’ll be glad to give it a shot. If it would be useful I can copy/paste some of the console log data.

The most recent CLI version is 1.21.0, so I’d recomment to update to that.

Normally you’d use

sudo npm update -g particle-cli

Your error messages would point to a setup/driver problem on you computer first and only this can be ruled out I’d think it’s the device as the RGB LED codes suggest it’s still alive.
But with your new device we’ll soon know.

Thanks ScruffR. Maybe it is a local issue with my laptop. Though I’m not sure if that would explain why it went bad in the first place.

The new Photon works fine. I wasn’t able to update particle-cli. I think the problem was with the ancient version of node that I was running. I haven’t been able to sort out my node issues so I’ll give it a shot on a Windows computer when I get the chance.

1 Like

Does this work to install particle-cli?

$ sudo npm install -g --unsafe-perm node-pre-gyp npm serialport particle-cli

Also, if you want a more local workflow I would recommend using po-util for full dependency installation, local building with project folders, automatic dfu-util uploading of firmware, a library manager that supports Particle Libraries 2.0, Atom Build shortcuts, and more…

To update your photon with po-util you would run:

$ po photon update

Here is my Hackster Article about po-util, and here it is in pdf form.

Ha. It looks like I was on the right track - I did end up installing po-util, but I got some errors that made me think it didn’t install properly (sorry that’s about as specific as I can get). Around that time I realized that I was using a really old version of node (v0.10.25) and ended up using nvm to reinstall node.

After reinstalling node I ran ‘npm install -g particle-cli’ but now I’m realizing that that was probably foolish as I guess it would already have been installed by po-util. ‘which particle’ shows that I have particle installed under nvm. So, is there a simple way to see if po-util is installed correctly? Did I mess things up by installing particle-cli via nvm?

I would suggest trying to remove nvm from your system and then go from there. I’m pretty sure you can just rm -rf ~/.nvm

Po-util does override to use nvm if is installed however, so removing nvm would probably work to fix rhe problem.

So, a little progress. As suggested above it turns out the photon wasn’t being recognized by my computer. I tried a brand new extra short USB cable and it finally showed up on dmesg.

Running dfu-util -l with the Photon in dfu mode yielded these three lines:

The first line with ‘Cannot open DFU device …’ is the same as before but the next two lines are new.

‘po photon update’ yielded:

I’m thinking maybe po-util didn’t get installed correctly. (I ran ‘po install’ to update and saw that it was loading ARM related files but it doesn’t seem to have made a difference.)

Can you try to run po update and then po install?

You should find the arm-none-eabi-gcc stuff in /usr/local/bin, symlinked to their real location in ~/bin.

What version of ubuntu are you on? Po-util requires libc6-i386 for arm-gcc to work.

I’m using 14.04. It looks like I have libc6-i386 (according to apt list --installed).

Update was uneventful. During install I got various messages like this ‘fatal: destination path ‘firmware’ already exists and is not an empty directory.’ I’m assuming this is normal. When it gets to ‘installing ARM toolchain …’ it spends about 20 minutes downloading and then I get this:

tar: gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2: Not found in archive
tar: Exiting with failure status due to previous errors
Creating ARM toolchain links in /usr/local/bin…
ln: failed to create symbolic link ‘/usr/local/bin/*’: File exists

Po-util tries to download into ~/bin