18 – Arduino Reflow Oven

Well, finally I have reached the end of this Ar2uino Reflow Oven publishing project! It has been a looong journey! In fact considerably longer than the time I spent on constructing and building the project! I have had my ambition set high with this and partly because of that it has taken time! Two years actually! That is TOO long – especially for others that wanted to be done much faster!

It has been an interesting journey for me – I have learnt a lot during this project – so it has definitely been worth it! ūüôā As I like testing and verifying and also doing a bit of “research” I have really enjoyed myself! Taking all the pictures and creating illustrations have also been fun! BUT all this writing has taken time away from making and that has been a little harder to accept for me! During this project I have had so many other ideas for other parallel projects and especially my “Home Automation System” that has had to stand back!

Considering the relative low amounts of followers¬†and comments this site and this project has generated – in relation to the amount of energy I have spent on it – I will probably not “indulge” in publishing such a detailed DIY description as this again – not in the near future at least! ūüėČ I don’t regret it at all – it has been GREAT FUN ūüôā – even if that previous post commenting the code¬†was actually¬†… pretty boring! ūüėČ

If anyone does not agree with me – or has ideas on how to get time both for making and writing¬†– let me know via the comments! ūüėČ

This does NOT mean I will stop writing! But shorter postings and maybe not so detailed! ūüėČ Sounds good to some of you I guess! ūüėČ Also this is a good place to “put” things so that I will not loose them! A place where I can turn to look up what I have done and how! So, writing for my own sake also!

Insights Gained

“An insight is like a Rose, so beautiful and clear”

When I started this project I was absolutely convinced that I would be forced to implement a full-blown PID system to control the heating to follow the reflow profiles! Luckily the oven was perfect for the Lee’s Reflow Profile! Most of the time the oven follows the reflow profile extremely well! Ridiculously well! Unnecessary well! Within a few degrees Celsius! Amazing! It just shows that your “plans” or expectations can very well be entirely wrong!
Insight: Be prepared to adapt to new situations and solutions!

Do as much testing and experimenting early to get a proof of concept of your solution! Also make sure those critically important points really are coming through!
Insight: POC early!

One thing that I will take away¬†with me for¬†future¬†projects is to have as FEW WIRES as possible ‚Äď and put as much as possible of the components on the same board! In this case I¬†should have put also the display and the encoder switch on the main processor board ‚Äď it would have made it much less cramped with the wires! But will naturally put other requirements on the space to mount it!
Insight: Everything on one board!

Seeing how many wires it turned out to be in the end – the initial idea of separating the high and low voltage sections was absolutely right! It is scary enough with such a mixed high-low voltage environment!
Insight: High voltage section on a separate board!

Print out information from your system in such a manner that it is easy to make graphical diagrams of it! To see the numbers¬†printed out as curves will create so much more understanding¬†of how the system works! It is so easy to just copy the printout from the serial monitor on the PC and paste it into your spreadsheet software for … insights that would be impossible to otherwise gain! ūüėČ
Insight: Use graphics to analyse your data!

Do not go overboard when it comes to precision! A degree or two or even 5 will not matter at all! Well, at least most of the time! At the critical 183 ¬įC or when you are close to¬†max temperature you might want to be more precise – but usually the tolerance is quite big! I know people that do their reflow with a stopwatch and manually switches on-off the heaters – and get great results! ūüėČ
Insight: Do reality checks!

If a project takes some considerable time to finish – hardware will evolve-develop during the time! I do like this completely self contained solution of the Ar2uino Reflow Oven! But another even cooler(?) solution would be to use a ESP8266 and control the oven from your iPhone! There you could really splash out with graphics and data without any risk of hitting any memory limits! One must also be aware that all of the graphics can be skipped and you could still have a perfect reflow oven – with maybe just 1 single button and nothing more! But not as cool – of course! ūüėČ But that, on the other hand, depends on what you want to have!
Insight: There are many solutions to consider!

Everyone knows that you can NOT code the simplest project without TESTING! It is a mystery how so many small – and big- bugs can find its way into¬†… everywhere! ¬†I will not say much more about testing because we all know – in out hearts and our minds – it is so very important!
Insight: Test, test and test…!

This project has taken two years from start to finish! That is a very long time for almost any project. My house problems and a very nice summer kept me from working on the project for 10 months out of those two years but still…
Insight: Keep up the speed!


Further development

Well, reinstating the Edit function would be nice! An extra heater and more profiles!¬†Also adding a few tricks to the temperature algorithm to make it even more exact. But this is low priority – unless “demanded” by a huge public interest – as the oven works so well now! ūüôā

Another idea that I have toyed with is the possibility to “record”¬† the variations of the¬†power applied during a reflow. (That is shown as¬†the red curve in the graph!)

If the surrounding temperature was similar (or identical!) my idea is that you should be able to “replay” those power variations. Then by being able to edit those power variations it should be possible to fine tune the power variations so that a perfect temperature profile could be accomplished! I will see if I can squeeze in some testing of that in the not too distant future … ūüėȬ† That would mean that the thermal inertia could be compensated for quite easily … ¬†UPDATE: Tried it – read about it next time!

Some special handling would be necessary as available RAM memory is very low. Here we are talking of storing close to 300 seconds or even more! One value per second would require close to 300 bytes of the available EEPROM storage! Maybe it is enough with one value per 2 sec? Or 5 seconds? That will have to be tested! Just one power profile? This will be like the guy I told you about that used a stopwatch and manually switched the heaters on and off – but it will be a super-guy that does this every second or every other second! Cool! ūüėČ


See you soon again!





Home Automation System ‚Äď Recap


After a looong break from the Home Automation System (HAS) to do another Arduino Battery Tester (my most popular project) and a Arduino Reflow Oven (my most ambitious project) I am glad to again be back on the HAS track! ūüôā

First of all a short recap of the status! I have not been totally absent from the HAS project – not at all as a matter of fact! As I am so interested in¬†this subject¬†my mind has had it on the “back burner” and I have also done some design & construction work and some documentation as well. I have not been able to stop myself! ūüėČ

It is amazing or rather sad that no one has come up with a Arduino Pro Mini “RF” with a contact for the nRF24L01+ and sold it as cheap as all the Arduino “clones” on ebay! It would be the perfect cheap Node! As I said earlier I will design and make such a version of the Arduino some time in the future – but I will not be able to produce it as cheap as the standard Arduino Pro Mini! ūüė¶ The components alone will be more expensive! Searching the internet reveals a number of such (expensive) Nodes – but it tickles my creative mind to add one more to the line …

