Hi,
I recently built one based on an Arduino and AD595..........I didn't use PID as I simply followed a basic profile which I check against ever 2secs (y=mx+c between stages).
I used a cheap oven but used two heating elements from a slightly more expensive oven which I mounted up top rather than the original top & bottom setup.
My 1st test resulted in a cooked board.....
My 2nd successfully reflowed an op-amp (after adjusting many things).
Still have to play with timing, but here's what I have at the mo:-
int Time[5] = { 0, 90, 200, 230, 260 }; // Time (secs) Pre-heat start, Soak start, Reflow start, Reflow cool, Reflow finish
int Temp[5] = { 20, 150, 180, 220, 180 }; // Heat (DegC) to match the above timing
I followed a standard profile to start with but ended up stretching out parts of it due to too slow heat up.
In the end, the key I found is the placement of the thermocouple............I have it on a flexy which I can position immediately above the board. You can see the flexy in the pic below.
Will it be reliable for all sizes/shapes/density of pcb's..........who knows!
Ian.