What pins can really be used in ESP32-POE-ISO

Started by alborz, June 24, 2019, 08:12:20 AM

Previous topic - Next topic

alborz

I am working on a board using ESP32-POE-ISO and I am trying to drive as many addressable LEDs as possible, for this I would like to use as many pins as I possibly can.
(I don't plan to use the SD-card, but I would like to be able to print via serial)

So far I have failed to use the following pin to write to LEDs.
GPIO0
GPIO1/U0TXD
GPIO2/HS2_DATA0


Can someone confirm these pins can not be used for anything useful.
GPIO0 is used for bootstrapping.
GPIO1/U0TXD is connected to USB/UART.
GPIO2/HS2_DATA0 is connected to SD Module.

This only leave me the output pins, GPIO3, 4 and 5 (the pins above 30 are not suited to drive addressable LEDs)

LubOlimex

The bootstrap pins can be used after the boot process ends. LEDs attached to GPIOs can't affect the bootstrap levels so no problems to use them. If you don't have micro SD card, then probably you can use the following:

GPI00, GPIO1, GPIO2, GPIO3, GPIO4, GPIO5, GPIO13, GPIO14, GPIO15, GPIO16, GPIO32, and GPIO33

Maybe avoid using GPIO0 and GPIO1 if you wish to clear the USB lines (maybe for debugging purposes). But I think that there are no problems to also use GPIO0 and GPIO1, since they are freed after programming. Depends on your project

The ESP32 doesn't have a lot of pins and the Ethernet uses a lot of pins.  If you need more GPIO pins consider either using additional GPIO expander board over I2C/SPI/UART, or another ESP32-PoE-ISO board.
Technical support and documentation manager at Olimex

mzeuner

#2
I have a similar question, that is how can I use SPI with the ESP32-POE-ISO?
I found this information regarding SPI on ESP32:

VSPI   MOSI GPIO 23   MISO GPIO 19   CLK GPIO 18   CS GPIO 5
HSPI   MOSI GPIO 13   MISO GPIO 12   CLK GPIO 14   CS GPIO 15
Quote from: LubOlimex on June 24, 2019, 11:24:16 AM
...If you don't have micro SD card, then probably you can use the following:
GPI00, GPIO1, GPIO2, GPIO3, GPIO4, GPIO5, GPIO13, GPIO14, GPIO15, GPIO16, GPIO32, and GPIO33
This list is missing some of those pins so it seems neither VSPI or HSPI can be used?



EDIT
Okay I found out that you can freely reassign the SPI pins. Didn't know that. So my question is answered, but I'm gonna leave this here in case someone else runs into the same issue.

espethuser

Quote from: LubOlimex on June 24, 2019, 11:24:16 AMIf you don't have micro SD card, then probably you can use the following:

GPI00, GPIO1, GPIO2, GPIO3, GPIO4, GPIO5, GPIO13, GPIO14, GPIO15, GPIO16, GPIO32, and GPIO33


Are you sure (for example) that GPIO13 can be used?! It seems to be permanently pulled up. No matter how whether I use no external resistor, an external pull up or an external pull down, the state doesn't change.

I keep finding time and time again with this board that information Olimex have posted about what pins are OK to use is not true.

Thoughts?

LubOlimex

GPIO13 has 2.2K pull-up resistor R35 by design so that it can be used as I2C pin. Look at the schematic around the UEXT connector.

Being able to use it and having a pull-up on that line are two different things.
Technical support and documentation manager at Olimex

espethuser

I'm not that experienced a user to be able to read a schematic and 'know' what's going on and what pins are going to be usable GPIO pins and which aren't - so that's why I refer to the written documentation.

Does anyone know which pins on the ESP32-POE are usable without removing components from the board as GPIO pins?

Thank you

LubOlimex

What do you need the GPIOs for? GPIO13 is fine for output, for example, outputs are unaffected by pull ups.
Technical support and documentation manager at Olimex

espethuser

Quote from: LubOlimex on October 09, 2023, 03:58:59 PMWhat do you need the GPIOs for? GPIO13 is fine for output, for example, outputs are unaffected by pull ups.

Thank you that's really helpful. I guess just a list of which pins (if you're not using anything beyond the eth phy) are OK for I/O and which are ok for output only would be SUPER useful.

Thank you

mihaiadrian

#8
Quote from: espethuser on October 09, 2023, 10:49:28 AMI'm not that experienced a user to be able to read a schematic and 'know' what's going on and what pins are going to be usable GPIO pins and which aren't - so that's why I refer to the written documentation.

Does anyone know which pins on the ESP32-POE are usable without removing components from the board as GPIO pins?

Thank you

maybe this would help   https://www.olimex.com/Products/IoT/ESP32/ESP32-POE-ISO/resources/ESP32-POE-ISO-GPIO.png     

Check the legend in the right down of the img - then check the gray boxes.

At least for me, was possible to use GPIO0 and 1 for CS for SPI for another LCD's ( altought depending on case by case this may not be generally true so be cautious - it might not work for you, for me the USB debug information seems to be affected by GPIO1).  Will try in the next period the other  GPIO's marked as free to use there , I am pretty sure I won;t encounter issues.