After this short recap I will try to get on track with a general plan (next time) in which order I intend to do this project! I see already that soldering up a few prototype Nodes and testing them with different nRF24L01+ modules will be early steps in the plan!

When I (soon) publish the “insights”¬†from the Ar2uino Reflow Oven project you will there see why I will not have such a high ambition with this project – publishing wise! I will not put up detailed descriptions on exact how to build the Ar2uino HAS but it will be more like short presentations of steps taken and¬†lessons learned!¬†But on the other hand ambition might overtake me! ūüėČ If anyone is interested we might do this together … ?

Just to give you an idea on how I think: This is the way I have designed my Master! It is multi module – so the work is divided up between several microcontrollers. They are so cheap – so why fiddle with a single thread is my thinking! At the moment we have already got 5 or more “cores” doing the “chores”!¬†We can just add more to the Master solution – or even to the Nodes if really needed! Both standard Arduino Pro Mini:s and ESP8266:s. Another gateway that I also plan to add is a GSM Gateway. So far I have NOT seen any of the other Arduino models as fitting in this project! The Arduino Pro Mini is such a enormous “bang-for-the-buck” value that it just have to be the very best to build the Nodes from! It is powerfull enough, has enough memory and is very cheap! Stepping up¬†considerable both in processing power and memory space¬†the ESP8266¬†is also the same amazing “bang-for-the-buck” value – and with Wi-Fi!

As a matter of fact the ESP8266 could easily, price wise, replace the ordinary Arduino in¬†all cases – were in not for its VERY high power consumption! No, they are both needed for their “special talents”! Thankfully they can both be programmed within the simple Arduino IDE – Integrated Development Environment!

An alternative (at least for the Master) might be a Raspberry Pie – but so far I feel that the multi-module solution is better and offers more fun challenges ūüėČ and also thinking “small” appeals to me! The Raspberry Pie is just an¬†ordinary computer – but amazingly small! Hope I will not¬†regret this in the end … we will se!


Arduino Reflow Oven – 17

Well, finally, this (publishing) project is getting close to its completion! It is now time for the SOFTWARE! Hopefully it will be clearer than my code illustration above! ūüėČ

I do know that some of you (most?) just want to get the code, upload it to your Arduino’s and get going with the reflow work! For you I recommend jumping to the end of this post where you will find the download link! ūüôā

Do you want to get some insights into the code just keep on reading! There will also be comments on the solutions taken and explanations in some cases! Might help you if things does not work as you intended!

For me, with the oven (Clatronic MB 3463) I happened to chose and this software, this Arduino Reflow Oven works even better than I ever could have hoped for! ūüôā If you pick another brand or model you might have to do some testing and adjustments yourself! Hopefully you will find some info here to help you with that! You are always welcome to ask question – and I will see if I can help in any way! I will see if I have enough material to write up a short article on what different paths you can take to make this reflow oven software work for you!

In the future I might update the software and release bugfixes and extensions. I am mostly interested in re-releasing it with the reflow profile editor included! That would make it much easier to make small adjustments to the profiles! I am also keen on adding “recording” of the power applied during a reflow and so be able to “replay” it and fine tune it to create a “perfect” reflow – if used under the same conditions!

My way of coding

First I would like to say that my way of coding is to write small pieces of code and test them separately. That way I handle most errors while still coding in small scale Рeasier both to write, test and debug the code! My advice is to: TEST A LOT! You can not do too much testing! Even if it, sometimes, is tedious and you have to write test code as well Рit pays off generously in the end!

A drawback with my style of writing in small pieces – is that you can get some unexpected bugs creep up on you when you put the pieces together! Especially if you try to squeeze in a complex project like a graphically intense software like the Ar2uino Reflow Oven and is close to the limit for a small microcontroller like the ATmega328 and its very limited memory – both FLASH and RAM!¬†But I still love the ATmega328 – so cheap and still so powerful! Absolutely perfect for IoT-projects – but that is another story to read about here …!

Writing for embedded memory restricted systems makes the use of global variables a good thing! Especially big arrays! That way the dynamic use of variables can be limited to small numbers of simple local variables and by doing this you will have much better control over how the RAM memory is used – avoiding or at least limiting the cases in which you will have (NOT!) “funny”¬† memory related errors! Normally you would try to limit the use of global variables!

Another thing to be aware of is that there are Serial.print… statements sprinkled all over the code! This is NOT DEBUG printouts and they should be left in the code! They print out status information to the serial port while running the software. Connect your computer to the Arduino serial port if you want extra information on for example how¬†well the reflow is going! Use this info with your favourite spread sheet software (Excel) to create information diagrams like the one on the side here! This information is critical if you want to verify adjustments you have made to the profiles!

Moreover I do like to code and often recode to get what I want! I try to comment the code so I myself will understand what I have done and what my reasons were! I do guess that most of you have that same problem when going back to your code a year or two later! BUT no matter how many comments I make I seem to sit there and stare at the code and wonder what the %¬§#&? I was¬†thinking of when I wrote that code! ūüėČ That very same thing also happens when reading someone else’s codebut even more so! That will naturally happen when you will try to understand MY code! ūüėČ Therefore I write these lines in hope of smoothing your experience a little … But with close to 2500 lines of code and code comments it will probably not be enough anyhow … so … well … good luck! ūüôā

Comments of the Code

I start every new function with a block of comments that describes the function call and parameters used. I also comment most parts of the code and include insights about changes to make in the future – should it become necessary! Still it is usually not enough to fully understand the code – but long whiles of reading the code is still necessary!

I will now describe the code in general and I will refer to line numbers in the v1.1 of the code! This description will probably NOT be updated if I update the code! So in case you are looking at another version of the code then, please consider the line numbers to be approximate! The descriptions will vary considerably from one liners to longer blocks! Usually the comments included in the sketch code will have to be enough but if there are special reasons I will post more elaborate comments here!

I hope this will give you some understanding of the code and help you on your way to your own Reflow Oven! ūüôā


Here you will find a brief circuit description. Also an explanation of some defines that you can make to change the software behaviour. Also a description of changes made. A description of how information is stored in EEPROM.


The library includes.


All the pin definitions. These you can change if not suitable for your solution – but be aware of what effects a change will have concerning port abilities and circuit requirements!


Here you can change the “Interrupts Per Second” (IPS) value. This value controls how often the power for the heating can be changed! In Sweden and in most parts of Europe with a mains frequency of 50 Hz – giving 100 half cycles – it is handy to have it set for just that to give maximum control! As the power is controlled by a zero sensing TRIAC this can not be set any higher than for the halfcycles! 60 Hz would have a max setting of 120. We ONLY switch on and off power at zero crossings thereby reducing radio interference and also makes for a more “gentle” load on the mains when switching around 1000 W (1 kW) on and off repeatedly! This is also a the same time the smallest variation the software can make on the applied power! (See also the PPD and intervalMillis settings below!)


