So, I managed to get everything working well, and even managed to tin the tip! However, the thermocouple in my RT-1 seems to be rather inaccurate. (also, the readings vary quite a bit... not sure what to do about that yet)
---------- more ----------
I realized that low power scenarios can affect the temperature reading quite a bit (e.g., when powering it from my USBtinyISP, the temperature reading is about 20 degrees higher than when powering the board on its own), and the original headphone jack no longer makes good contact with the tip. (it melted at the same time as I overheated the tip) So, I'm finally getting around to putting on a new jack! This one has a nice solid metal case, and seems much more robust than the one I had on there.
Also, I adjusted the code to do temperature readings in bursts - 5 times in a row with only 5ms delay between them - and average the readings. This made the readings much more stable, though there still seems to be some adjustment necessary; the thermocouple still shows the actual temperature to be significantly higher than what the tip is reading.
I also noticed some pretty loud noise coming from my power supply while the PWM is running, so I started looking into decoupling capacitors, but none of the combinations of capacitors and inductors I tried had any noticeable effect. I even tried a ZNR. I'll dive into that again later.
Also, I tweaked the firmware so the MODE button causes the PWM on the heater to go up to full, and wired up my ammeter so I could figure out how much current this thing draws. Started it up, held down MODE for a bit... 5A. Wow. Did it again (apparently without waiting long enough for the tip to cool) and the tip actually got red hot, but only drew about 3.5-4A. Luckily this is the same tip I had already overheated a while ago, and this time the stereo jack connection didn't seem to heat up at all! The solder on the tip had definitely oxidized, but that was simple to clean. Seems like the tip is still surviving all my experimentation!
In light of this, I added a MAX_HEATER_PULSE_WIDTH, and set it to 180 to limit current draw to a bit under 2A.
I also tried out my other new tip, which seems to be a bit more accurate on temperature readings... but it's weird; I wasn't able to tin the tip at all. Solder heats up great when it touches, but it won't wet the tip.
Next adventure will probably be adding PID so we get better temperature stability. (though honestly, this is already way better than any other soldering iron I've used)