D0, D1 not working

Received my photon yesterday. After the initial setup, which was a breeze, I went ahead and wrote a simple something that will “test” all digital outputs in a sequence with LEDs connected to D0-D7.
I am not sure if there is a specific mode that is in play here but everything works except D0 and D1. They simply do not output HIGH.

Then, I flashed the tinker app and tested the outputs that way and with the same result. Brand new faulty hardware? or something else?

Sorry in advance for the stupid questions:

  • Have you checked your LEDs for the two pins?
  • You do have current limiting resistors on the LEDs?
  • You don’t have all LEDs on at once?
  • You have tried with external power supply rather than USB port of a PC?
  • You never have drawn too much current or attached too high voltage or negativ voltage to the pins?

Could you try upgrading your system firmware to 0.4.3, that might help?
More information, and a link to instructions can be found here:


None of these questions are stupid and perhaps I should have mentioned them as well.

LEDs are oriented the right way :smile:
All LEDs are connected with 220 ohm limiting resistor.
LEDs are turned on in sequence
I have not tried external power supply and I don’t understand why that would change the behavior for D0 and D1 specifically. All other pins are fine.
I am powering the board with USB connected to my computer so there is no question of high/negative voltage.

Being a noob, my question was specifically to understand if D0/D1 are somehow special GPIO pins and behave differently. If not, it looks like the board was defective, which raises questions about quality control of particle manufacturing.

I will definitely try to upgrade the firmware (which appears more involved than I thought) but frankly I don’t see something this basic could be an oversight in previous versions.

D0 and D1 are I2C pins. If your code enables I2C anywhere using Wire.begin() D0 and D1 might stop working

1 Like

These pins are not working with tinker app. None of my code is running at that time.

To explain my thought - despite the fact that @Moors7 hint is most likely the real solution:
Especially the Core had a WiFi chip that would draw over 300mA during connect plus the controller itself that needs some 20+mA and each GPIO pin could draw 20mA, you might easily scratch on the 500mA USB limit.
While the Photon is a lot easier on the power supply, it's still good to consider power issues when you find some odd behaviour.
The same thought led to my question about driving all LEDs in parallel. If you started with D7, D6, D5, ... you might hit the limit when reaching the end.

But as already said, that was before Jordy chimed in :wink:

I'd say it didn't use to be a problem, it just sneaked in while adding new features and since it initially worked, it might not have been retested as this side effect was not to be expected.
But the glitch has been found and got dealt with. Try 0.4.3 :+1:


Finally, I got time to upgrade the firmware to 0.4.3 and the pins started working. Note to Photon team, please do not release untested firmware that leads to multiplied lost hours for us.

1 Like

Not to stir up feelings, but the firmware was definetly not untested.

Sure, the test scenarios were obviously not tight enough to catch this one issue (and possibly others too), but it’s in the nature of non-trivial software that some things might go wrong.
Look at big players and how often they have to patch.

One thing I can say about Particle, that they take these things serious and when an issue is reported they don’t play it down or just ignore it.


Hi @rajiv,

Sorry about that! We released a “factory update” image on Tuesday afternoon that had this issue, and we discovered the issue and released a fixed version Thursday. I’ve been compiling a list of potentially impacted devices so we could reach out and help avoid this pain, but I was too slow. Sorry!




I was experiencing an issue with an OLED and ran across this thread. Sure enough, it used D0 and a simplistic LED test shows that my D0 and D1 are not working either. Hmmmmm. I need to explore the upgrade.

One question for @Dave , are you guys to push a firmware update to solve this in the near future or should I manually update? The former is simpler, but if there is a significant time lag then I will try out the manual update process.

Thank you.

Hi @JL_678,

Sorry about that! We have an auto-updater we’re testing on our staging environment, and we’re targeting a release of that early next week if we can. I recommend updating manually, you can grab the binaries from here, and flash them over the air with the CLI ( https://github.com/spark/particle-cli ) like this:

particle flash YOUR_DEVICE_NAME  system-part1-0.4.3-photon.bin
particle flash YOUR_DEVICE_NAME  system-part2-0.4.3-photon.bin


1 Like


Quick update. That was indeed really easy and I love how you can do it wirelessly. Nice! All seems to be working smoothly now. Thank you @Dave!


Just had this solve my issue! Thanks!