Rapid blinking of LED (different colors) then dies

I just got a new Particle Photon and setting up was all fine until I flashed my first firmware into the photon.

Now the photon would blink rapidly for a second (in all sorts of colors which ends with cyan) then there’s no more light at all. I would press the reset button, and this would happen again.

Details of my photon
Device type: Photon
Firmware version installed on the device: 0.6.1

Steps I’ve tried
I’ve tried connecting the Photon to my Mac and using the Firmware Manager app. If I press the reset button while the manager is running, it’ll blink randomly for a second, then blink blue. I tried updating the firmware, using the manager, and it would for a while, but instead of “Update complete” it goes back to the initial update button, as though nothing happened.

While the Photon stayed blinking blue, I would attempt to set it up again using the iPhone app. The setup would succeed, and the photon would blink then breathe magenta for quite some time. The Particle console would show that it would cycle between “spark/status/safe-mode”, “spark/safe-mode-updater/updating: 2”, “spark/flash/status: started” and “device came offline” over and over again before eventually getting “spark/safe-mode-updater/aborted: too many tries”. After this it will be stuck in breathe magenta. If I try to flash the app into the photon again, it’ll die once again.

The code i tried to flash
It was just a simple script I found online.

Does anyone know what’s up with my Photon? Thanks in advance!

Maybe post a video of your fireworks :wink:

Try updating via DFU Mode and

particle update
particle flash --usb tinker

with the most recent CLI (currently 1.20.1)

About the Hackster project, you need to be careful with the voltage your doorbell uses - don’t connect anything above 3.3V to a pin with internal pull-resistors activated.

Here's a gif!

I'll give that a try! Will update how that goes!

My door bell doesn't actually have any electricity flowing through it. It's just a circuit that closes when the button is pressed. So in some sense I was trying to make the Photon the bell itself. This is my first electronics project though, am I doing the right thing?

@jedimdan, oh boy, where do I start. First, a circuit, by definition, has electricity flowing through it. When the button closes, it allows that electricity to flow.

Second, THE HACKSTER PROJECT WILL DAMAGE YOUR PHOTON. Doorbells typically use a 12 or 24 volt AC transformer. Even if it was DC, the maximum input voltage a Photon pin can handle is 5V, ONLY if no pull-up or pull-down is used. Otherwise, it is 3.3v. There are plenty of doorbell projects in this forum what can guide you to a safe implementation.

Finally, the code you are running sets D1 as INPUT_PULLUP. The very thing the code does after waiting 1.5 seconds is read D1, which will be HIGH so it will go to sleep until D0 sees a rising edge. That won’t happen because your D0 is not connected anywhere.

Unfortunately, there are no quality or sanity checks on Hackster.io projects. Not only is that project short on documentation, it is utterly a Photon killer since it also shows the Photon being powered directly by the doorbell transformer which is a) most likely AC voltage and b) in excess of the max 5.5V specified by Particle!

3 Likes

I agree, that Hackster project is slightly obscure, but if we just assume the labels for the blue and yellow wires are chosen rather poor and should rather be "… end of the door bell switch " things may look less bleak for the project.

And I’d think the blacking out of the LED is just what the code does - it goes to sleep immediately.

2 Likes

@ScruffR, I agree somewhat. Without clear instructions on removing transformer power from the switch, this is not a good project to follow IMO.

1 Like

Fully agreed on that, and @jedimdan should just stick with the one button shown on the breadboard and keep the external switch wiring for later :wink:

D0 should be connected to the switch which should not go to Vin but to 3v3.
Or even better the whole wake should be turned round and have INPUT_PULLUP and waking on FALLING edge - although pinMode() is not required at all for the wake pin.

1 Like

Thanks guys for your feedback! I've actually not wired the photon up to anything yet, but I know for certain that the other end of the wires I'm about to hook this up to is nothing but a switch. There is no transformer in the circuit, just a switch on the other end. I chose this Hackster project because it was written by a friend of mine who has the same door bell switch on the other end. That's probably the reason why they put a switch in the bread-board, to simulate the switch that is about to be wired on the other end while it's being prototyped.

My apologies for not being clear with this, because where I live, our home's door bell wiring has nothing but a switch on the other end, so I assumed I didn't have to clarify that. In that context, you're right to say that they should've been clearer. Perhaps I could feedback this to them.

That said, as I mentioned, I've not wired anything up to this Photon yet.

Hmm I didn't notice that. Perhaps that's all to this!

I have posted a comment about precautions on the project already :wink:

You can check by just touching D0 to 3V3 with a jumper wire. The Photon should wake, publish and go to sleep again.

You're right!! That explains everything! That was truly a noob mistake :sweat_smile:

But I'm glad I learnt something through this: understand the code for myself, even if it's from someone I know.

Thanks @ScruffR and @peekay123 for your patience and guidance with a noob like me! You've help make a great start in my electronics journey, knowing that this community is open to teach. I've got lots to learn, clearly!

3 Likes