More definitions. Not many that you have any use for changing!


Here you can set the Average Count (AVGC) value for the thermocouple readings. It is set for 1 at the moment. That means that there is no averaged temperature measurements. This has the advantage that the reaction to a temperature change is as fast as possible – but that also means that it could more easily overreact to sudden changes in temperature and small measurement fluctuations! A properly shielded thermocouple wire is needed as readings otherwise will fluctuate too much – even if the real temperature does not! With the reading fluctuating as little within a degree as can be seen in the diagram it is not necessary to take any averages! Increasing the AVGC over the value of 3 is not at all recommended as this cause too much delay – at least for the reflow part of the oven! Might be good for the manual part of the oven – but I have not tested that yet!


Percent (Power)¬†Per Degree (PPD) can be set! This is how much increase or decrease in percent power 1 degree change will make. This value will have to be changed depending on the particular oven that you are using! For my oven a little experimentation (trial runs) gave that 20% per degree was the perfect setting! It then reacted fast enough to follow the reflow temperature profile that I had selected (Lee’s reflow) but still not too much to give any overshoots! Initially I¬†started (chanced) with a setting of just 5 and that was not too bad! I was almost satisfied with that – it followed the profile but was “late” and I did not want that in the end and increased the value till it was perfect! This depends a lot on how well your oven and the heaters work together! To avoid initial overshoot I added a 10 second preheat at full power “to get the oven going”. My initial measurements in the end of the 1st part showed that the ovens thermal inertia (or delay) was around 20 seconds. That is very hard for any algorithm to compensate for as the measurements of the temperature happens now and the reaction to any change will come 20 seconds later!¬†My advice is to experiment with different settings and then maybe add some code of your own to compensate for the delay! As I have said earlier I did not need a full blown PID controller because the oven performed so well! Why complicate matters if you don’t need to?! There is now plenty of FLASH space for code but the RAM is very scarce so test thoroughly (as usual!) any additions you make to the code! Also the position in the oven influences the temperature! High or low! An adjustment of just a centimeter (less than half an inch) up or down for the PCB’s might be all that is needed!


Global variable definitions. The only one of any interest to maybe change is the “intervalMillis” as it controls how often the¬†temperature will be measured & the power changed. It is set for 1000 (milliseconds) so¬†measurements &¬†changes will happen¬†every second. This is related to IPS value described above as an increase in this value also will affect the power control! But with a delay of 20 seconds from any change in power to any reactions in temperature my estimate is that an interval of 1¬†second is¬†good enough!


The setup of the main menue. Text and colours! Change these to your hearts content – if you are not satisfied with my carefully selected colours! ūüėČ


Here the thermocouple and the display library setup is done. Be careful that the pin definitions correspond to your circuit!


The array declarations for the temperature profiles. These are used both to hold the current temperature profile and also helper data to that profile! Two(2) profiles have been predefined! But you can change these profiles in the function resetEEPROM() starting at line 1773. (See that function below for more information!)


Here is the program setup() function that is executed once as the program starts! Most of the code is commented and I have not much to add except to point out (again) that at line 217 the resetEEPROM() function that writes initial values to EEPROM is called. After the first execution this call can be commented out and the compiler/linker will no longer include that code in the uploaded program. Doing this saves you 856 bytes of FLASH memory and 28 bytes of RAM memory. Might be all you need for your customization?

The “Ar2uino Greetings Display” is shown for a few seconds at startup. See lines 228-246. In line 230 the display rotation is set. If your display does not show it properly – as you would like to mount the display – try changing the parameter to 0,1,2 or 3. There are (naturally) four ways to rotate the display! ūüôā All writing to the TFT display has to be with calls to special TFT-functions!

Finally there is an initial setup so that the main menu will start at a specific point!


Here is the main loop! It deals entirely with selections in the main menu! In line 270 a call is made to the menue() function that actually draws the menu and makes it possible to make the selection with the quad encoder. Depending on the selections made different functions will be called!


The admin() function.¬†This is the first of the different menu functions. The others are very similar so I will only go through this first one. I starts out by clearing the screen and printing out the top and bottom lines. The different alternative lines ar shown to the left! It uses the last line as a sort of a “minimenu” to show selectable alternatives. After a selection is made the information wanted is shown on the screen or the action selected is carried out. This goes on in a local loop until the “>Exit!” alternative is selected and then the main menu is shown.


The adminMenue() function. This is the function that actually shows and handles the “minimenu” on the last line. It uses function showMiniMenueItem() and readEncoder() functions to do the presentation and the selection.


The saveDefault() function writes the current profile number to EEPROM.


The selectProfile() function uses minimenue on the last line to select profile.


The showMiniMenueItem() function shows text on the last line in the specified colours.


The showProfileInfo() function shows current profile on the display.


The displayWithTab() function¬†shows a text followed by a “tab” and then a value. Used by the above function. The TFT functions does not support the tab to “jump a bit sideways” to a specified point on the line so this function supplies that functionality!


The¬†manualBasic() function is the simplified function of the manual oven information display. It uses just two rectangular boxes to show the set temperature (narrow box) and the current temperature (broader box). Naturally the temperatures are also shown as ordinary numbers on the display.¬†This is the basic display – the cool circular display had to go to save FLASH and RAM memory. ūüė¶ It reads the encoder and as soon as the encoder value changes the function applies the correct reaction! If the set temperature is lower than the current the power is switched off! If the set temperature is lower the power is switched on! There is no special action needed – just turn the encoder! Just like an ordinary oven! ūüôā When you leave the manual oven function a short animation is shown where the set temperature is counted down to 0.

I feel stupid for saying this but: NOTE that like any ordinary oven this oven will also be HOT for a while after switching it off! Open the door and it cools down in just a few minutes!


The  displayManualBasic() function displays all the textual information on the simplified manual oven and calls the bandScale() function to display the graphics!


The bandScale() function draws the rectangular graphics areas to show the set temperature and the current temperature.


The  displayTopBottom() function draws the top and bottom lines on the display in predefined colours.


The menue() function draws the main menu and allows selection to be made. Colours can be changed in lines 156-161. (See above!)


The ¬†selectItem() functions name pretty well describes what it does! Almost!¬†ūüėČ It actually draws a triangle in front of currently selected item and¬†also draws a white¬†edge along the currently selected item. You move the triangle by rotating the encoder and¬†you decide on the currently select the item by clicking the rotary encoder¬†button!


