Close
0%
0%

ESP32 SMD Rework Station with PID and Micropython

ESP32-based hot air SMD rework station with PID control, dual PCB design, built-in safety and calibration features.

Similar projects worth following
Overview

This project presents a fully functional SMD rework station built from scratch using an ESP32 microcontroller running MicroPython.

This system was developed as a complete engineering solution — covering circuit design, PCB fabrication, firmware architecture, enclosure design, and system validation — all performed in-house, while maintaining a higher level of engineering rigor than conventional hobby builds.

The design emphasizes reliability, safety, and flexibility, with particular focus on power integrity, modular hardware design, and maintainable firmware architecture.

🧩 Hardware Architecture

The system is built using two dedicated PCBs:

🔌 Power Board

  • Controls 230V heater (~550W) using TRIAC (BT139)
  • Opto-isolated driver using MOC3041
  • Fan control via MOSFET(PWM)
  • Generates regulated 12V and 24V rails
  • Designed for high-current handling and isolation

👉 The MOC3041 is socket-mounted, enabling:

  •        Easy replacement
  •        Safe experimentation during initial bring-up
  •         Faster troubleshooting

🧠 Processor Board

  • ESP32 DevKit controller
  • MAX6675 K type thermocouple interface
  • Rotary encoder input
  • 16×2 I2C LCD display
  • Control signal for heater and fan

⚙️ Firmware Architecture

  • The firmware is developed entirely in MicroPython.
  • A cooperative scheduler architecture is implemented to avoid blocking delays and ensure deterministic timing.

 This allows simultaneous handling of:

  •       PID temperature control loop
  •       User interface and menu system
  •       LCD  updates
  •       Safety monitoring

🌡️ Control & Operation

  • PID-based temperature regulation
  • Real-time thermocouple feedback (MAX6675)
  • 24V fan with PWM control
  • Rotary encoder-driven user interface

📋 Menu System & Nozzle Management

The system includes a structured menu interface for:

  • Selecting nozzle profiles
  • Setting temperature
  • Adjusting fan speed
  • Starting/stopping operation


🔧 Nozzle Features

  • Add new nozzle profiles
  • Store individual temperature presets
  • No restriction on number of nozzles


🎯 Calibration

  • Individual nozzle calibration supported
  • Re-calibration possible when:
  •      Operating conditions change
  •      Fan settings vary
  •     Thermal characteristics shift

🛡️ Safety Features

  • Fan–heater interlock (heater disabled without airflow)
  • Watchdog protection
  • Power supply monitoring
  • Thermal limits enforced in firmware

🔌 Power Design & Debugging

During development, system instability was observed due to:

  • Insufficient bulk capacitance
  • Voltage regulator dropout (7812 under load)

Fix implemented:

  • Increasing reservoir capacitance from 1000 µF to 5000 µF
  • Improving power stability under dynamic load

 This significantly improved system reliability.

🔧 Troubleshooting Features

To aid debugging and maintenance:

  • Dedicated status LEDs for:
  •       Power rails
  •       System states
  •       Fault conditions
  • Modular PCB design allows:
  •       Independent subsystem testing
  •       Easier fault isolation

🏭 Complete In-House Development

The project was developed in-house:

  • Circuit design
  • Schematic capture
  • PCB layout and etching
  • Assembly and wiring
  • Firmware development
  • System testing
  • Enclosure fabrication

🛠️ Build Difficulty

Intermediate → Advanced

        

Requires experience with:

  • 230V AC systems
  • Power electronics
  • PCB fabrication
  • Embedded programming (MicroPython)

🧪 Development Highlights

  • Stable scheduler-based firmware (V5.2)
  • Reliable fan operation across full PWM range
  • Accurate temperature regulation
  • Robust safety implementation

 Full project details, including firmware, schematics, and documentation, PCB files are available on GitHub:

👉 https://github.com/snivasms/SMD-Rework-Station

YouTube demo video :

