Prevent board reset with 110 ohm resistor ... That trick is not working. Help!

For a specific application reason, I need to prevent the following thing from happening:

Rather than requiring a physical press of the reset button before an upload, the Arduino Uno is designed in a way that allows it to be reset by software running on a connected computer. (...) This setup has other implications. When the Uno is connected to either a computer running Mac OS X or Linux, it resets each time a connection is made to it from software (via USB).

(ref: http://arduino.cc/en/Main/ArduinoBoardUno )

The reason is that my particular project will require the Arduino USB cable connected to a PC at all times, and there is also a particular piece of software on the PC which scans the serial ports for GPS's periodically. Each time this scanner software hits the Arduino, it resets. I need the Arduino not to reset in this case.

I am aware that I can scrape away this trace:

The Uno contains a trace that can be cut to disable the auto-reset. The pads on either side of the trace can be soldered together to re-enable it. It's labeled "RESET-EN".

(ref: http://arduino.cc/en/Main/ArduinoBoardUno )

I have successfully been able to scrape away this trace, and it works. However, this is a very fiddly thing to do that is not a pleasant procedure to undertake. And it is my intention to build several identical devices, each with their own Arudino Uno inside, that need this auto-reset feature disabled.

I could scrape away the pad on every one of the Arduinos, but, since I'm in the middle of the design of the PCB that will attach to the Arduino, I thought, maybe there is a way to do this much easier in my PCB design without having to scrape away traces on the Uno board. If I could just incorporate this into the design of the PCB, then the assembly of several of these devices would be much much easier, without any trace-scraping required.

Sure enough, there is this quote here:

You may also be able to disable the auto-reset by connecting a 110 ohm resistor from 5V to the reset line; see this forum thread for details.

(ref: http://arduino.cc/en/Main/ArduinoBoardUno )

Aha! So I follow the link to that forum thread, and it says it should be as simple as connecting a 110 ohm resistor between the 5v pin and the reset pin. I can only assume it means the header connectors labeled "5v" and "Reset" on the board, the ones just above the Vin and the two Gnd pins.

Now, as mentioned in the thread, 110 ohm is a fairly rare value, and the local Radio Shack didn't have any on hand. So I got a pair of 220's and twisted them together, side by side in parallel, which, if I remember my theory correctly, should halve their value, thus making the resistance 110. I connected those to the 5v and Reset pins, and....

... it still resets when a piece of software connects to the USB port.

What am I doing wrong?

Instead of that, put an electrolytic capacitor, in the order of 10uF or 22uF or so, between reset and ground. It works much better.

Thank you for this! Is there a particular specific optimum value for the capacitor that will be the most reliable to make sure this works correctly in all cases?

Note: I should have also said that I'm driving some 5v relays off of the 5v rail too, in case that makes a difference.

All you are doing is smoothing out the signal from the RS232 interface that causes the reset. It doesn't take much capacitance to do this as it's a very short pulse, but the more the better.

I have never had a problem with 22uF - a value I chose because I have hundreds of them here (it's a very useful value).

Awesome.

Since I didn't have any capacitors on-hand and wanted to try this quickly, I found an old video card with some 16v 22uf capacitors on it. If I cannablized one of those, should it work?

Also: Capacitor anode (-) goes to the Reset line, (+) goes to the +5v line, right?

Also: Capacitor anode (-) goes to the Reset line, (+) goes to the +5v line, right?

Nonono

The cathode is minus, and that goes to ground. The anode is + and that goes to reset.

I remember it as "AC, +-".

Aha, between reset and ground, not reset and 5v. Looking back at your first post, I see now that you said that, but my mind was wrapped up in the prior thing with the resistor.

Interestingly, hooking it up the way I said (between reset and 5v, with the anode to reset), seemed to work. However, for reliability's sake, I'll try it again the way you said it.

I'm also updating the PCB design and the parts list... stop me if there's any gotchas, such as the capacitor voltage, that I should worry about. :slight_smile:

Oh and yeah, I was getting andode and cathode backwards...

... And "seemed to work" was an overstatement. After leaving it hooked up that way for a bit my Arduino board was way hot to the touch. I hope I didn't cook something.

Hm, with the capacitor soldered up the way you said, there is still a spot on the Arduino board that's getting spectacularly hot. Near the power receptacle. Hm.

Okay, my board is getting hot no matter what, even with the capacitor desoldered. Maybe this problem has been present all along in my design and it's got nothing to do with the cap. Hm.

What component is there at the place it's getting hot?

Given that he said earlier that he was driving relays off of the 5v line, I would be led to believe that they are causing the voltage regulator to heat up. So I would guess that that is whats happening. Or when you connected the capacitor to 5v and reset you might have damaged something that shorted the regulator and damaged it.

Yeah, I've solved the issue. The heating up thing wasn't related to the capacitor of course, turns out that my design, driving the relays off of the +5v line, they were pulling way too much current and heating up the Arduino board. I've re-architected the design so now it's 12v relays, pulling their power off of VIN, with a required 12v 0.5a power supply plugged in.

(That was actually my original design, and then, I discovered that I could get the 5v relays working, and I thought I could do it without the 12v requirement, but now I see that it's better if I just go back to that older design.)

Thanks for your help!

You want to keep the reset pin at ~5v to prevent the reset. I used a 100 ohm resistor between the reset pin and the +5v pin and the auto reset was defeated without any noticable ill effects. Your other electrical issues probably prevented the reset pin being kept high enough to block the reset with your origional resistors.

So which is going to be a better and more reliable way to prevent auto-reset? A capacitor to ground, or a resitor to +5v?

So which is going to be a better and more reliable way to prevent auto-reset? A capacitor to ground, or a resitor to +5v?

Have you asked your mom? :roll_eyes:

The ArduinoISP guide recommends the capacitor.

I independently worked out that a capacitor should be used.

I would go with the capacitor.

OMG! it works my friend! THANK YOU!

I putted a capacitor of 10 uF between the pins reset and gnd works perfectly, but well i don't like how it looks the capacitor, so i am going to try to cut the trace labeled "RESET - EN"