The reflow() function draws the reflow display and adjust the power to follow current profile! But first it prints out information about the currently selected reflow profile! If you accept the selection then you just press the selector button and the reflow process will start! This function prints a LOT of information to the serial line! Measurements and timing information is printed out throughout the reflow process. A 10 second preheat at full power will be applied. Testing has shown this to be good in avoiding initial over- and under-shoots. You can change this to get better results from your oven!

During the reflow process all information is shown on the display – both as numbers but also as a scrolling graphical display showing the difference between the profile temperature and the current oven temperature.

After the reflow has finished some information about the process is shown.


Two helper functions for displaying info. These functions have been implemented to save memory.


The ¬†drawTempScale() function draws the scrolling graph showing profile and current oven temperature. It uses i circular buffer to handle the temperature. There is (as far as I know!) no other way of creating this scrolling display but to redraw it again and again … (Anyone with any suggestion?)

1252 – 2432

From here on there is a number of smaller functions. I will only point out a few that I find extra interesting. For the others you will have to read the comments embedded in the code!


The initializeInterrupts() function sets up the timer interrupt that we want! As the electronic construction I have makes do without being synchronized with the mains frequency the interrupts can occur whenever during the AC mains voltage cycle. Because of this a variation of 1 half cycle can always Рor maybe I should say will always occur! Either one more half cycle than wanted or one less than wanted. This is such a small error that the simplified construction it offered was well worth it! It does NOT affect the reflow temperature in any degree! The heating algorithm automatically compensates for it!


The¬†adjustTemp() function¬†adjusts the¬†temperature by controlling the POWER to the heaters. It does this by following the algorithm used. In my case it is just a proportional algorithm (That is the first “P” in PID-controller!) which is the simplest way of controlling anything! The PPD is used to control how much power should be changed depending on the difference in temperature between the profile and the current oven temperature.

It is in this function that you can add your own changes to the algorithm or change it altogether! 

NOTE that cooling is not handled in any other way than switching off the heaters! I.e. there is no active cooling! At the end of the reflow profile a LED will light – indicating that you should open the oven door a little to help speed up cooling!

In this function you could put code to handle cooling by a fan that blows cool air into the oven or opens the door by a servo to cool the oven that way.

Note that this function is not DIRECTLY handling the power to the heaters but it modifies the volatile variable “pwr” that the interrupt service¬†routine, ISR(TIMER1_OVF_vect),¬†uses to change to power duty cycle to the heaters by switching on and off the TRIAC. It is declared “volatile” because it can be and is changed outside of the interrupt!


The function resetEEPROM() initially writes the reflow temperature profile to EEPROM.¬†2 profiles have been predefined! Lee’s and standard Kester profiles. But you can change these profiles in this function resetEEPROM()!

NOTE: Testing has shown that my oven is not powerful enough to follow the Kester reflow profile all the way!

An example:
char profile0Name[] = “Lee’s”;
byte profile0Temp[] =     {  25, 179, 185, 215,  30 };      <РThe temperature for the END of each interval except for 1st!
byte profile0StepTime[] = {   0, 220,  35,  30,  60 };       <РThe length in secs for interval

The Lee’s profile0Temp[]¬†starts with 25. That should give the temperature at the beginning of the first interval! All other temperatures should give the temperature at end of each interval! Also for the first temperature; if you set it to 0 degrees the CURRENT temperature will be used instead! That is handy if your start temperature varies a lot!
Here it is set to slightly over room temperature at 25 degrees (Celsius naturally!) so that it works well in most cases!
StepTime is set to the beginning of the profile at 0 seconds
Then a linear ramp is wanted up to 179 degrees taking 220 seconds
After that a short ramp up to 185 degrees should take 35 seconds
Finally a short ramp up to 215 degrees taking 30 seconds
Last step is cooling to 30 degrees during 60 seconds
NOTE that no forced cooling is used! YOU will have to CAREFULLY open the oven door to cool it!


The readEncoder() function handles the reading of the encoder Рwith the help of an interrupt routine called doEncoder(). Reading of a quad encoder like this would require lots of speed if it was read by polling (repeatedly reading) the switches to see if they opened or closed! Therefore I am using an interrupt based approach instead!

The readEncoder() function handles the addition and subtraction of “clicks” and also “acceleration” if the encoder is turned quickly. This makes it work well both for small changes like in a menu and for changing the temperature faster from 25 to 200 degrees! It also handles part of the de-bounce filtering! NOTE that 0.1 uF ceramic capacitors MUST be connected between ALL contacts and GND!


The doEncoder() interrupt function reacts on one of the decoder switches being closed. At that moment an interrupt is generated and the dEncoder() function is called. It then reads the other switch and depending on if tht is high or low t can decide in which direction the encoder was turned! It returns the result in the global variables called eDiff and eChange.

This ends the code presentation! I do hope it will give you some help in understanding the code!


The Arduino Reflow Oven Software Download

First of all you will need to download the two libraries that I have not written myself:

To simplify the reading of the thermocouple I have used a library for the Thermocouple MAX6675 Рfrom Adafruit. Here is even more info from Adafruit about thermocouples!

Please note that the MAX6675 IC has been superceded by newer IC’s but it is still in very good supply on eBay (Price just around 2 EUR/2 $ and only slightly more with a K-type thermocouple!) and the MAX6675 is still more than good enough for this projects requirements! I might update the software to use the newer versions of IC’s if there is a substantial interest in me doing so! ūüôā

Download¬†the eminent TFT Display library from ‚ÄúSUMOTOY‚ÄĚ! You will find it¬†here (ILI9163C) or here (ST7735) ‚Äď depending on what display chip controller you have. It is a very fast executing library and easy to use. Really recommended for other project also! It is usually NOT obvious what support chips you have on your display board. On the “SUMOTOY” sites there is information on how to see what display chip you have. You might have to set certain #define statements in his library code to select the specific board you have! But it is all explained on his sites!¬†There might be newer libraries on his site when you get there but I have used versions 1.0r7 and 1.0p1. The libraries are using the same API’s so they can be interchanged! I say it again: Be sure to test the display out before continuing! See how to do it it at the end of posting number 9!

A bit of friendly ūüôā advice: Hopefully you have already downloaded these and tested both the thermocouple and the display already by following previous posts in this series! ūüôā¬† If you have not – save yourself loads of headache by going back and do that before continuing! Small bugs have a nasty way of creeping into any construction project and it is much easier to fix them one after¬†the other¬†instead of being faced with all at the same time!

