Use this forum to chat about hardware specific topics for the ESP8266 (peripherals, memory, clocks, JTAG, programming)

User avatar
By spy king
#57801 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!
You do not have the required permissions to view the files attached to this post.
User avatar
By lethe
#57806
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.
User avatar
By spy king
#57818
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!