madworm

I've managed to build some device ( 2 axis encoder for 2 piezo translation stages in vacuum if you must know, yes arduino made it into physics :-) ) and put in in a nice box. led control library works great, arduino just made my day :-)

But the auto-reset feature, as nice as it is while still working with the code, as soon as the box just has to work kills all the data acquired.I cannot disable the dtr line in my lab software (closed source), so I just had to remove this R2/3 capacitor. Btw. there is no pdf document/image that would show where R2/3 are, had to run eagle to find it :-(I consider myself quite skilled in those things - but it was hell. Removing smd parts without proper tools... hey !

For people who usually just use those nice prototype breadboards this is the perfect way to do permanent damage to the arduino pcb for sure.

The Arduino board is a development tool meant to assist in creating your design, not in an actual production environment. Ideally, you should build a board for your finished design with just the hardware you need (and all the hardware you need rather than plug in modules).

If people do want to use the Arduino in a production environment, that's fine, but I'd be against making changes or adding features (complexity) just to make it work better in a production in a production environment when it's a development tool.

For a hobbyist (especially when electronics is not the primary emphasis, as the Arduino seems to include in the target audience), the Arduino Diecimilla is priced reasonably enough to assume it may in fact be used in some permanent way. A one-off that I want to keep around for a particular task isn't really production, and it isn't a prototype either.

To the original poster, I've already made the same suggestion - I think that auto-reset functionality should be user-selectable with a jumper, too.

I'm not saying the Diecimila shouldn't be used for a one-off production project, just that I don't want to see it cluttered with features to make it a production board.

The beauty of the Arduino for this same target audince is its hardware simplicity. Why make it one more thing people who don't have an electronics emphasis have to use to get the board working the way they want?

Personally, I'd use the board in a project if I wanted the usb/serial chip and only if I did. Otherwise I'd find it easier to solder the MCU/crystal/caps onto the same perfboard as the other parts.

I'd like the Diecimila to be as simple to use as possible, and every jumper is one more thing that can be configured incorrectly. That said, it would be nice to be able to avoid the auto-reset in some way. There may be some software solutions related to serial port options (e.g. HUPCL). On Windows, for example, the board doesn't reset when you connect to it over USB.

madworm

...On Windows, for example, the board doesn't reset when you connect to it over USB.

hah !

maybe I had the wrong kind of board, but mine would reset every _single_ time I opened a serial connection to it. be it using the world famous 'hyperterm' or any other windoze software we use in the lab.

and talking about complexity, there's already a jumper on the pcb and I easily managed not to misconfigure that, never touched it actually :-)

now to the topic of 'production'. this box I built is one of a kind. there won't be a 2nd one and we needed it asap and with usb, that's why I chose to take the whole arduino board as is and just add the missing parts on a bigger hole matrix board around it. no time to have a custom pcb built for it. and for people who might have to repair it some day it's way easier to find a complete µC board that is so nicely supported by this community.

finally I feel the need to say that thanks to the GREAT webpage and IDE, I managed to build this device (hardware + coding + waiting for parts) within just 1 1/2 weeks staring from zero.

I consider myself quite skilled in those things - but it was hell. Removing smd parts without proper tools

If you did not have the proper tools I assume that you were trying to remove it without a soldering iron!

That is the only tool you need to remove a surface mount resistor (not capacitor). The technique is to use a larger tip, a blob of solder and move the iron repeatedly from one side of the resistor to the other. Very soon both side melt and it can be flicked off, with no damage done.

Hoeken

i second this request. its something that is very trivial, doesnt take up much space at all, and adds alot of value to the board for 'production' use. perhaps if the arduino folks dont do it, then one of the clones (boarduino, bbb, etc.) will add it.

adilson

i second this request. its something that is very trivial, doesnt take up much space at all, and adds alot of value to the board for 'production' use. perhaps if the arduino folks dont do it, then one of the clones (boarduino, bbb, etc.) will add it.

Well, this solution was implemented on Arduino Severino (the s3v3 version here: http://www.arduino.cc/en/Main/ArduinoBoardSerialSingleSided3 ), and "the folks" like you said, have discussed with me about this feature (the jumper to disable auto reset), suggesting the software solution, but at the end they accepted the hardware (jumper) solution.

So, if someone else will use this feature, this will not be a novelty, because the arduino team already did it, accepting its implementation on the Severino board.

Does anyone (particularly those of you in favor of a jumper) have time to see if there's are any software solutions to this? That would allow more flexibility, e.g. the ability to decide when to reset and when not to (so you could either connect to a running program or upload a new sketch).

adilson

I don't know much of software (that's the reason of the jumper of Severino), but is it possible to do something using the high fuse byte RSTDIBL? I know it will kill the reset button too (I think it's possible to achieve reset by other ways), but do you think this can be one SW solution for this problem?

madworm

Like what, hacking the OS ? And I don't want the arduino ignore its reset button either.A jumper is the cleanest way, not much to misconfigure, no getting lost in config files or other esoteric stuff.

I know this is not going to change the current pcb layout (maybe not even the updates), so it would be nice if at least a detailed image of the R2/R3 location were available on the webpage + some tips on how to remove it without killing/scratching/blemishing/desecrating the board. I guess the typical newbie arduino user would know how to get rid of non smd parts right away, but this - to me - barely visible smd capa. cost me some thinking around corners :-)

I believe there are some parameters you can set on the serial port to explicitly control the DTR line that we're using for the auto-reset. No OS hacking required. The Diecimila is intended particularly for beginners, so I inclined to prefer the simplicity of omitting the jumper. We're also looking into boards that are better for permanent installation, where this sort of thing makes more sense.

one thing that would work pretty well would be to use one of the FT233RL bitbang pins instead of the DTR pin. Then you'd use libftdi to twiddle that pin to reset the Arduino instead of relying on DTR. Another nice thing is that a capacitor isnt necessary anymore. Disabling the pin is pretty easy, just use MProg or set it to an input via libftdi when not resetting in the IDE