Skip to content

GPIO9 and GPIO10 unuseable #1446

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
WereCatf opened this issue Jan 16, 2016 · 13 comments
Closed

GPIO9 and GPIO10 unuseable #1446

WereCatf opened this issue Jan 16, 2016 · 13 comments

Comments

@WereCatf
Copy link
Contributor

I have a Nodemcu 1.0 - board that has GPIO-pins 9 and 10 available and I've been wanting to make use of them, but it seems nothing I do works. There is constantly traffic on pin 10, even when I'm not using it, and doing pinMode(9, OUTPUT) causes watchdog-reset.

GPIO 9 and 10 should be available for use if you are driving your Flash in DIO-mode and boards.txt does appear to be using Flash in DIO-mode on Nodemcu, but if I had to hazard a guess something is still forcing it to operate in QIO and not honoring the settings in boards.txt

Any ideas?

@WereCatf
Copy link
Contributor Author

Okay, I suppose all that I've read saying you don't need to cut anything has been wrong. I modified boards.txt to use QIO and the device works fine, still -- ESP.getFlashChipMode() confirms it is running in QIO and that shouldn't be possible if the wires were, indeed, cut.

That also means I won't ever be able to use 9 and 10 :( Closing the issue.

@asetyde
Copy link

asetyde commented Jan 18, 2016

No way to use 9 pin , 10 it’s ok for me to digital read

On 16 gen 2016, at 14:15, WereCatf [email protected] wrote:

I have a Nodemcu 10 - board that has GPIO-pins 9 and 10 available and I've been wanting to make use of them, but it seems nothing I do works There is constantly traffic on pin 10, even when I'm not using it, and doing pinMode(9, OUTPUT) causes watchdog-reset

GPIO 9 and 10 should be available for use if you are driving your Flash in DIO-mode and boardstxt does appear to be using Flash in DIO-mode on Nodemcu, but if I had to hazard a guess something is still forcing it to operate in QIO and not honoring the settings in boardstxt

Any ideas?


Reply to this email directly or view it on GitHub #1446.

@robotiko
Copy link

After several weeks looking and asking, It seems there are several nodemcu devkit 1.0 boards.
Some do support DIO mode correctly and can use GPIO9 and GPIO10 but most don't.
I have 4 boards from different suppliers bought with several months between each order and none them can use those pins :(.

@WereCatf
Copy link
Contributor Author

@robotiko: That's interesting. I have a "LoLin Nodemcu V3" - board and, as I said, there is always traffic on GPIO10 and GPIO9 resets the board, and QIO-mode is working on my board (it shouldn't!). Kind of stupid, since one of the selling-points of Nodemcu is the availability of GPIO9/10.

Maybe this should be documented somewhere. It'd also be nice to know which manufacturers (if any) do produce the boards where those pins are useable.

@asetyde
Copy link

asetyde commented Jan 18, 2016 via email

@WereCatf
Copy link
Contributor Author

@asetyde: that page doesn't say anything, whatsoever, about GPIO9 or GPIO10 and it's, as such, completely irrelevant to this discussion.

@asetyde
Copy link

asetyde commented Jan 18, 2016 via email

@robotiko
Copy link

@WereCatf , you are right.
One of the main advantages of devkit 1 is the two extra gpios, however it seems that most boards around are not using the proper esp8266 module and doesn't work.
I have the Amica and DoitAm.
I have seen some guys that state that after setting DIO mode it works (be aware that it implies flashing in DIO mode and then restart).
The only one I was able to get proper details of the board, seem to have an amica from seedstudio.

Just in case it helps.

My conclusion: use a port expander.

@WereCatf
Copy link
Contributor Author

@robotiko: Yeah, I have already added an I2C - port expander on my shopping-list, but the downside with those is that you have to keep polling pin-states on them whereas with regular pins you can tie an interrupt to them for any changes. Polling is.. inefficient and crude.

Oh well, I hear ESP32 will have more GPIO-pins, I'll be sure to buy me some and love them to pieces once they're available.

@Duality4Y
Copy link
Contributor

if you choose your pinexpander well you can buy one with a IRQ output, and attach a interrupt to it :)

@neilyoung
Copy link

neilyoung commented Jan 24, 2017

@WereCatf: The really strange thing about this is: If you are using Lua together with OpenESP SDK then it is absolutely possible to use GPIO9 as output and GPIO10 as input. To attempt the same with the Arduino libs ends up in WDT resets.

@pardhu002
Copy link

for me GPIO10 only working as DIO but if define GPIO9 as DIO then it crashes on NodeMCU

@neilyoung
Copy link

@pardhu002 Right. Found it by myself a while ago. GPIO9 is internally used to control the flash memory. GPIO10 can be used as input only.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants