Go Down

Topic: Is it neccesary to pull-up the reset pin on home made Arduino board? (Read 1 time) previous topic - next topic

AgeingHippy

Hello All

I am building a perfboard Arduino.

I cam across a blog where the builder had placed a pull-down resistor on his reset pin, effectively placing the board in permanent reset mode. This made me realise a pull-up resistor is required, or is it?

I am wondering if I need to put a pull up resistor on the reset pin, or if I can safely allow it to float.

Currently I have a 2313 chip on a standalone board which does not have the reset pin pulled up or down when not programming and this seems to be running fine. Am I setting myself up for some random resets or is it safe?

Thanks for any advice

a.d

In the datasheet for the 328 (pg318) it mentions a reset pin pull up resistor in the same manner that it mentions the individual pin pull up resistors, so combined with reading elsewhere that you don't need one that's what I'd go for. The 2313 datasheet has a similar table on page 177.

Unless you're making thousands of boards though, what's the cost of a resistor?

Edit: I should mention to clarify that if you have a reset button, a resistor is needed, don't want any shorts! :)

AgeingHippy

Thanks a.d.

I guess a resistor (10kOhm) will not hurt.

Just laziness I guess - the less I put on my board the cleaner it is.

tim7

Looks like there's an internal pull-up resistor - check p47 of the datasheet.

AgeingHippy

Yes - I saw there is an internal pullup resistor, but would that not be used if you are using the pin for input/output?

In this case it is dedicated to be the reset pin, so maybe the pullup is done automagically??

Coding Badly

Yes - I saw there is an internal pullup resistor, but would that not be used if you are using the pin for input/output?


The internal pull-up is in place when the pin is configured as RESET.  The problem is that it is a very weak pull-up; probably in the 50K to 100K range.  I've been able to trigger a reset by touching the pin with my finger.  An external 10K resistor makes the reset more reliable.

Having said that, when I'm experimenting, I frequently exclude the external pull-up.  I have a few battery powered gadgets that don't have an external pull-up and they have been very reliable.

Grumpy_Mike

The other problem is that by default the pull up resistors are not enabled. Therefore you can't use it until the code is running. The code can't run unless this pin is high. See the problem?

Quote
I have a few battery powered gadgets that don't have an external pull-up and they have been very reliable.

What you mean is that you have not detected any problems with the limited use you have given this project. The rule in electronics is that if the data sheet says something is needed you better be pretty dam sure of what is happening if you ignore it. Otherwise all bets are off and the manufacturers will not be held responsible for anything the chip consequently does or does not do. For god sake it is only a resistor, even on my penny pinching projects that were made in there millions we would not do such a stupid thing.

retrolefty

#7
Jul 19, 2011, 12:24 am Last Edit: Jul 19, 2011, 12:26 am by retrolefty Reason: 1
Quote
The other problem is that by default the pull up resistors are not enabled. Therefore you can't use it until the code is running. The code can't run unless this pin is high. See the problem?


But is that true for the reset pin? I though it's set-up (with internal pull-up) by way of the fuse setting, not programmed with user code which is what the thread is about, or at least started up about. But your point about using progammable pull-up options on general I/O pins is correct. If the external circuit requires them for safe operations there will be a start-up delay before they will be enabled.

Lefty

Coding Badly

Quote
The other problem is that by default the pull up resistors are not enabled


When the RESET pin is configured to be a RESET pin, the internal pull-up is always enabled.  There is no way to disable it.

Quote
What you mean is that you have not detected any problems with the limited use you have given this project


I meant what I said.  In 2.5 years of use the gadgets have all been reliable.  Any problem would be recognized by the human.

Quote
if the data sheet says something is needed


Which is why I chose to not use an external pull-up on RESET.  There is no indication in the datasheet that it is required.

Grumpy_Mike

Quote
I meant what I said.  In 2.5 years of use the gadgets have all been reliable.  Any problem would be recognized by the human.

Sorry but this is a very naive view of reliability.

How many have you tested a dozen maybe two? I bet not several hundred. Also I suspect you have not tested it in respect to temperature and electrical environment, so one hot day a motorcycle drives past and you unit does not malfunction? A taxi is outside using it's transmitter? A motor generating interference has no effect on it? It is subjected to the waveforms in the FCC susceptibility tests?

The problem with some people is they think if they have something that appears to work then what they have is a reliable repeatable circuit. This is not true. If you are going to do something as drastic as this then you better be on solid ground. I notice that while the data sheet doesn't say it has to be pulled up it also doesn't say it is allowed to float. Data sheets are normally explicit on saying something is permitted to float if it is. The assumption in digital electronics, is that all inputs must be connected to something. The data sheet says it can't be connected to Vcc and connecting it to ground would see the processor not running (unless the disable external interrupt fuse was set), therefore it has to be connected.

retrolefty

Quote
Sorry but this is a very naive view of reliability.


That kind of reared it's ugly head in a recent posting a week or so ago. Seems the DTR automatic reset pulse can generate a +10vdc signal onto the reset pin and in certain cases (external pull-up wired to pin 4 or some other but not all I/O pins) can result in a 'locked up' processor condition until another reset is generated. Adding a reversed biased diode across the reset pull-up resistor 'cures' the symptom. Reset is a particular touchy function in that it's not only voltage sensitive, but timing sensitive (there is a minimum time requirement for a proper reset) and the pin has no positive voltage clamping diode as the pin is also a mechanism for high voltage programming mode.


Lefty  

tim7


Which is why I chose to not use an external pull-up on RESET.  There is no indication in the datasheet that it is required.


Agreed.  The datasheet shows a 30-to-60kOhm pull-up resistor permanently connected to the external-reset signal.  This is independent of the switchable 20-to-50kOhm pull-up resistors (which in this case is disabled, presumably via the RSTDISBL fuse bit).

The datasheet also implies that the external-reset signal is directly connected to pin PC6 meaning that the reset pull-up resistor is permanently applied to this pin, even when it is working as an I/O pin (I haven't checked this yet).

AgeingHippy

Damn!! Now I am really confused.  :~

I have fitted a 10k pullup resistor to the pin... I guess if I have problems I will remove it.

All very interesting though.

Coding Badly

Damn!! Now I am really confused.  :~


Sorry about that.

Quote
I have fitted a 10k pullup resistor to the pin...


In which case, spend the extra 10 cents and include the resistor.  It's worth the price.

Grumpy_Mike

Quote
I have fitted a 10k pullup resistor to the pin... I guess if I have problems I will remove it.


Wrong way round, with a 10K pull up you will have no problems, we were discussing if you have problems if you leave it out.

Quote
The datasheet also implies that the external-reset signal is directly connected to pin PC6

No it don't imply anything. the same physical pin can be used as either an external reset OR a GPIO pin 6 on port C. What it actually is can be determined by the fuse setting.

Go Up