I am getting extremely frustrated with the Arduino Leonardo and I really hope there is some fix for my problems.
It seems that the Leonardo somehow seems to think it is two devices. In one mode everything is fine, in the other mode the LED at pin14 starts to blink (or sort of fade in and out) and its useless. This also reflects in my laptops (and those of my students) task manager, where the Leonardo identifies as two different devices, often switching back and forth continuously. In particular I am having following problems:
1) Uploading code usually does not work. Thanks to a post by Nick Gammon, I figured out that this can (most of the time) be fixed by holding down the reset button while the code is compiling.
2) If I unplug the Leonardo from USB power and then plug it back in, I usually need to re-upload the code for the sketch to work properly.
3) The serial communication often randomly stops working. The Leonardo then acts as if its communicating with some other software. (i.e. the Arduino IDE tells me no serial port available, but the Leonardo itself is doing what it should.)
All of these things can be worked around, however it is *extremely* frustrating, as I am working with kids who have no idea of anything (most kids already need instructions on how to unzip the software). The fact that the boards need to be coaxed and cradled in order to perform seems like such an unfair hurdle to them, especially as I know that other boards don't have these issues, but simply work.
However I am now running into more problems, and I cant even solve them myself:
4) The leonardo stops functioning and resets without any obvious reason I can identify
(EDIT: I assume this was a power problem - some tweaking of the code made it go away. The fact that the serial connection is as flaky as it is just made it difficult to debug and initially lead me down a wrong rout. I just deleted the rather lengthy explanation of the problem as its no longer relevant. My core displeasure with the leonardo stays though :-/ )
a) Is there anything I can do to make these boards behave? Is there anything I am doing wrong? Am I missing something?
b) Assuming I am not the one who is doing it wrong - then these boards are really faulty. I am quite angry as I just bought 20 of them and they are making this a *lot* more difficult than it need be. Both for me and my students. I wish I would have bought other boards and I wish I could return them or exchange them. Am I the only one who has these complaints? Is there any official word on this?
I just read through http://arduino.cc/en/Guide/ArduinoLeonardo
and they do address some of the issues I have. However, they don't really offer any solutions other than the work arounds I have already found and I still don't know why my sketch is currently resetting.
Anyway. I *do* welcome suggestions on how to handle these boards with the least problems as I am stuck with them for the time being.