This software is designed to run the process of at-home SMD circuit board (PCB) reflow soldering in an easy, customizable, precise and reproducible manner. This requires accurate realtime data and algorithms to follow a preset temperature profile as closely as possible.
An ESP32 Dual Core 240MHz microcontroller is the brain of the operation. Process parameters can easily be adjusted by using the nice, rotary encoder based user interface. The current settings as well as all required live process data is being displayed on a high-contrast OLED display.
During the reflow cycle, the current temperature of the reflow device is regularly being acquired via a thermocouple sensor, capable of precisely reading temperatures of up to 1.000°C. According to the currently set process parameters, a software PID-controller decides on how to reach the setpoint temperature in the most accurate way.
By PWM switching a solid state relay (SSR), connected to the heating element of the reflow device - no matter if it is a custom hotplate, a torn down toaster oven, an old clothing iron or a dedicated reflow oven - the heating power can precisely be adjusted to the current requirements.
- ESP32 microcontroller platform
- MAX6675 thermocouple readout
- Dual PID-controller for temperature and slope setpoints
- High-contrast OLED display
- Easy to use rotary encoder interface
The software has been optimized to run on a custom made hardware platform called UniFlow.
UniFlow is a completely ready-to-go solution for everything and anything requiring temperature control (reflow soldering, sous vide cooking, pizza oven,...). It comes with the following features:
- ESP32 microcontroller
- 0.96" OLED display
- Rotary encoder
- MAX6675 thermocouple converter
- Relay output
- 2 SK6812 RGBW status LEDs
- USB-C programming port
- CP2102 auto-program circuit
- 4 general purpose switches
- 4 general purpose GPIOs
The final version of UniFlow will soon be available for purchase here: UniFlow in my Tindie Store
To compile this software using the Arduino IDE the following non-standard libraries will be required:
- Adafruit SSD1306 (Adafruit on GitHub)
- Adafruit GFX (Adafruit on GitHub)
- NeoPixelBus (Makuna on GitHub)
- Adafruit MAX6675 with a modification explained here (Adafruit on Github)
- QuickPID (Dlloydev on GitHub)
- ESP32Encoder (Kevin Harrington on Arduino.cc)
In order to have full functionality of the USB-C port, the following SiLabs CP2102 driver will be required:
- SiLabs CP210x USB to UART VCP driver download (SiLabs downloads page)