-->
Page 1 of 7

ESP12E Useable pins and schematic feedback

PostPosted: Mon Nov 07, 2016 6:09 pm
by spy king
I am trying my hand at board design, so bear with me! :D
The board should have the following capabilities:
Auto flash and reset via FTDA
4 PWM outputs for analog RGBW strip dimming via suitable Mosfets (GPIO12,13,14,16)
- Can I still use the deep sleep mode on GPIO16 in addition?
I2C for additional peripherals (GPIO04,05)
- Can also be on other pins as I2C is software on the ESP8266 correct?
Addressable strip via DMA i.e on RDX0/GPIO3
- Does this need some resistors to allow for code flashing when connected to the strip?

Here is my current schematic:
ESP12E_Schematic.PNG


I would be grateful for some feedback from the gurus here!

Re: ESP12E Useable pins and schematic feedback

PostPosted: Mon Nov 07, 2016 9:15 pm
by lethe
spy king wrote:4 PWM outputs for analog RGBW strip dimming via suitable Mosfets (GPIO12,13,14,16)
- Can I still use the deep sleep mode on GPIO16 in addition?

No, for deepsleep to work, you need to connect GPIO16 to /RST, so everytime GPIO16 goes low, the ESP will reset.
GPIO16 is a poor choice for PWM anyway, since it is internally connected to the RTC, not the CPU, so it is too slow for PWM (at least espressif's PWM code will not work on GPIO16).

I2C for additional peripherals (GPIO04,05)
- Can also be on other pins as I2C is software on the ESP8266 correct?

Yes.

Addressable strip via DMA i.e on RDX0/GPIO3
- Does this need some resistors to allow for code flashing when connected to the strip?

In my experience: no, but the LEDs will light up with random colors as they try to process the serial data as input (only tested with SK6812RGBW, other LEDs may behave differently). You may want to add a jumper to disconnect the strip during programming.

Re: ESP12E Useable pins and schematic feedback

PostPosted: Tue Nov 08, 2016 3:58 am
by spy king
lethe wrote:
spy king wrote:4 PWM outputs for analog RGBW strip dimming via suitable Mosfets (GPIO12,13,14,16)
- Can I still use the deep sleep mode on GPIO16 in addition?

No, for deepsleep to work, you need to connect GPIO16 to /RST, so everytime GPIO16 goes low, the ESP will reset.
GPIO16 is a poor choice for PWM anyway, since it is internally connected to the RTC, not the CPU, so it is too slow for PWM (at least espressif's PWM code will not work on GPIO16).

Ah, I did some more reading into that, thanks for the heads up! I shall forgo the deepsleep and connect it to a simple switch output.
lethe wrote:
I2C for additional peripherals (GPIO04,05)
- Can also be on other pins as I2C is software on the ESP8266 correct?

Yes.

Would it be an issue to reassign I2C to GPIO00 and 02, as they are pulled up during boot?

lethe wrote:
Addressable strip via DMA i.e on RDX0/GPIO3
- Does this need some resistors to allow for code flashing when connected to the strip?

In my experience: no, but the LEDs will light up with random colors as they try to process the serial data as input (only tested with SK6812RGBW, other LEDs may behave differently). You may want to add a jumper to disconnect the strip during programming.

Noted!

Re: ESP12E Useable pins and schematic feedback

PostPosted: Tue Nov 08, 2016 8:50 am
by martinayotte
Would it be an issue to reassign I2C to GPIO00 and 02, as they are pulled up during boot?

Not at all, those pins a perfect fit since they have already the pull-ups.
(I'm using I2C with those pins for almost 2 years)