Blog Home

Enabling auto-reset on the Arduino NG and serial boards.

David MellisSeptember 7th, 2007
Arduino NG Auto-Reset Modification

One of the new features we added in the Arduino Diecimila is the ability to upload sketches to your board without having to physically press the reset button. The Arduino software automatically resets the board before starting the upload. If you’ve got an Arduino NG or serial board, you can give it this same ability with a little bit of soldering. Tom’s written up the instructions for the NG, and nkcelectronics posted instructions for serial boards.

One cautionary note: because the automatic reset works by using the serial DTR hardware control line, boards will auto-reset whenever you open a serial connection (i.e. via the USB cable) to them. This should be fine in most cases, but you might want a second or two delay before sending data to the board.

Categories:Hardware

15 Responses to “Enabling auto-reset on the Arduino NG and serial boards.”

  1. Old School Hacker Says:

    Arduino NG Mod…

    The Arduino bloghas a post up showing those of us who own Arduino NGs how to negate the need for manual reset before loading with a program. The only change I would make is that I would see if I…

  2. Oli Says:

    It also works on older Arduino Extreme boards. You have to solder a wire directly to the FTDI’s finepitch DTR pin and connect it over the 100nF capacitor with the reset line. It’s not that hard, it can be done and it works! I’ve no working camera at hand… so, I’m sorry, no pics.

  3. uC Hobby » Blog Archive » Bare Bones Arduino Diecimila Mod Says:

    […] saw that the new Diecimila Arduino was recently released then read an article about modifying an older board at the Arduino playground and figured that we should be able to do a similar mod to the Bare Bones […]

  4. Arduino - NGAutoReset » Developages - Development and Technology Blog Says:

    […] – NGAutoReset – [via] […]

  5. Arduino - NGAutoReset Says:

    […] – NGAutoReset – [via […]

  6. Techzi » Blog Archive » Arduino - NGAutoReset Says:

    […] – NGAutoReset – [via] […]

  7. Relentless Media » Blog Archive » Arduino - NGAutoReset Says:

    […] – NGAutoReset – [via] […]

  8. Ben Says:

    “the automatic reset works by using the serial DTR hardware control line, ”

    should be RTS, right?

  9. mellis Says:

    Nope, we’re using DTR. I think there was some issue with RTS, though I don’t remember what.

  10. Ben Says:

    The Hacking page (http://www.arduino.cc/en/Hacking/NGAutoReset) indicates the “bottom two pads”. Unless my eyesight’s really gone to pot, the “lower” pair of pads connect to pin 3 on the FTDI, which is RTS (both according to the NG schematic and the FTDI data sheet).

    If 009 loader is asserting DTR, then this might explain why I can’t get the auto-reset to properly work with the 0.1uF cap on the lower pair of pads. I’m off to move the cap to the top pair of pads…

  11. Miguel Sanchez Says:

    I’ve posted to Libelium’s wiki the photo of the right solder location, as the previous poster mentions, it is wrong in the blog’s photo.

    http://www.libelium.com/squidbee/index.php?title=Adding_autoreset_feature_to_Arduino_NG_rev.c

    Just to be sure I tested both locations (that is why the pcb is so messed up) and the one on the photo is the only that works for me, using DTR pin.

  12. Keith’s Electronics Blog » Blog Archive » Arduino USB Auto-Reset Hack Says:

    […] Small annoyances, to be sure, but they add up quickly when you’re trying to tweak a timing constant in a program and uploading software repeatedly. Thus in designing the latest Arduino, the Diecimila, the team addressed these two issues. […]

  13. xSmurf Says:

    Wow I totally missed that one! I have a rev c NG and have the cap on RTS and it’s been working just fine for over 6 months (0009, 0010 & Makefile)… Wished I knew what the issue was

  14. Judas Gutenberg Says:

    I love auto-reset, but it’s opened up a can of worms when using long serial links. (I have a serial Freeduino, since it is far from the computer, beyond USB range.) Whether it’s DTR or RTS, over a certain length of cable, even of the shielded kind, noise easily sets it off. I’m working from a 100 foot shielded cable right now, and I get resets when I turn on a 120 volt light bulb in the same room with the Freeduino (which is powered by a 12 volt wall wart connected to that light’s circuit).

  15. msl Says:

    This method works on Arduino UNO?, I need use this because the IDE show this error on Mac OS X when try to load any sketch:

    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_recv(): programmer is not responding

    So I managed to upload the sketch pressing the reset button many times, and someone think that this error not show when the auto-reset are enable?

Leave a Reply

You must be logged in with your Arduino account to post a comment.