👉

  • Refining the BLDC Fan Power Stage – Filtering and Protection Improvements

    Srinivasan M S03/29/2026 at 03:57 0 comments

    Following the observations from earlier testing, particularly the failure of the bulk capacitor across the BLDC fan supply, the power stage was revisited and refined to improve reliability and robustness.

    The initial approach of placing a large capacitor directly across the fan terminals was found to be unsuitable due to the internal driver electronics of the BLDC fan. This prompted a more structured approach to filtering and protection.

    Several modifications were implemented as part of this refinement:

    🔧 1. Series Inductor in the 24V Supply Path

    A power inductor (220 µH) was introduced in series with the 24V supply line feeding the fan.

    This serves to:

    • Limit high-frequency current spikes
    • Reduce switching noise propagation
    • Improve overall supply stability

    By placing the inductor in series rather than across the load, the filtering action becomes more controlled and avoids stressing the fan’s internal electronics.

    ⚡ 2. Bulk Capacitor Relocated to Boost Converter Output

    The bulk capacitor (470 µF), previously placed across the fan terminals, was moved to the output of the boost converter.

    This ensures:

    • Proper smoothing at the source
    • Reduced stress on downstream components
    • Better support for transient load conditions

    This placement aligns better with standard power supply design practices.

    🛡️ 3. Addition of TVS Diode

    A TVS diode was added across the boost converter output.

    Purpose:

    • Protect against voltage spikes
    • Clamp transient overvoltages
    • Improve robustness of the power stage

    This is particularly useful in systems with inductive elements and switching loads.

    🔄 4. Freewheeling Diode Across Fan Supply

    A freewheeling diode was introduced across the BLDC fan supply.

    Although BLDC fans include internal electronics, this diode provides:

    • A path for transient currents
    • Additional protection against inductive effects
    • Improved reliability during switching events

    ⚙️ 5. Reduced Local Capacitance at Fan

    A smaller capacitor (63 µF) was retained near the fan terminals.

    This provides:

    • Minimal local filtering
    • Support for lower-speed operation (e.g., ~30% duty)
    • Avoidance of large surge currents seen with higher capacitance

    This value was found to be sufficient without interfering with the fan’s internal control circuitry.

    🧠 Key Takeaways

    This refinement highlights an important principle:

    • Filtering should be applied at the source, not blindly at the load
    • Loads with internal electronics require careful consideration
    • More capacitance is not always better

    Understanding the interaction between power electronics and integrated loads is essential for reliable system design.

    🔄 Outcome

    After implementing these changes:

    • The fan operated reliably
    • No further component failures were observed
    • Overall system stability improved

    💬 Closing Note

    This iterative refinement of the power stage significantly improved system robustness. It also reinforced the importance of adapting standard design practices based on the nature of the load.

    Would be interested to hear how others approach filtering and protection for BLDC-based systems.

  • Managing Nozzle Calibration and Flexibility in the Rework Station

    Srinivasan M S03/27/2026 at 03:34 0 comments

    One of the key requirements for the rework station was the ability to support multiple nozzles with different thermal characteristics.

    Different nozzle sizes and shapes affect airflow, heat distribution, and temperature response. Using a single fixed calibration would not provide consistent results across all configurations.

    To address this, a nozzle-based calibration system was implemented in firmware.

    Each nozzle can have its own set of parameters, allowing the system to adapt to varying thermal conditions.

    The system supports:

    • Adding new nozzle profiles • Storing individual temperature settings • Adjusting fan speed for each configuration • Recalibration when operating conditions change

    There is no fixed limitation on the number of nozzle profiles, allowing flexibility for different use cases.

    Additionally, recalibration can be performed if:

    • Ambient conditions change
    • Fan characteristics vary
    • Thermal response shifts over time

    This approach improves usability and ensures consistent performance across different operating scenarios.

    It also allows the system to evolve without requiring hardware changes.

    Managing variability in thermal systems is often overlooked, but it plays a crucial role in achieving reliable and repeatable results.

    Would be interested to know how others handle calibration in similar thermal control systems.

  • Failure of Smoothing Capacitor Across 24V BLDC Fan – Observations and Lessons

    Srinivasan M S03/24/2026 at 05:53 0 comments

    During initial testing of the 24V blower fan, a smoothing capacitor was added across the supply in an attempt to reduce noise and stabilize operation.

    However, this capacitor failed during operation.

    Further investigation suggested that placing a bulk capacitor directly across the BLDC fan supply was not appropriate for this type of load.

    Unlike simple DC motors, BLDC fans typically include internal driver electronics that expect a certain supply behavior. Adding large capacitance externally can interfere with the internal switching characteristics and lead to undesirable current surges.

    In this case, the capacitor likely experienced high ripple currents and stress conditions beyond its intended operating limits, leading to failure.

    After removing the capacitor:

    • Fan operation remained stable
    • No adverse effects were observed
    • System reliability improved

    This highlighted an important point:

    Not all loads benefit from additional bulk capacitance, especially when internal control electronics are involved.

    Understanding the nature of the load is essential before applying standard filtering approaches.

    This experience reinforced the importance of validating assumptions when working with integrated electromechanical components.

    Based on these observations, the power stage was further refined with additional filtering and protection elements, which will be discussed in a subsequent log.”

    Would be interested to know if others have observed similar behavior with BLDC fans and external filtering.

  • Why the MOC3041 Optocoupler Was Socket-Mounted

    Srinivasan M S03/23/2026 at 04:19 0 comments

    During the development of the heater control stage, the TRIAC driver circuit was implemented using a MOC3041 optocoupler.

    Since this stage interfaces directly with the mains-powered heating element, careful consideration was given to testing and troubleshooting during initial bring-up.

    To make the development process more flexible, the MOC3041 was mounted on a socket rather than soldered directly onto the PCB.

    This decision provided several practical advantages:

    • Allowed quick replacement in case of device failure 

    • Enabled easy experimentation with different optocouplers if required 

    • Simplified debugging of the TRIAC triggering circuit 

    • Reduced risk of PCB damage during repeated desoldering

    During early testing, having the optocoupler socket-mounted proved useful in isolating issues related to triggering behavior and verifying correct operation of the power stage.

    Once the system behavior was confirmed to be stable, the design could be finalized with confidence.

    Although socketing is not always used in final production designs, it can significantly ease development and troubleshooting in mixed high-voltage and control circuits.

    This approach is particularly useful in circuits where component stress or uncertainty during initial testing is expected.

    Would be interested to know if others use socketing strategies during power electronics prototyping.

  • Why Hardware Temperature Safety Was Implemented Alongside Firmware Control

    Srinivasan M S03/21/2026 at 14:24 0 comments

    While developing the temperature control system for the rework station, firmware-based control using PID regulation provided stable and predictable operation under normal conditions.

    However, relying solely on firmware for safety was considered insufficient for a system involving a high-power heating element.

    Potential failure scenarios were evaluated, including:

    • Microcontroller hang or crash
    • Software bugs affecting control logic
    • Sensor failure or disconnection
    • Unexpected operating conditions

    In any of these cases, the heater could remain energized without proper regulation, leading to uncontrolled temperature rise.

    To mitigate this risk, an independent hardware-based safety mechanism was incorporated.

    The design ensures that, regardless of firmware state, the heater operation is constrained by hardware conditions. This includes enforcing safe operating limits and preventing continuous heating in abnormal situations.

    Additionally, a fan–heater interlock was implemented to ensure that the heater cannot operate without adequate airflow. This prevents localized overheating and protects both the heating element and surrounding components.

    By separating safety mechanisms from firmware control, the system achieves an additional layer of protection.

    After implementing hardware safety:

    • System resilience improved significantly
    • Failure modes became more predictable and controlled
    • Risk of overheating due to firmware issues was minimized

    This approach reflects a general design principle in power electronics and embedded systems:

    Critical safety functions should not depend solely on software.

    Combining firmware control with independent hardware safeguards provides a more robust and fail-safe system.

    Would be interested to know how others approach safety design in similar high-power embedded systems

  • Relocating the 24V DC Booster – Improving Power Stability and System Isolation

    Srinivasan M S03/20/2026 at 10:39 0 comments

    During the early stages of development, the 24V DC boost converter used for driving the blower fan was initially placed on the processor board.

    While this simplified wiring during prototyping, it introduced several unintended issues during operation.

    The boost converter, being a switching power supply, generated noticeable electrical noise and transient disturbances. Since it was located on the same board as the ESP32 and control circuitry, these disturbances began to affect system stability.

    Symptoms included occasional erratic behavior in control signals and increased susceptibility to noise, especially during fan startup and rapid load changes.

    Further analysis indicated that combining sensitive control electronics and high-current switching circuitry on the same PCB was not ideal for this application.

    To address this, the 24V booster was relocated to the power board.

    This change provided several advantages:

    • Improved physical separation between noisy power circuitry and sensitive control electronics • Reduced noise coupling into the ESP32 and sensor interfaces • Better grounding and current return paths • Simplified routing of high-current traces

    After relocating the booster:

    • System behavior became more stable
    • Noise-related issues were significantly reduced
    • Overall reliability improved

    This modification highlighted the importance of proper partitioning between power and control domains, especially in mixed-signal embedded systems.

    Separating high-frequency switching circuits from low-level control electronics can greatly improve system robustness.

    Would be interested to know how others handle power and control separation in similar mixed-signal designs.

  • Temperature Overshoot in Hot Air Control – Implementing Software Tapering

    Srinivasan M S03/19/2026 at 16:52 0 comments

    During initial testing of the temperature control system, a noticeable overshoot was observed when the heater approached the set temperature.

    The system uses PID-based control with thermocouple feedback. While the steady-state regulation was reasonably stable, the heating phase exhibited a tendency to exceed the target temperature before settling back.

    This behavior was more pronounced at higher temperature settings and during rapid heating cycles.

    Initial investigation suggested that the issue was not with sensor accuracy, but with the control response near the setpoint. The heater, being a relatively high-power element, continued to deliver residual heat even after the control output was reduced.

    To address this, a simple software-based tapering approach was introduced.

    Instead of allowing full control output until the setpoint is reached, the system gradually reduces heater drive as the temperature approaches the target. This effectively softens the control action near the setpoint and reduces thermal inertia effects.

    After implementing this change:

    • Temperature overshoot was significantly reduced

    • Settling time improved

    • Control behavior became more predictable

    This approach proved to be effective without requiring major changes to the PID parameters.

    It highlights the importance of considering system dynamics and thermal inertia in addition to pure control loop tuning.

    Would be interested to know how others handle overshoot in similar thermal control systems.

  • Power Supply Debugging – Resolving 7812 Dropout and System Instability

    Srinivasan M S03/18/2026 at 08:37 0 comments

    During the initial testing phase, the system exhibited unstable behavior, particularly when the fan and control electronics were operating simultaneously.

    The 12V rail, derived using a linear regulator (7812), showed noticeable voltage drop under load. This resulted in erratic system operation, including unreliable fan startup and inconsistent control behavior.

    At first, the issue was suspected to be related to firmware timing or PWM interaction. However, further measurements revealed that the root cause was insufficient bulk capacitance on the rectified DC supply.

    The original design used a 1000 µF reservoir capacitor, which proved inadequate for handling transient load demands from the fan and control circuitry. Under load, the input voltage to the 7812 regulator dropped below its required dropout margin, causing the regulated 12V rail to sag to approximately 10.6V.

    To resolve this, the reservoir capacitance was increased from 1000 µF to 5000 µF. This significantly improved voltage stability by reducing ripple and maintaining sufficient headroom for the regulator during peak load conditions.

    After this modification:

    • The fan started reliably across the full PWM range

    • The control system became stable

    • Temperature regulation operated consistently

    This debugging process highlighted the importance of proper power supply design, especially in systems combining high-power loads with sensitive control electronics.

    Ensuring adequate bulk capacitance and understanding regulator limitations are critical for stable operation.

View all 8 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates