Arduino acting weird, various symptoms

I am trying to get my Arduino programmed for class, but it has decided to bug out on me even more so than usual. Earlier I was having problems with it not responding to upload a sketch, and right now it is not doing well. My program is below, just as a test, and the motor will just lock up, and I can only upload after plugging and unplugging the Arduino after a random number of tries. No idea what is going on, but my best guess is that it has to do with the Arduino itself, not the programming. Using an Arduino Uno on Win 7x64

#include <Servo.h>
Servo r1;
Servo l1;

void setup(){
 l1.attach(2);
 r1.attach(3); 
}

void loop(){
  l1.writeMicroseconds(1700);
}

isn't that code supposed to lock the motor up?

writeMicroseconds(1500) is supposed to lock the motors up, but I've tried from 1300-1700 with he same results

try placing a diode between RESET and 5V on the POWER connector, with the cathode (end with the bar) towards the 5V. it will need to be a small-signal one, such as a 1N914, 1N4148. note that a 1N4002 or similar power diode will likely NOT work.

this may fix the upload problems you are seeing. please do report back if it does fix them.

Nothing, but I had it in the spot for about 2 seconds and I smelled burning

EDIT: Ok, I tried to upload a program again and the IC caught fire. Tried to take a picture but you can't tell very well, but one side of the IC is a bit melted along with the power pins nearby, the reset button, and the board is scorched. Now the servos have decided they want to work, but I cannot upload programs at all

Why don't you try something that moves the servo? Insure you have a servo connected to pin 2.

#include <Servo.h>
Servo r1;
Servo l1;

void setup(){
 l1.attach(2);
 r1.attach(3); 
}

void loop(){
  l1.writeMicroseconds(2000);
  delay(500);
  l1.writeMicroseconds(1500);
  delay(500);
  l1.writeMicroseconds(1000);
  delay(500);
  l1.writeMicroseconds(1500);
  delay(500);
}

I don't power the servo with the same power supply as the Arduino. Too many spikes and surges. The Arduino only needs to supply enough current for the "data" servo line.

Add: Insure the Arduino power supply and the servo power supply have a common ground tho.

You might want to read the edit above, the IC blew up...

Ouch! =(

I use electric motors for power, and use the Battery Eliminator Circuit on the Electronic Speed Control for the servos, and another BEC (5v) for the Arduino.

Don't power the servo with the Arduino power supply.

Weird, I'm taking a class at Uni that has us using the Arduinos a bunch and this is how they told us to wire it. I'm going to talk to my professor when her office is open. Best part is, I have a huge Arduino project due in a week, and now I'm out an Arduino...

Where the picture?

I don't have it since my camera is terrible for macro shots, but I talked to my professor and she showed me where it shorted across the screws holding it in. She is letting me use a spare board until a new one comes in, and she's keeping my old board as a souveneir.