Also there is the question of having enough FLASH memory and RAM memory for this software! The software now uses 25368 bytes FLASH memory when compiled with Arduino IDE 1.6.12.¬†There is 752 bytes of RAM left. Most Arduino Pro Minis (if that is what you are going to use) comes with the “old”, non-optimized boot loader so only 30720 bytes are available instead of 32256 bytes with the OptiBoot boot loader. I needed those extra bytes during development but have since managed to optimize the code and also¬†removed some unnecessary but cool visual displays! ūüė¶ I have updated my boot loader as can be read here and have not run the software with the standard boot loader so I can not verify if any problem will occur with that! There should be an ample margin after the optimizations to run it in an Arduino Pro Mini with the old boot loader – but as I said I have NOT verified this! It is more difficult to find out if there is enough RAM left for local variables as they vary as the code executes … You might like to do the update just to get extra space for any future updates that might occur … I might put back the “cool visuals” code again or the “profile editor” … or you might even want to add some code of your own!

You are sole responsible if this reflow oven does not work as expected and also for any damages incurred! Therefore make sure you test it out thoroughly before doing any real reflow work with it! Always be very careful with electrical work!

Download Ar2uino Reflow Oven software v1.1
As usual, clicking the button on the left will bring up a new window with a text only PDF.
Copy all of the code and then switch to your Arduino IDE and paste it in a new empty window.
Compile and upload to the Arduino! Ready!
(This roundabout way via a PDF is because WordPress will not allow text- or ino-files!)


Well, that is all … except a short thing about experiences gained and some hints on how you can adopt this software to your oven! But that will be in the next instalment!

Good luck and cheers till next time..! ūüôā


Arduino Reflow Oven – 16

Time to get going with the software! Above you can see simulations of the welcome screen and the three main screens. I went with simulations because it is so hard to take good pictures of displays – as the display looks much better to the eyes! Well it is a two way street! The simulations are much sharper than the actual display – but pictures of the actual display looks soooo faded! You can see pictures of the actual display in the first instalment here! (If anyone knows how to do the display justice with a photo – please tell me!)

In this instalment I will go through how to use the software Рthat is how to use the reflow oven! I have put some effort into making it rather self explanatory! I do hope you will find it easy and useful! Please let me know what you think!

In the next instalment I will go through the software code and you will be able to download the code.

So this is really the:

Users Guide to the Ar2uino Reflow Oven

When you start the oven it will display an Ar2uino Reflow welcome screen for a few seconds Рjust like the top left picture above! Then it will show the Select Function Menu like on the left picture here.

This is a common design on the different displays. On the top it will show what to do or what function is active. On the bottom it will show what happens if you press the Quad Encoder¬†– I will from now on just call this the selector – which you can rotate in both directions to change selection and also press to confirm the selection! It will accelerate (take bigger steps) if you¬†rotate it fast and smaller steps if you rotate it slowly! Good? Ehh! ūüėČ Very handy when you want to set the temperature very precise and still be able to reach 200¬įC very quickly!

On the Select Function Menu display a yellow triangle (Seen as slightly green in the picture!) will move up and down when you rotate the selector. The function it points to will be activated when you press the selector!

Sometimes the last line will act as a small selection menu itself! You just turn the selector and press it to confirm the selection! In those cases the text on the last line will start with a “>” to indicate that that there are more selections to chose from! That is exactly the case with the first Reflow screen.


Having chosen “Reflow” you will be greeted with the Reflow Settings Display. It shows some key information for the profile that is about to be started! It shows the Current Default Reflow Profile, the running time for that profile, Seconds to 150¬įC (St150) and Time Above Liquidus (TAL).

Seconds to 150¬įC is interesting as by then it is assumed that the solder has hardened and is no longer in its liquid phase! That means that you should be able to move things around without risking that the components will just float around!

The bottom line shows “>Exit!” which will happen if you press the selector! You will be returned to the previous display and nothing really happened! ūüėČ This is handy for checking the key parameters of the current default profile or when you realize that you want to change profile!

So how do you start the reflow then? Well, you just turn the selector and it will show the selection “>Start Reflow!” on the last line – then just press the selector and the reflow will start! (Texts starting with a “>” indicates that there are more choices – that will be shown if you just rotate the selector!)

This brings you directly in to the Reflow Display. On the top you can see which Reflow Profile is chosen. In this case it is professor Lee’s Reflow Profile. (You use the Admin function to change the Reflow Profile!)

It also shows the current temperature in the oven and the difference from the Reflow Profile at the specific time. All temperatures are naturally shown in i degrees centigrade (¬įC)! ūüėČ These are constantly updated. Is shows how many seconds remaining of the Reflow Profile, in this case it is 293 seconds¬†to the end of the profile. In smaller text below it shows how many % power is used at the moment and also Time Above Liquid (TAL) – that is how many seconds it has been above 183¬įC in the oven.

There is a scrolling curve area taking up most of the right hand side of the display. It shows the difference in ¬įC from the desired temperature in the Reflow Profile. NOTE: It does NOT show the Reflow Profile itself. The reason for this is that the display resolution is so low (just 128×128 pixels) that showing the whole curve would be more or less useless! Instead of showing the full 0-250¬įC over around 300 seconds of the reflow profile – only the difference is shown much enlarged for only around 30 seconds! The desired temperature is indicated by the straight horisontal line in the middle! The current time is at the very right of the area. If the curve is below the straight horisontal line the oven is colder than desired and if it is over the straight horisontal line the oven is¬†warmer than desired.

The above example is read like this: The reflow has been going on for a few seconds – it is 293 seconds remaining. The temperature is 58¬įC with a difference of -3¬įC from the desired temperature at that very moment. This naturally changes as the time moves along the Reflow Profile. The changes can be seen in the scrolling curve. This shows the last 30 seconds of the profile. Ideally the curve would be a straight line overlaid on top of the reflow middle (light blue) line. That would mean the difference was 0¬įC – perfect! In real life there will naturally be differences and those will be shown both as a current difference figure and the curve!

While the reflow is ongoing the “Heater” LED will blink according to applied power. It might be long blinks or even constantly on while a lot of heating is needed! Towards the end of the reflow a “Cooling” LED (and optionally a buzzer) will indicate that it is time to – VERY VERY CAREFULLY! – open the oven door for quicker cooling! That is done manually by you! Remember that the soldering lead is still in liquid form so you might easily disturb the component placements if you shake to much! It is also quite tricky to open the door just enough so that the cooling follows the reflow curve! Look at the display while opening the door. I found that to open it 2-3 cm (about an inch) was ok – but after a while I could not follow the curve – so I gave up an opened he door fully! ūüėČ Still the PCB came out nicely reflow soldered! ūüôā

When the reflow has run its full time or have been cancelled the Post Reflow Info Display will be shown!

