arduino / arduino-examples

Arduino IDE bundled examples
Creative Commons Zero v1.0 Universal
90 stars 41 forks source link

ArduinoISP Example should be renamed "Arduino_as_ISP" #57

Closed morrowsend closed 2 years ago

morrowsend commented 2 years ago

Describe the problem

I teach beginner programming and I ALWAYS have to make an excuse for the naming convention of "ArduinoISP" being the filename of the code that converts an Uno into an ISP programmer. Because when selecting this programmer from the Tools menu, you cannot select "ArduinoISP" which has the same name, but is in fact a completely different device. You must select "Arduino as ISP".

Even the official Arduino as ISP tutorial shows "ArduinoISP" as the example filename while telling you NOT to select ArduinoISP as the programmer device here: https://docs.arduino.cc/built-in-examples/arduino-isp/ArduinoISP#load-the-sketch

To reproduce

Try to run the "ArduinoISP" example code on an uno, then select "ArduinoISP" on the tools menu and try to talk to it via Tools-->Upload using Programmer. It will fail. Then change the programmer to "Arduino as ISP" and it will be able to talk to the programmer without issue.

Expected behavior

Select the code from File-->Examples-->_11.Arduino_as_ISP._ Then select "Arduino as ISP" from the tools menu to use that device.

The examples version

all versions

Additional context

No response

Issue checklist

per1234 commented 2 years ago

Hi @morrowsend. Thanks for your report.

I agree that the naming collision between Arduino's unrelated retired ArduinoISP ISP programmer product and the sketch name is very unfortunate.

I have personally seen quite a few instances of confusion that resulted from people selecting Tools > Programmer > ArduinoISP instead of Tools > Programmer > Arduino as ISP as would have been correct for their project. I have always suspected the sketch name might be a contributing factor (though I also think the two similarly named programmers would result in some confusion regardless).

Unfortunately I'm certain that renaming the sketch at this point would cause more harm than good. There is a tremendous number of tutorials, forum threads, etc. which explicitly mention the current sketch name.

So I will not be able to accept your proposal. However, other proposals for mitigating this issue in a non-breaking manner by more clearly communicating the appropriate programmer selection to the user are welcome.

morrowsend commented 2 years ago

Might a non-breaking solution be to simply add a new example "12. Arduino as ISP" with the same code?