Where it is
Want to check out the reflow oven? Drop by MakerSpace Nanaimo!
The Brains
The reflow oven uses a Netduino Plus 2 as its main microcontroller. This board directly connects to most of the hardware in the oven. The only things it doesn't connect directly to are the IGBT driver and the door switch, as these are connected through an I2C port expander. This processor normally runs around ~30% CPU load when idle and around 70-80% load during reflow.
The software running the oven is C#, written with Visual Studio 2012 Pro and then VS 2013 Community. It is multithreaded, with one thread running the main process loop and GUI while other threads handle the PID controllers and SSR switching.
The Brawn
The oven itself is powered at 120v, feeding two element banks. There are two resistive elements at the bottom of the oven, and a pair of quartz elements on the top. These are controlled by a pair of 12A SSRs - one for the upper elements, one for the lower elements; when cold the oven can draw over 16A!
The SSRs are switched at roughly 125Hz (not 120Hz due to integer limitations in timing), with the zero-crossing circuitry in the SSRs handling precise phase sync.
Two fans cool the oven. One is directly powered from the 9vdc transformer and runs continuously to maintain a small but steady flow of cool air into the electronics bay. The other fan is controlled by software to provide cooling capacity to the oven during the cooling phase.
The Interface
The interface is a combination of the original toaster keypad (with liberal application of a dremel to break all the circuit connections) and an Adafruit IL9340-based LCD. It allows for a nice splash screen, visual feedback and guidance through the menus, and a full graph of every reflow operation from start to finish.
Fun fact: there is more VRAM available to the LCD than there is normal RAM available to the microcontroller program!
The Web
The oven maintains a simple web presence via a static HTML page with a small amount of javascript, and a Json feed that is provided for the aforementioned javascript and for external tools, that lists out various statistics of the oven including temperature readings, element power levels, fan status, operating mode, and more.
Regarding the "rogue" pull ups:
Basically you can use SPI in 4 modes, regarding clock phase and polarity (CPOL, CPHAS). The most (normally) used configuration is 0,0; that means, the idle state of the clock line is "low" and therefore many datasheets for SPI devices recommend using a PULL DOWN on the CLK line. And a pull up on the chip enable. So somebody did not think very far by constructing this modules. Unfortunately this is not the first time I experienced similar with an adafruit module.
Instead of a cludge with an additional transistor, I would have removed tho offending Pull Ups and used a pull down on the CLK line.