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)
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.
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?
EDITOkay 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.
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?
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.
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
What do you need the GPIOs for? GPIO13 is fine for output, for example, outputs are unaffected by pull ups.
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
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.