Help for newbie programmer :)

jeric3182:
I didn't want to use the millis() function, so I used an increment op to get my 0.5sec interval.

Why don't you want to use millis? You can't do serial prints inside an ISR, so you'll have to test some sort of flag in "loop" to know when to output your data. So why not just test the time from millis?

 //This will run at a frequency of 120 Hz
  ICR1 = 16600; // TOP @ 16600 to make it 120 Hz
  OCR1A = 8300; // Initial OCR1A @ 50% Duty cycle
  TCCR1A |= 1<<WGM11 | 0<<WGM10; // Fast PWM
  TCCR1B |= 1<<WGM13 | 1<<WGM12; // ICR1 as TOP
  TCCR1B |= 0<<CS12 | 1<<CS11 | 0<<CS10; //Pre-scaled by 8
  TCCR1A |= 1<<COM1A1 | 0<<COM1A0; // Non-inverting mode
  TIMSK1 |= 1<<TOIE1;

Wouldn't it be a lot easier just to do an analogWrite with a value of 127? That's a 50% duty cycle. Does the heater need to be driven at a frequency of 120 Hz?