Hay hay amazing makers,
I’m trying to put together a simple delay on circuit.
Resistors, capacitor and mosfet.
I’m struck on getting the capacitor to do what I think it should do, start low and build up to full power, it’s starting at high and then discharging,




Hey Josh
You are connecting it the wong way around. Post a sketch of what you have got and what sort of delay you are after.
A simple resistor and cap has its limitations. Applied to a misfit it will not switch but the Mosfet will come on gradually. If you are wanting a “snap action” you will need a different approach.
Cheers Bob
1 Like
Hey Josh.
Not saying this is the only way to do this, but I had success using a 555 timer in the on after configuration in this project about step sequencers.
You can find the relevant section by running a find (ctrl+f) on “On after circuit”
1 Like
Hay bob, thanks for your help, I’m really confused now, everything I’ve read about mosfits say they are fast on switches not slow on. I may need to go back to the drawing board on this one ,
Im looking for a delay switch to keep the tx and rx pins on an Esp01 from being triggered at start up.
Hi Josh
They can be “fast” on but they have to be driven “fast”.
Pix 555 timer has merit especially if you need a long time. Comparators or schmidt triggers are another approach and I think there are dedicated “power on” timer ICs out there also. I am just assuming you are looking at “power on” delay here. If something else the possibilities are endless.
Cheers Bob
just saw this. Not sure how you are going to achieve this. Built into the software maybe??
Hi Josh
Add on:
Just found this in the Data sheet linked by Core fo their product. Page 14
Don’t know what this all means (I am completely ignorant of ESP01 and its used) but is this what you are trying to avoid.
Cheers Bob
Yeah, I’m going to need to have a look at that, basically the Esp01 has 2 gpio as standard available but if you upload over OTA you can use the rx and tx as gpio but on boot they go looking for info so I need to disconnect them for a few seconds at boot, at the moment I’m pulling wires and reconnecting them to make it work, I can also use Dpdt switch. Which might be the best option.
I can’t seem to fond that data sheet, can you link me
Hi Josh
Actually got to it via Core web site
I think they have a few different ESP32 is you have not said which one you have.
Cheers Bob
There are two problems and it is not clear which one you are trying to solve.
UART0 TX is activated briefly at boot time with a configuration message. This might cause problems with anything attached to that GPIO if they can’t cope with the signals. Most devices simply ignore it, but (for example) a relay might chatter. The fix is to re-allocate UART0 to a different set of pins as mentioned. Or, the message can be suppressed by driving GPIO15 LOW during boot. Note that the alternate UART0 pins might be pins that are not exposed by the particular development board you are using, effectively concealing UART0 entirely. Mostly it is solved by arranging the GPIO usage so that the device attached to GPIO0 does not respond to the sign-on message.
GPIO0 must be held high at boot time for the MCU to enter normal execution mode. If it is connected to a device then that device might hold the line low during booting, causing the MCU to enter programming mode (depending on other pin settings). If it is left disconnected then an internal pullup will drive it high, but this is a weak pullup and it is possible that an attached device will keep the pin LOW. An external pullup can be used, but for some devices this may not be possible, and a special circuit is required to connect the pin to a high logic level during booting, then connect it to the device while the code is initialising the ports. This is not a common situation and is usually addressed by re-arranging the pin usage so that GPIO can be held high during boot and still used as a general purpose pin once the code is executing and the pin can be configured. GPIO2 is similar, except that it does not output a sign-on message, and is ignored if GPIO0 is successfully held HIGH.
What I’ve found is that having the motor driver connected at start up causes chaos. So im looking to fix that and with my very limited knowledge all I could think of was to add a Dpdt switch or a delay to the pins .but I’ll try to get my head around what your said 
(attachments)
Hay Jeff, I’m struggling to get my head around some of what you’re saying, can I reassign the rx and rx to internal gpio pins ??
thanks jeff. Serial.swap()
1 Like
Hi Josh286640,
Just reading your interesting problem.
Probably not all that relevent, I’m sure there’s better ways to impliment this.
Have you considered taking a look at the schematics for the C46 8bit computer or the Tandy mc-10 8bit computer?
They both have very simple circuits that hold the CPU low for a second or so so that the CPU can settle on startup.
The C64 impliments a 555 timer approach and the Tandy MC -10 uses descret electronic components to achieve the low state.
I’ll see if I can upload a screenshot of the particular section of the schematic.
I’ll get back to you…
Apologies, I think the Tandy MC-10 uses an IC logic chip…
In this instance, I believe, that the low state is achieved by using a 74ls06 inverter to switch the 555 timers output to low.
Thanks for sharing your thoughts. At the moment I’ve got it wired on a switch that isolates the pins until after boot then I switch it over to operate the servo and dc motor, I know there’s a few other ways to do it but a manual switch is working for now.
(Attachment IMG_2780.mp4 is missing)
1 Like
Hi Josh286640,
No worries.
Oftentimes the simplest approach is the corrected one.