Suddenly uploading does nothing (Leonardo, Linux)

Board: Arduino Leonardo
OS: Archlinux 32-bit
IDE: Arduino 1.0.1-1

Problem: Got the board a few days ago. Interfaced some electronics (12V, via at least 2kOhm resistors to pins (used 3 input pins 2/3/4 and 2 output pins 7/8) and Vcc, while GND is directly connected -- EDIT: See my next posting for details on interfacing the circuits), uploading worked fine all the time, ie yesterday, the day before, and today. I leave house today, come back several hours later (left it running meanwhile) and try to update the program again - there are no errors, the serial monitor works as usual, port is fine, it says uploading complete as always, board restarts and runs.. the old program version! It just "ignored" the update. I tried connecting it directly to the PC without anything connected to it except the USB cable and still the same: No error messages, looks as if it works, but the program that runs is actually the previous version.

As usual I had the port in 'ls' command (and I'm in group 'uucp'):
crw-rw---- 1 root uucp 166, 0 Jul 27 23:33 /dev/ttyACM0

And lsusb still shows as usual:
Bus 003 Device 007: ID 2341:8036 Arduino SA

Then I tried with SHIFT+upload button and got an error message (I don't know if I got this previously when it still worked, since I never used SHIFT+upload button at that time, only normal upload button):
avrdude: usbdev_open(): did not find any USB device "usb"

Then I changed from the default programmer "AVRISP mkii" to just "AVRISP" (I don't know if that actually works with Leonardo, but I was out of ideas) and instead got:
avrdude: stk500_getsync(): not in sync: resp=0x60

On a side note, since I also checked the temperature of the board ICs: The Atmel CPU and the other chips are hardly getting warm, but there is one small "spider-like" chip with 8 pins, just to the left of the pins "SCL", "SDA" and "AREF", which is gettting extremely hot (ie burns the finger). Is this normal?

(12V, via at least 2kOhm resistors to pins (used 3 input pins 2/3/4 and 2 output pins 7/8) and Vcc, while GND is directly connected)

I don't understand what you mean here. If you connected +12V to an Arduino digital pin thru a 2K ohm resistor then this has probably damaged the board.

which is gettting extremely hot (ie burns the finger). Is this normal?

I doubt it very much.

Pete

el_supremo:

(12V, via at least 2kOhm resistors to pins (used 3 input pins 2/3/4 and 2 output pins 7/8) and Vcc, while GND is directly connected)

I don't understand what you mean here. If you connected +12V to an Arduino digital pin thru a 2K ohm resistor then this has probably damaged the board.

Well I should have been more specific, here is a detailed explanation of how I set it up, for level-shifting between the 12V and 5V:

Circuit -> Arduino (x3):
Each output pin of 12V circuit goes through a 3.3k resistor to NPN-transistor base, which emitter is connected to GND, and the collector goes via 1k to an Arduino input pin and also via 4.7k + 2.2k to Arduino Vcc (pull-up). (All 3 transistor collectors go through 4.7k each, then are combined and routed through the additional 2.2k to Arduino Vcc, NOT 12V circuit Vcc.)

Arduino -> Circuit (x2):
Output pins of Arduino goes through 5.6k resistor each to NPN- and PNP-transistor bases respectively (47k pull-down resistors to GND/Vcc respectively), which control the 12V circuit.

(On a side note, according to http://arduino.cc/en/Main/arduinoBoardLeonardo input pins shouldn't exceed 40mA, and a 2k resistor would already limit the current down to only 6 mA, even if it was 12V. But AFAIK the Arduino cannot read HIGH/LOW levels from 12V input anyway, so it must be done via level shifting or optocoupling.)

I tried running arduino as root, and the error messages disappeared. So no errors at all now!
Still it won't actually overwrite the existing program. :frowning:
And the small chip (I cannot identify it in the downloadable circuit pdf) gets hot instantly on connecting the (pure) board to USB by the way. No warming up time, and nothing attached to the board except USB.

Has something changed with the Leonardo, or is it the way Archlinux sets up that port? Mine using Ubuntu 11.10 and a Mega sets /dev/ttyACM0 to group dialout, not uucp.

SurferTim:
Has something changed with the Leonardo, or is it the way Archlinux sets up that port? Mine using Ubuntu 11.10 and a Mega sets /dev/ttyACM0 to group dialout, not uucp.

According to the current Archlinux Arduino installation instructions that's how it works, yes. I don't know if it used to be different in the past.

Is my case unique? I was hoping that someone knows about this problem.
Well if noone knows what's wrong then I guess I'll return the board. However, if anyone from Arduino staff wants it for analysing what is wrong with it then I can send it to you.

The troubleshooting section said to ask on the forum as a last resort, so I'm surprised about the lack of feedback.
Last call. If nobody has an idea, the board gets returned the store tomorrow.