A DIY hot plate soldering station built with Arduino, featuring precise temperature control, a user-friendly interface, and customizable reflow profiles.
- Accurate Temperature Control: Utilizes a MAX6675 thermocouple for real-time temperature sensing and a PID algorithm for precise heating control.
- Interactive Display: An ST7920-based LCD provides live temperature readings, menu navigation, and graphical representation of temperature profiles.
- Customizable Reflow Profiles: Users can define and execute temperature-time procedures for various soldering applications.
- Fan Control: Automatic and manual control over a cooling fan for efficient temperature management.
- Sound Feedback: Audible cues for user interactions and status updates.
- Manual Temperature Setting: Allows users to set a target temperature manually.
- Soldering Demo:
Hot.Plate.Reflow.Demo.mov
- General Demo:
GUI.Demo.mp4
- Additional Demo:
demo.mp4
- Temperature vs. Time Plot:
Temperature.PID.Controlled.mp4
- Microcontroller: Arduino (or compatible)
- Temperature Sensor: MAX6675 Thermocouple Amplifier with K-Type Thermocouple
- Display: ST7920 SPI LCD
- User Input: Rotary Encoder with Push Button, additional push button
- Heating Element Control: SCR (Silicon Controlled Rectifier)
- Cooling: DC Fan
- Audio Feedback: Buzzer
The code directory contains the Arduino sketches for the project:
main/: The primary firmware for the hot plate soldering station.main.ino: The main Arduino sketch.src/: Contains various libraries used by the main sketch.
Temp_PID_Controller_v3/: An older or alternative PID controller sketch.test_transistors/: Sketch for testing transistors.test1/: General test sketch.testconsole/: Sketch for console-based testing/debugging.testlcd/: Sketch for testing the LCD display.testpid/: Sketch for testing the PID controller.
- Optimize PID values or use predicted models to reduce overshoot, as rapid cooling is not feasible.
- Further refine and implement procedure control features.
- Enhance FAN and SOUND control functionalities.
- Complete the assembly of the physical station.
- Test all components and functionalities.
- Add necessary holes for USB, sensor, and heater wires in the enclosure.
The following libraries are used in this project:
- Rotary: https://github.com/brianlow/Rotary.git (For rotary encoder input)
- ST7920_SPI: https://github.com/cbm80amiga/ST7920_SPI.git (For controlling the ST7920 LCD)
- PropFonts: https://github.com/cbm80amiga/PropFonts.git (Proportional fonts for the display)
- Menu: https://github.com/0xPIT/menu.git (Menu navigation system)
- ezButton: https://github.com/ArduinoGetStarted/button.git (For easy button handling)
- MAX6675-library: (For MAX6675 thermocouple amplifier)
- PID-Library: (For PID temperature control)