It is very similar to the Reflow Settings Display! But now it shows the actual values from the reflow. It should not be big differences but can – if the reflow process was cancelled for some reason!

Here there is room for more statistics. The only interesting value here is the TAL! As all values are printed out through the serial monitor you could use that for a very detailed inspection of the reflow! As I have shown earlier!

A simple number that indicated how well the reflow went would be preferable but I do not think it would say very much? What could it possibly be? The sum of all error seconds?

The first times that you use the reflow oven I recommend having a computer connected with the serial monitor capturing all the output from the Arduino! This data should be visualized and checked out to see how well the oven performs! Do this a few times in the beginning and then every now and then to see that nothing has changed! See my analysis of the ovens first reflows  in these two instalments Рstarting here!


There is also an very precise Manually Controlled Oven. It is reached by selecting the “Manual” and pressing the selector! When started it will show the current temperature of the oven – which naturally can vary! If the oven has not been used recently it should show the room temperature. This is indicated both by a figure at “Current” and with a red rectangle somewhere towards the lower part of the display.

NOTE: Do NOT use this oven for cooking food IF you have ever used the oven to reflow using LEAD solder! It is very poisonous!

If you have arrived here by mistake or just want to stop the manual oven and leave this function just press the selector to get the action indicated at the bottom line – “Exit!NOTE: Remember that the oven will (as any oven) take time to cool down! Open the door too cool quicker!

You can set the desired temperature by turning the selector and the “Set” figure will count up as you turn the selector clockwise and down as you turn it counter clockwise! Also the left column will grow in size to mirror the set temperature. The heaters will start working immediately – as soon at the set temperature is higher than the current temperature! The heating control will aim for the set temperature! The “Current” figure will indicate ‚Ķ well ‚Ķ the current temperature ūüėČ and the right column will grow in size as the temperature creeps up. Expect some overshoot as the oven heats up the first time and reaches the set temperature! After that it will keep the temperature within a few degrees of the set temperature. I have not yet optimized the control algorithm for the manual oven – so there is room for future improvements – BUT it is much more precise than most standard kitchen ovens!


Here you can do the few administrative tasks. This works mostly from the bottom line menu! When you arrive here you will be shown information on the Current Reflow Profile and what is the default profile.

The bottom line menu has the following alternatives (just rotate the selector):

They are pretty self explanatory so I will not go into them in detail. Print Profile – prints out the profile values to the serial monitor. Select Profile and Save Default – it is recommended to always set a default profile and use that. If you want to change profile just select the desired profile and save it as default. Restart the oven and that is it! It will now use the new default profile! (I have seen some software glitches when using a temporary selected profile!)

Dump EEPROM is mostly a function to use while developing new Reflow Profiles to make sure it is correctly stored in permanent memory (EEPROM)!


This entry will be removed! I wrote a small editor to edit reflow profiles – but as testing showed that the oven was not capable of following very demanding reflow curves – I have removed this editor! That gave back a little over 1kB memory and lessened the risk of anything going wrong due to memory shortage! And will give a little space for other future improvements! ūüôā Still ‚Ķ It might return in a future update¬† – if I decide to add that extra heater element that I bought…!

If anyone builds a reflow oven based on a more powerful oven and might actually be interested in making their own reflow profiles with the built-in editor – then contact me (Just leave a comment!) and I will let you have that removed code!

Note: You can still add other profiles but will have to do that through software coding! I will show that in next instalment!


This will do nothing in my version as I have kept the 15 minute timer to break the power in a 100%(?) secure way!

You are sole responsible if this reflow oven does not work as expected and also for any damages incurred! Therefore make sure you test it out thoroughly before doing any real reflow work with it! Always be very careful with electrical work!

Cheers till next time…!

Arduino Reflow Oven – 15

Finally it is time to finish off the mechanical construction¬†and the electrical wiring! Everything will now have to be put into the oven case! But before that …¬†a little cosmetics will make it look as good as it is! ūüėČ

I have made new much cooler feet to the oven – not at all necessary but it does make it¬†look much cooler – which I think it deserves! ūüėČ Definitely skip this step if you are just interested in a¬†functioning oven!

The new feet I built from bits of plastic tube and pieces of wood. Sawed¬†it off at the lengths I wanted and then sanded the edges and sprayed the tube parts with black paint. Be careful to make the cuts at exactly 90¬į – if you want steady standing feet! I then drilled a small hole in the side of the four plastic tubes and¬†then predrilled the¬†wooden parts before nailing them into position. The wooden parts are to make it easy to fasten the feet to the oven and offer support for¬†the anti-skid stickers that I plan to add to the bottom of the new feet. Both the plastic tube part and the wooden part can easily support the oven so they do not have to be extremely well attached to each other! It will be the wooden part the will be used as the main support in this case and the black painted plastic tubing will be just for the cosmetics. If you have a round or (why not) a square wooden rod you might skip the plastic tube altogether! But the plastic gives a nice surface finish to the new feet! I think the picture tells most of the story! A pin-up picture of the cool oven with new feet will be shown at the end of this series! ūüėČ



