Shall I throw away a USB-Less ESP32 with an integrated 8-relay module?

I read a while back you could use a nodemcu-like ESP as a serial adapter. Never tested it myself, though.

https://www.reddit.com/r/esp8266/comments/d1o6pc/using_nodemcu_d1_mini_as_usbtoserial_converter/

1 Like

Thank you very much for the info! Will check this out.

Sounds promising. Thank you very much. Will check it out.

So, I’m trying this path with a D1 Mini (ESP8266).
The instructions are:

Connect EN to GND on the NodeMCU to disable ESP8266 chip

TX/RX connection is not crossed as opposed to using TTL breakout.

You can use NodeMCU's D3 pin as DTR

So connecting to Arduino Pro Mini for example:
NodeMCU → Pro Mini
GND → GND
3.3V → 3.3V
TX → TX
RX → RX
D3->DTR

Any idea what the heck is the “EN” in the D1 Mini?
Any idea what the heck is the "DTR " in the ESP32?

If you don’t need it gift it :gift: to someone but don’t waste resources by trashing :put_litter_in_its_place: it just because you don’t have a use for it :bulb:

EN pin is enable pin.
I’m not sure that is on the breakout board of the D1 mini.
Perhaps you need to solder it directly on to the ESP-chip.

I suggest you get a proper TTL flasher instead.
It will be so much easier and you will be using it some time in the future anyways.

1 Like

Could you point me to a nice TTL flasher I can grab for example from Aliexpress?

You need to ground GPIO0 - in case of D1 Mini it is the pin D3.

1 Like

Thanks sir.
Now i just need to know the meaning of "DTR " in the ESP32.

I think any TTL flasher will work.
Just make sure it has both 3.3 and 5 volt modes.
And make sure you use a multimeter to test the voltage before using it

1 Like

You can ignore that. Just connect the Voltage, Ground, TX, and RX pins, and keep GPIO0 grounded before you turn on the ESP.

1 Like

Dully noted. Will do.

Will try it out. Will let you know about the results.

Sure thing!

Reporting on this path.

I did connected the D1 Mini with the ESP32 relay board, like so:

I used web.ESPHome.io in Chrome to install this code, which I adapted adapted from here:

esphome:
  name: esp32-8xrelay
  friendly_name: ESP32_8xRelay

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "..................."

ota:
  password: "................"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp32-8Xrelay Fallback Hotspot"
    password: "..........."

captive_portal:

# Status LED
light:
  - platform: status_led
    name: "RelayBoard Led"
    restore_mode: ALWAYS_ON
    pin:
      number: GPIO23
      inverted: true

# 8 relay outputs, exposed as switches in Home Assistant
switch:
  - platform: gpio
    pin: GPIO32
    name: Relay1
    id: relay1
  - platform: gpio
    pin: GPIO33
    name: Relay2
    id: relay2
  - platform: gpio
    pin: GPIO25
    name: Relay3
    id: relay3
  - platform: gpio
    pin: GPIO26
    name: Relay4
    id: relay4
  - platform: gpio
    pin: GPIO27
    name: Relay5
    id: relay5
  - platform: gpio
    pin: GPIO14
    name: Relay6
    id: relay6
  - platform: gpio
    pin: GPIO12
    name: Relay7
    id: relay7
  - platform: gpio
    pin: GPIO13
    name: Relay8
    id: relay8    

And the result was this: video5942618425506402734

Repeated, but this time, following the process I normally go when programming ESP32’s - I pressed the IOO button (equivalent to “boot” I think) while booting and when beggining the code upload in ESPHome.

Result was the same.

Any ideas?

I don’t think the board actually got in to flash mode.
I have a hard time thinking that the flash mode of an ESP would light up LEDs like Knight rider.
That seems to be some programmed code flashing the LEDs.

1 Like

We’re thinking pretty much the same here. Today I will give a go to a USB to Serial converter, maybe this way Im more sucessful.

That’s an LC Technologies 8-relay ESP32 board. I’ve used two of them with ESP8266 and they flash fine, once you install the pin headers beside the microprocessor and connect a USB-to-TTL serial cable. I’d imagine the ESP32 version is very similar. Identify the TXD and RXD and GND pins, and you should be good. It appears you connect together the IO0 and GND pins to flash it.

From their web page, the ‘Burn Interface’ is the pin header at the ‘top’ of the ESP32:

1 Like

So here is, probabily my final update.
I fetched a CP1204 USB to TTL converter.
I wired it like so:


I could only see some signs of life with the 3.3V option, in opposition to the guidelines here:

Or here: ESP32 Relay X8 Board to switch pins with browser

Also, i had to use the DTR pin from the conversor, wired with the I0O pin of the ESP32. No many sources refer to that.

Also there are contradicting sources mentioning the conversor RX goes to ESP RX, and that conversor’ TX goes to ESP TX. It’s the other way aroung: TX-RX and RX-TX.

Anyway, one notices the thing is only ready for programming when: the power led is on + the D20 (Programming LED) is blinking and the relays leds are like a Knight Rider state.

(use the image shared by @FredTheFrog for reference)

But that is not enough.

(From now on, I assume you have your conversor connected to a PC USB.)

  1. Go with Chrome or a web.ESPHome.io compatible browser to, well, web.ESPHome.io
  2. BEFORE anything else, press both the “EN” and “I0O” buttons, and hold them responsibly;
  3. Connect your device in ESPHome (browser), choosing the appropriate Port from the list;
  4. Select the compiled file you prepared and downloaded through home assistant, 3 days a go, when you tought this would be simpler;
  5. Select “install”.
  6. It will say “connecting”. When it starts “preparing”, you can release the buttons, responsibily.

I’m in a position to confirm that I now have sucessfully added the device to my ESPHome/HA installation, and I’m sucessfully relayin’ around.

Thank you very much for your kind help, kind people from this very generous community. You’ve my admiration.

1 Like

From the werner.rothschopf.net page, these are the pin headers:

esp32_relay_x8_headers

1 Like