Hacker News new | ask | show | jobs
by undecisive 718 days ago
Am I missing something? Neither schematics nor my limited understanding of physics explains why you need to, nor how it is possible to, bend one of the pins to disconnect GPIO0 (chip-row, 3rd from the left) from the reset pin (edge-row, 2nd from the left)...

Is it me? Have I been misusing my 8266s all this time?

Otherwise, good article, nice idea, great conclusion!

4 comments

I’m almost ignorant on this device, but FTA (https://frenck.dev/diy-smart-doorbell-for-just-2-dollar/#2-t...)

“This relay module board for the ESP-01(S), It comes pre-soldered, and the ESP will just slide on top of it.”

So, bending that pin breaks a connection between the CPU board and the relais board, so that pressing the doorbell wouldn’t be able to send a reset signal to the CPU, or, as the article says:

FTA: “Without this modification, a doorbell button push would result in a reset/restart of the chip, which of course, isn’t what we want”

That made me wonder why the hardware is hooked up that way by default in a device that gets sold for this specific purpose.

A few searches learnt me that the device has a deep sleep state where it uses very little power. The only way to wake it up externally from that state is through a reset.

https://johnmu.com/quick-boot-button/ taught me that it can boot in about 100ms, and get WiFi on in a few seconds.

=> I think that keeping that pin in place is the intended way to use this hardware combo.

The device would boot when the bell is rung, first close the relais switch to ring the bell, and then do any home automation stuff a few seconds later. Latencies look acceptable to me.

I ideally would want to power it completely from the button push or, at least, from the same adapter as the doorbell, but both will be challenging. The first doesn’t deliver enough power for long enough, the second likely doesn’t run on 3.3V.

> The first doesn’t deliver enough power for long enough

Charge up a capacitor, maybe?

Ahh! So it's not the ESP that has an extra connection, it's the relay breakout board.

That makes much more sense.

Yeah, I guess you would need to sound the doorbell every boot, and that might be inconvenient in places with a lot of power supply issues / loadshedding.

That said, that quick-boot-button link? That's some brilliant info right there.

> I guess you would need to sound the doorbell every boot

Funny that the store bought wireless doorbell I have does exactly that. :D I guessed it does that to avoid/reduce returns from people who doesn't manage to pair it with the doorbell button and think that it is "not working". So pre-emptively they do a chime right after you plugged in to show that it is working.

> I guess you would need to sound the doorbell every boot

It disconnects from wifi when rebooting, doesn’t it?

Let me take a swing at this: the chip itself has two GPIO. The dev board the chip is soldered to already uses up one of them for the reset system, allowing the chip to programmatically reset the whole board. You’re basically undoing that so you can use it. I’m guessing the consequence is you can no-longer have the software reset the whole device anymore.

And now if this is wrong, hopefully I’ll be corrected and we’ll learn more. :)

Cunningham's law baiting - I love it!

So yeah, turns out it's nothing to do with the 8266's board, and everything to do with the chosen relay module. Since it has nothing to do with driving the relay, it doesn't need to be connected. But if it were connected, whenever it is high, the relay board connects it to the reset, so the chip gets reset.

So you are bending it simply to ensure that pin can't be plugged in to the relay

There's some DRMed video that shows how to do it, and some text explaining why:

https://i.imgur.com/nNMMdhF.png

Yeah, somehow I completely misread that sentence.
It's explained in the article.