Close
0%
0%

Vat Heater for Resin 3D Printers

Keep your resin at the right temperature with this USB-PD powered vat heater featuring ESP32 control, dual channels, and fan support.

Similar projects worth following
I first tried resin printing with a Uniformation GK3 Ultra, which had a built-in heater — a feature I quickly came to appreciate. Unfortunately, the launch of the product was plagued with issues: delays, cracked lids, warped build plates and heater problems to name a few. I returned it, but the concept stuck with me. My new Phrozen Sonic Mini 8K S is excellent, yet it lacks a heater. The colder weather is coming and resin temperature is becoming a concern. Since the vat heater idea worked so well on the Ultra, I set out to build my own. This USB-PD powered vat heater uses dual channels that can drive PCB or PTC heaters, with an ESP32, a colorful display, and precise PID control. On the software side, I’ll be experimenting with an AI-assisted workflow — using ChatGPT to help generate, run, and test embedded code — to explore how far AI can accelerate embedded development. The result is a compact, hackable solution that keeps resin at the right temperature for reliable prints.

Software

The controller firmware is built with the ESP-IDF framework running on FreeRTOS, which allows clean task separation between PID heater control, display updates, and WiFi.

The user interface is designed with LVGL (Light and Versatile Graphics Library) and the LVGL UI editor, providing a colorful and responsive UI on a small display. To refine the look, I use Figma for UI mockups and FontForge to generate custom fonts for LVGL.

I’m also experimenting with an AI-assisted workflow, using ChatGPT to help generate and refine code, as part of exploring how AI can fit into embedded development.

Hardware

From the start, I wanted the vat heater to be compact, affordable, and easy to use, but still powerful and versatile enough to handle different setups.

Power comes from USB-PD, which allows the heater to run at higher voltages (up to 30 V). The higher the voltage, the lower the current — which directly improves efficiency, reduces heat losses in wiring, and makes the design more compact. No bulky external bricks are needed; a single PD adapter does the job.

The board features two independent channels that can drive either PCB heaters or PTC heaters, giving flexibility for different resin printer builds. Each channel has its own temperature sensor and a hardware temperature cutoff, providing both accurate measurement and built-in safety.

To achieve stable temperature regulation, the design uses a 14-bit external ADC from TI. This provides far more precision than the ESP32’s built-in ADC, giving finer control over PID regulation and ultimately more reliable print temperatures.

The result is a board that’s small enough to fit into your hand, simple to use out of the box, and still hackable for those who want to experiment with their own heater strategies.

This project is sponsored by

case.zip

STLs for the case

x-zip-compressed - 75.62 kB - 10/06/2025 at 14:47

Download

schematics.pdf

Schematics for the device.

Adobe Portable Document Format - 152.61 kB - 09/25/2025 at 16:16

Preview

  • 1 × ESP32-S3-Wroom-1 MCU build for IoT
  • 1 × AP33772S USB-PD controller
  • 1 × IX4427N Power Management ICs / MOSFET, Bridge Drivers and Controllers
  • 1 × ADS7142 Nanopower, Dual-Channel, Programmable Sensor Monitor
  • 1 × TMP110D Board mounted temperature sensor