Well, having a steady standing oven to work with the first thing to mount is the power supply. With the new higher feet it could actually be mounted outside, under the oven, but I decided that it could fit quite well inside the cover. I modified the cover of the power supply by sawing off the entire protruding plastic part (the one with the electrical “prongs”. (Along the red dashed line in the leftmost/first picture!)¬†I put a piece of PCB over the hole! I connected new longer¬†wires instead of the prongs and also pulled out the 7.5V wires¬†to connect to the main processor board. I then bolted, with nylon screws,¬†the power supply on its side to the bottom of the oven case at the far rear putting a heat insulating silicon sheet between. The brown and blue (mains!) wires I connected (can be seen in the picture) with standard crimp caps so that they would get power when I switched on the oven with the 15-min timer!

You should have fastened the TRIAC-board and fan¬†to the oven case earlier. (See here!) As can be seen (a little blurred)¬†in the big picture above I put mine at the rear. I actually used the fan to secure the TRIAC-board to the back of the oven case. The TRIAC-board does not get very hot during operation – so using both heat sink and fan was probably a little overkill! I do not know how much cooling an SSR like a ‚ÄúFOTEK SSR-25DA‚ÄĚ would require, if you have used that instead! It should get roughly as hot (or rather stay as cold) as¬†my TRIAC-board – as¬†that is really a DIY SSR! ūüėČ Insulating it and bolting it to the bottom of the¬†case I would assume to be good enough! Test it out to see!

I drilled holes for the main processor board¬†along the outer side of the oven. Be sure to “try” out the cables so that they are long enough to the places where the display, quad encoder and LEDs are to be! As seen I have fitted the board with small angled aluminium profiles to simplify mounting the board in an upright position with the components facing into the oven. I used small bits of PCB as distance “washers”¬†to move the board about 2 mm from the aluminium profiles. I will insulate the inside of the metal case with Kapton tape where the board is placed to eliminate the chances of any sort of short circuit!¬†After screwing the board in place I folded and arranged the different cables as best as I could! Still it feels as if there are (too?)¬†many cables and wires going around inside the oven case…!

One thing that I will take away with me for future projects is to have as FEW WIRES as possible Рand put as much of the components on the same board! In this case I should have put also the display and the encoder switch on the main processor board Рit would have made it much less cramped with the wires!
But I still will always keep any high voltage section on a separate board!


Next is to shorten the thermocouple wire and make sure that it is reconnected the right way Рand keep it insulated! First just cut it off at a suitable length! I did it with a pair of sharp hobby scissors. Then un-braid the electrical shield for about 2 cm (25/32 inch) to expose the red and blue/black wires. I added a ground wire that is connected to the electrical shield before I put a bit of a heat shrink tube over the edge of the metal shield to keep it tidy. Connect up the wires to the thermocouple inputs again! Be sure to observe correct polarity! Red equals + in almost all cases! Also connect the added shield wire either to ground (I did) or to VCC. As seen in the middle of the last picture I have insulated the metal shielded wire with heat insulation tubing Рit takes care both of the heat and the electrical insulation!

That leaves¬†the dismounting of the current front panel. Before starting with this I removed the 15 min timer (with the bell!)¬†that can be seen at the lower part of the panel.¬†Loosening the red wires at first posed a small problem until I saw that one of the wires had a sort of a latch that had to be pressed to loosen the wire! Then it was as easy as pie! ūüėČ

A little investigation will reveal how to remove the front panel. In my case I just had to unfold and flatten a few metal tabs and remove three screws! (See the yellow arrows in the picture!) Truly production optimized! That also simplified things for me – when taking the oven apart! ūüėČ Another example of this optimization is the door hinge that is just a thin metal rod – actually being secured with the front panel! So¬†take care that the oven door does not fall off altogether when you remove the front panel!

I do NOT expect high temperatures in the area where all the electronics are placed! First of all there is a fan blowing cool air into that area and also we are going to divide/isolate the oven hot side from the electronics by a silicon baking sheet. Even if the baking sheet is thin it will help to keep most of the heat on the oven hot side! As the reflow oven is only going to be on/hot for shorter¬†spell of 3-4 minutes – and then cool down relatively quickly – I do not think the heat will build¬†up much. But testing will tell! Also we are most certainly¬†going to leave the fan on for a little while after every reflow. As mentioned earlier I¬†will keep the 15 minute timer as a sort of “delayed power off switch” so keeping the fan on for a while¬†is quite easily accomplished!

Make holes and slits in the black baking sheet where needed and slide it in place! Much easier said then done! ūüėČ Start from an oversize sheet and measure from the back where slits and holes need to be! I needed two slits and¬†one hole. Also I needed to unscrew two wires to thread through the hole! Fold the sheet over the insulation at the top to “seal in” the heat! My first intention was to keep the heat tolerant mains wiring on the side¬†nearest to the oven but that would have required too many slits and holes so now almost all wires are on the other side – closest to the electronics! ūüė¶ I do hope it will not interfere with the low voltage electronic signals! Testing will tell! When the sheet is in the¬†desired place trim the sheet down in size. (I will wait to trim my sheet¬†down until my front panel is ready!)

Seen in the picture is the layout of the different parts! The TRIAC-board with fan, the power supply and the main processor board. Also the thermocouple wire in the white heat insulating sleeve. Most wires can also be seen! The back of the oven is leaning quite a bit outwards and that is not due to the photo angle but because it will need the outer top case to turn rectangular again!

As I said earlier a friend of mine with a 3D printer has promised to help with a new or at least modified front panel Рwe will se how that goes Рit might take some time so I might want to do a temporary solution! It is three new things and one old thing that will have to fit on the front panel:

  • The 1.44″ TFT Colour Display. Just a rectangular hole with a bit of space behind for the connectors. If possible it should be angled upwards to improve readability. (But that might be awkward for getting at¬†the quad encoder!)
  • The Quad encoder. Just need a hole – but it will have to offer a steady mount as it will both be turned and pushed.
  • A few indicator LED:s. Indicators for: Heating Power, Cooling and¬†>150¬įC
  • The “old” 15 min timer. This is used as the (timed) power switch for the whole oven.

I will publish this part of the post now but I do not feel this “mechanical” part is quite finished yet! I will return to this post and add what I feel is missing…! (The addition of the new front panel, a micro-USB Arduino connection, inside shelf to place the PCBs on and …)

Next up will be going through the software!

See you soon

Arduino Reflow Oven – 14

At last! I have reflowed! ūüôā Therefore I exist! Yeah! Twice!¬†Jokes aside, because most of my stuff is still packed away I was given a little soldering paste and few small SMD components by a friend! (Thanks Erik!) As I had only a limited supply of PCB:s I had to do with a bit of an experimenters board for these first tests! The Ar2uino Reflow Oven has shown its true colours! Above you see the completed second reflow test using the Lee Reflow Profile. If someone wonders if the right hand black component was affected by the reflow¬†the answer is that it was that uneven surface already! All solder is shiny and¬†“silver” coloured.¬†The darker areas in the above picture is because of shadows.
The results turned out very good – I think! ūüôā

As many of you probably know it is quite tricky to get the solder paste in the right spots if you are not an experienced “solder placing person”! I will not bother to show you the first reflow try! It was in perfect working order but due to the big solder pads on my experimenters board the components had not straightened up as they should. What I learned was that the solder paste can be applied without much precision and will still come out very nice after reflowing! It also flowed out over the solder pads very nicely! And finally: You do NOT need much solder paste at all!

Well, lets start from the beginning! I applied solder paste to all the solder pads. (See the picture!) I was using a syringe with a blunt needle, yellow size 20G. I was told that 1 ml version was the best but I only managed to get hold of a 3 ml version Рwhich still worked quite OK! I had to press real hard to get the solder paste to flow, but after the initial paste appeared it was much easier! I put a small amount of solder paste onto each solder pad I was going to use and on one extra pad just to see how the solder paste would flow if there was no component on it.

The solder paste had a very “funny” consistency and would not very easily stick to the pads! By pressing the needle tip onto each pad and squeezing the paste¬†out there I managed to get the paste to stick to the pads quite nicely! After that was the placing of the components and that was, I think, by far, the trickiest part! I used a tweezer with an angled sharp tip. That is a definite must! Get one, get two, get three! Amazing how much shake there is in a “steady” hand! Thankfully the solder paste is a little sticky so if you press the components very slightly they will stick to the paste quite nicely! ūüôā

The components are ordinary 1206 SMDs¬†with a size of 3.2×1.6 mm and in the picture you can get a feeling for the amount¬†of solder paste I put on. You see the small amount that I added! It is an ordinary PCB with 2.5 mm distance between holes. Notice that the solder under the light blue component was practically under it – but still flowed out to the end of the component! The little steel wire construction I hade made for¬†temporary¬†holding the PCB while in the oven tipped over – but the components still stayed put! Niiice! ūüôā

The rest was very easy! I put the little steel wire tripod I made into the oven – placing the PCB at the desired height in the oven with the thermocouple nearby!

Then it was just a matter of pressing the start button and the reflow process started and the temperature automatically followed the Lee Reflow Profile that I had selected! I was looking at the PCB all the time but nothing interesting happened before the melting point at 183¬įC – when the solder paste quite suddenly took on a shiny new look. I let the profile run to the end and then when it stated that cooling had started I, very, very carefully opened the oven door slightly to speed up the cooling. The profile dictates a cooling of around 3-4¬įC/sec. To keep that rate is very tricky – manually! I kept the door open about 3 cm.

I might add a servo or a motor that will open the door the required amount so that I can also have controlled cooling. (Thank you Rienk for the tip!) We will see if I can manage to squeeze that into the memory space … or if I deem it very nice to have I could add an extra Arduino Pro Mini to¬†handle that!
At this moment I feel that my trust in professor Lee has been justified! Two good reflows out of two possible ones! ūüėČ

Now I think that I have tested the reflow oven enough that I dare to go on and finish the oven installation. I am satisfied with that it is not powerful enough to completely follow the standard Kester Reflow profile – but the Lee profile is giving very good results also and that settles it for me! No need to add that extra heater that I bought – just in case!

I will do some more tests naturally – with my own solder paste and with bigger PCBs and ICs and stuff but I feel I have reached my goal with the “reflow process” – now I have to finish of all the “mechanical” stuff! As a matter of fact I can actually start using it already! Yeah! ūüôā

So now I need to have a custom built 3D panel to hold the display at a nice angle and the quad encoder and LEDs also! The following articles will be about that. Probably will use SketchUp – we will see! I have just checked with a friend that has a 3D printer if he could help with the printout – and he said yes! ūüôā

So still a little bit to go before I reach my goal of a completely finished Ar2uino Reflow Oven – but it has been very fun so far! Lessons learned and insights had! Very nice! And the following 3D design and 3D printing seems very interesting as well!

So … see you soon again! ūüôā

Arduino Reflow Oven – 13

Above you see the Arduino Reflow Oven after a number of¬†tests and a few amendments. Quite GOOD result! The oven keeps to the reflow profile¬†very well and now keeps to the profile in real time! Very nice, I’ say! ūüėȬ†After an extensive analysis I decided that I was picky enough that I did not want the 18 sec delay – even if it followed the reflow profile almost perfectly! It was also too much “trickery” that had to be put in to display the result correctly after time adjustment! ¬†I wanted “real rime“! And simplicity!

First of all I wanted to even out the initial over shoot¬†and under shoot! A 10 second 100% power preheat evened out those and gave the oven a nice “running” start.

Next was to get the oven to follow the reflow profile in real time! I settled for a steeper proportional degree to power factor. I got the above very good results with 20% power/1¬įC. It is still a second or two “late”, especially when racing for the peak temperature, but I decided it was good enough!

I also had time to try out how much to open the oven door when cooling started! I arrived at around 40 mm open oven door was keeping close to the reflow profile cooling – at least initially! Future development could see a servo that opens the door and adjusts it to let the cooling follow the reflow profile cooling!

I have included a LED that lights up when cooling starts. I might add a buzzer …

I would say that I have arrived at a very well functioning Arduino Reflow oven Рso far when the Lee Reflow Profile is used! But note that I have not done any soldering tests yet! Soon!

Next is the first¬†tests with the Standard Kester Reflow Profile –¬†using the above gathered experience!

In this we also have a 10 second 100% power preheat to get a “running” start. Here it looks as if this could be extended a little to help avoid the first undershoot at 20-30 sec! Coming tests will show how that works out!

What is obvious is that the oven does a very good job of following also the Standard Kester Reflow Profile all the way along the long soaking zone – up until the so called “Reflow Zone” where, as expected from the Lee tests,¬†it isn’t powerful enough to produce the steeper ramp¬†described in the profile. That can be seen from the fact the it uses 100% power to sustain the above result. Also I opened the door when it indicated that cooling started. That was a little too early if you want the “Time Above Liquid” (TAL) to be longer. Also it stops a little lower than the given peak temperature. The peak temperature is no problem to reach¬†– previous test have shown that! That will probably be fixed by just extending the profile a little! Also I could let the overshoot from the 100% power on play out! That would lift the temperature a maximum of 20¬įC. But it is not possible to get a steeper ramp without¬†modifying the oven!¬†I will decide on that after I have done some test soldering!

Generally I would say I am very satisfied how the Ar2uino Reflow Oven works! At the moment it is (almost) perfect with the Lee Reflow Profile! ūüôā

UPDATE: As my main interest is a working oven with the Lee Reflow Profile I will stop here! The Kester profile can not be accomplished with this (800W 8 litre) oven without adding extra heater elements so I will be satisfied with the result! I have added a comment to this effect at the beginning of this series of posts!

I was probably very lucky in picking this oven and also lucky in deciding on Lee’s¬†reflow profile! They seem to be a perfect fit for each other! Had I wanted to follow the Standard Kester reflow profile I would have had to fit an extra heater element and would probably have tinkered with reducing the air volume in the oven to speed it up! Much more work than this! As the fit was so good I have not even had to bother with implementing a full PID control system! As I am interested in the journey as well as the end result – it was both good and also a little sad that I did not have to implement a PID controller! But there are so many other interesting projects in the pipeline that I have to be satisfied with a working reflow oven and use that left over time for new projects instead! I now (well soon…) have a good working tool to use in the other projects!

Acknowledging the power limits of the oven I picked I might remove parts of the software that seem of less use when it is a little limited! I am thinking of the ability to edit and add new temperature profiles! Removing that code will free memory and bring us a bit from the dangerous edge of memory problems! I will also offer a little free memory to implement a PID controller in the future Рshould such need occur!

But the quest continues …

…next time!