Arduino Uno Rev3 vs. Rev2 reset circuit changes

Hello all,

Does anyone know what the exact changes were to the “reset circuit” between Rev 2 and Rev 3 of the Arduino Uno? The changelog only says “Stronger RESET circuit.”

I ask because I have a number of customers who have the Rev2 Uno which does not work with my shield*, while the Rev1 and Rev3 do, and I’m trying to find a workaround for them.

    • the problem is that the sketch does not start without first pressing the reset button. This only happens with Rev2 Uno’s.



The change was to add a diode wired from +5vdc to the reset pin, cathode to +5vdc. The prior auto-reset wiring design could cause an intermittent latch-up problem when auto-reset was activated. This 'latch-up' problem could effect most prior arduino boards, not just the Uno boards, but was a little more prevalent when the Uno R2 design added a pull-down resistor on the 8u2 reset signal line. We never did find out why they added that resistor in the R2 design. Didn't really matter because we could duplicate the symptom on boards prior to R2, just not as frequently. There was a long post on this forum about this problem and I spend some time with others helping to try and verify if it was a real problem or not. It was real but pretty difficult to demonstrate in a repeatable manner. The problem was that the capacitance coupled reset pulse was sometimes triggering the arduino reset function into activating into it's high-voltage programming mode by creating a +10vdc pulse to the reset pin, rather then just a standard reset. Again it was not a common fault that everyone would experience as a lot depended on if a load was also wired to some of the I/O pins, like a pull-up or pull-down resistor, I forget which and which pins were most likely to help trigger the internal chip conditions needed to reproduce to the symptom.

Again there was a long posting on the subject that took some time to verify/reproduce the problem and analyze what was the cause of the latch-up condition. It then took some time for the Arduino company to also study the issue and either acknowledge the problem and come up with a solution or ignore it as 'seldom' being a problem. To their credit they did implement the solution, the added diode. Long story short, I expect to see the new external diode clamp used on all future arduino boards that utilize a capacitance coupled auto-reset pulse design and use the AVR mega chips. And it's pretty simple for any user to retro fix the solution by wiring a diode between reset and +5vdc, either on the Arduino board itself or on a shield connected board or by just sticking diode leads in the the shield pins (or on the ICSP pins) on the arduino board.



Thank you very much for the explanation. Now that you mention it, I do recall having seen that thread a while back...

Sounds like a pretty straight-forward work-around, I'll test it and inform my users. I expect the issue being our shield has set the conditions just right for the R2 boards. I don't know that it's all R2 boards, but all people reporting the issue on my end have been R2 users. But, as they say - you don't hear about it when things work right. =)


i know this is an old thread but I stumbled on it while searching for the reset diode

what I was searching and would like to ask is what value diode to I use

is it a standard 5v zener or do I use a 1n00x



CrossRoads: 1n4148