View all 7 components

  • Thermal interface.

    Dimitar10/26/2025 at 17:10 0 comments

    Hi,

    I was thinking how to glue the heaters to the vat. Also the vat is hollow inside. This was a concern for people, because air is bad conductor of heat. 

    I found this glue AS1803. On paper it has pretty good thermal characteristics, which one is to expect for 85 euros. I used to fill the gaps and attached the heaters to the vat. 

    I ran a test, with the hollow vat + high temp double sided tape / fancy glue and filled gaps. This is the result:

    I recorded the temperature of the heaters and the temperatures of the inside of the vat. In both cases the vat reached 51° the only difference is that it reached it one minute faster.

    Is the tape the best - no. Does it make sense to spend 80 euro for one minute improvement, also no.

    The tape is way easier and cleaner to use, the only tools you need is an exacto knife.

    In conclusion: I am relived that this expensive glue did not do a much of a difference and in general that the hollow vat is not a concern. 

    Cheers,

    M

  • Vat cooldown

    Dimitar10/11/2025 at 10:00 0 comments

    Next simulation I wanted to run is how fast does the vat loose heat. 

    There is a number of assumption. One is that the whole vat is the same temp. In practice this is never the case. So the question what is the vat temperature depends where you measure. I decided that I will measure the temperature on the inside of the long side of the vat. In a sense there the temperature should be highest because the heater is located on the outside of the same wall. Next assumption is that the vat is empty. And the third one is we will test it a single lumped thermal mass.

    Since I already have a 3D model of the vat I can get the volume, and the surface of the vat. I can also measure the weight of it. 

    Again we are pretty close to the real deal. This gives me a starting point for another experiment. The walls of the vat are empty which is terrible for thermal conductivity. I plan to fill the gaps with AS1803 which is a great thermal conductivity and this will double as glue for the heaters as well. Will it make such a big difference to justify the price? 

    Cheers!

    M.

  • Simulation time.

    Dimitar10/08/2025 at 15:13 0 comments

    After the first use of the heater in a real world environment, for a thirteen hour print at 12° C, something was clear. Just controlling the temperature of the PCB heaters is not enough. Two things became apparent. First one is that the PCB heaters will come up to temperature before the resin even has a chance to worm up. The second is that if we run the heaters up to 35° it will take for ever to heat the hole vat. 

    We need to run the heaters at 60° in the beginning (this is the maximum that I have set for safety) to warm up the vat as quickly as possible. After set amount of time switch to mode to maintain the temperature. The question is what is this amount of time? 

    Now can we just add a user defined timer to run the heater on max power before it goes to temperature keeping mode. The answer is yes, but is any fun - no.

    We need to simulate the vat + resin combo how they heat up and how much heat they loose to the environment. How much heat can the heaters themselves produce. And the last major player is the interface between the heaters and vat. We do have a sensor for ambient temperature and with this info we can make a formula that will give us the amount of time we need to run the heaters at 60° to reach the user set temp. We have a few assumption, the vat is full and we have not run the heater before. 

    I already modeled the heater using GNU Octave. I also made a test using a real heater and logged its temperature. 

    Math works... who would know. I think this is quite nice. Now I need to model the rest and work out the formula.

    Cheers,

    M

  • Building the UI

    Dimitar09/27/2025 at 19:42 0 comments

  • First Results: PID in Action

    Dimitar09/25/2025 at 16:14 0 comments

    Hello all,

    I wanted to see how well the heater could hold temperature, so I filled the resin vat with water and started a simple test run. The heater brought the water up from about 28 °C to 40 °C without trouble, and once it reached the target it settled nicely.

    Of course, I had to push it a bit. So I grabbed some ice, dropped it right into the vat, and watched the curve dip. For a moment the temperature slid down, but then the PID loop kicked in and pulled it right back — stabilizing within ±0.5 °C. There were two samples per second made, making the test run about 1h. 

    That’s exactly the kind of stability I was hoping for. The external 14-bit ADC really helps smooth out the control, and paired with USB-PD power it feels like the system has plenty of headroom.

    I have built a few test units to send to some friends for real world testing next :) 

    Cheers,

    M.

View all 5 project logs

  • 1
    What is included.

    The kit includes two flexible, high-temperature, 0.75mm² silicon-insulated sets of wires designed for use with the heaters. They allow easy routing and connection due to their flexibility. The heaters themselves have double sided tape that is suitable for high temperatures.

    The main board comes in ESD protective packaging, while the ribbon cable, display and the it's board need some extra protection and they come with ESD protective box. 

    You will have to print the case of the printer by yourself. You can find the necessary files in the link bellow. In terms of tool hex key is needed.

    STL

  • 2
    Assembly

    First thing is to mound the brass inserts. Depending on the resin you choose you might heat press them or just friction fit them.

    Take the ribbon cable and connect the main board and the display board. 

    Next is to bend the display backwards.

    Next step is to insert the display board in the base.

    Fix the board with the three screws 

    Add the display. Take care on this step because ribbon cable of the display is fragile. 

    Put the buttons in the case and slide the the hole assembly together.

    if you like you can secure the two part of the shells with a few drops of super glue.

  • 3
    Mounting

    Peal the protective foil on the back of the heaters. And stick them to the vat.

    Next is to mount the vat and rout the wires to the back so they are not in the way.

    The wires lift the lid a little bit but it is barely noticeable. I am working on a solution for that.

View all 3 instructions

Enjoy this project?

Share

Discussions

Does this project spark your interest?

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