0

Easily Integrate SOVOL Filament Dryer to Home Assistant with ESP32

Share

Introduction

Sovol SH01 Filament Dryer

If you’ve ever owned a SOVOL SH01 Filament Dryer, you know how useful it can be for keeping your filament in optimal condition. However, I wanted to take things further by integrating mine to Home Assistant for wirelessly monitoring and control.

With this upgrade I can read monitor temperature and humidity as well as control the filament dryer wirelessly from Home Assistant. Moreover I can create an automation to automate the action of the dryer.

In this post, I’ll walk you through how I modified the SOVOL Filament Dryer (specifically, the model linked here) to add smart features without needing to replace the control board. This approach allows you to easily revert to the stock setup if necessary, while still enhancing the dryer’s functionality with wireless control, runtime tracking, and more.

Table of Contents

COMPONENT FOR THIS PROJECT

Optional Parts:

TOOLS I USE IN THIS PROJECT

DIY Tools

MAKE VIDEO

► SUBSCRIBE TO THE CHANNEL: http://shorturl.at/bjrEK

The links above are from AliExpress and include affiliate links. This means if you make a purchase through them, I’ll earn a small commission at no additional cost to you.
I also buy from these suppliers myself, so I’m confident in recommending them. If you’re comfortable shopping on AliExpress and enjoy my projects, feel free to use these links! Your support helps fund the channel, allowing me to create even more exciting DIY content for you. Thank you!

About Affiliate Links

Upgrade Process Summary

To integrate SOVOL filament dryer to Home Assistant, I’ll be using an ESP32-C3 Super Mini module running ESPHome firmware, connected to the dryer’s control board.

The SOVOL filament dryer operates using three touch-sensitive buttons on the front panel. Unlike mechanical push buttons, these touch buttons detect slight changes in electrical fields and trigger a response when a finger approaches. To electronically simulate this touch, I’ll use optocoupler to control each button by grounding and un-grounding the connection, effectively simulating a finger touch.

For the dryer’s internal environment, the SOVOL board use an onboard AHT21 sensor and also included an I2C output. The AHT21 is fully compatible with ESPHome, so integrating it was straightforward—by connecting the ESP32 to the I2C output, we can easily read sensor data.

Initially, I tried powering the ESP32 from the SOVOL board’s 3.3V output, but it couldn’t supply enough power, leading to stability issues. To solve this, I need to added a small buck converter, drawing power directly from the dryer’s 12V input.

I’ve included details on the capacitive button, optocoupler, touch key IC, and detecting physical touches in another guide on hacking the capacitive spring button. This guide might also be useful if you’re looking to hack other devices with similar spring buttons, check it out for more in-depth information.

Making a Custom PCB

In my previous hack, I used a transistor as a switch to temporarily connect two pins of the push button to trigger it. However, the touch spring buttons only have one pin connected to the board. After trying different approaches, I discovered that I could trigger the button by touching ground wire to them.

Unfortunately, the transistor didn’t work for connecting the ground, so I need to use a 4N35 optocoupler. The optocoupler is slightly larger than a transistor and has six legs. To trigger three switches I need three optocouplers plus three 200Ω resistors to connect them to the ESP module. So, it makes sense to put everything onto a PCB.

You can follow the diagram below to place the components.

Initially, I used a 7X3cm board, but I discovered it hardly fit inside the dryer after trying to install it. So I need to switch to an 8X2cm prototype board. I cut it down to 23 columns.

Due to space limitations, I could only connect six rows on the ESP32 module, leaving the last two unconnected. I also need to replace the standard resistor with the hand-soldering SMD (surface-mount devices) resistors to fit in the smaller board.

I’ve use JST XH 2.54 connectors for all the external connections. This choice makes maintenance much easier.

For ground rail, I used a metal strip from the JST connector pin solder to bottom of the board between the optocoupler legs. This saves me a lot of time bridging the ground connection.

This was my first time working with the ESP32-C3 Mini board. I have trouble getting it to boot when powered through the 5V pin, even though it worked fine via the USB-C port.

After some research, I found a suggestion to add a capacitor between the 5V and ground pins. Through trial and error, I found that a 100µF capacitor worked best for me to stabilize the power and ensure the board booted correctly.

Modify SOVOL Filament Dryer

Get Access to the Control Board

Start by unscrewing the four screws at the bottom of the dryer to remove the roller base to get access to the control board. The control board is attached to the dryer case with plastic push pins. Use a flat-head screwdriver to carefully pop these out.

After removing the PCB, disconnect all the board’s connectors. If you find a glue securing any of them, you may also need to remove the heater to make it easier to pull the PCB out of the case. So, you can freely use a sharp knife to slice the glue out.

WARNING:
The display screen on the front panel is attached to a clear adhesive sticker on the front. Once removed, It’s difficult or impossible to reattach neatly without creating air bubbles, so handle this part with care.

Preparing the SOVOL Control Board

First, attach the 4-pins JST XH connector to the provided I2C pin on the board. Even though the connector orientation isn’t issue here since you can match the female connector to each pin later on. I prefer to mount it in the same orientation as the other connectors on the board for consistency.

Next, I use 24AWG wires with 100KΩ resistor, connect to each touch spring button joint on the back of the board. It’s a good idea to use different wire colors for each connection. This will help prevent confusion and make troubleshooting easier in later steps.

To track the physical power button press, I’ve connected an extra wire to pin 4 on the touch key IC, which corresponds to the power button output. This will connect to ESP32 pin 10 which I will assign to the GPIO binary sensor in ESPHome.

The SOVOL Filament dryer control board use BS813A-1 (8SOP-A) touch key IC, you can fond its datasheet here.

Due to limited space in side the dryer and to minimize wire cluttering, I’ve chosen not to detect the other two buttons, as I can simply power cycle the dryer to reset the settings accurately when needed. I’ll provide more details in the “Integrate to Home Assistant” section below.

Add Main Power Switch

Since I need to rewire the 12V input to add a buck convertor,I thought it’d be a great opportunity to add a KCD-1 rocker switch at the back of the dryer next to the DC input.

The recommended cut hole for the switch is 19.2×13 mm. I mark the cut hole and use a drill along with a mini grinder to create a mounting hole. I cut it slightly smaller to the mark and use a metal file to finish the final size.

DC input connect to KCD1 switch with spade connector

The case turned out to be thicker than I expected, measuring about 3 mm. The cutting disc I had wasn’t small enough to cut through it neatly, so I resorted to the old-fashioned method of drilling multiple holes and using a hobby saw to cut it out.

To wire the switch, I rewired the barrel DC input connector using 18 AWG wires. The positive wire from the barrel connector was crimped with a 4.8 mm spade connector to connect directly to the switch. For the negative wire, I tinned it with solder and connected it using a 3P lever wire connector.

Connect Buck Converter

To power the ESP module, I used a tiny buck converter to step down 12V input from the power supply to 5V. It fits perfectly in the wire slot on the side of the dryer.

According to the datasheet, the ESP32-C3 Mini supports an external power supply voltage range of 3.3V to 6V. I found that it operates more stably when I adjust the output voltage to approximately 5.8V.

For connections, I used 22 AWG wire for the converter’s output, I crimp the output to custom PCB with 2 pins XH connector. On the input side I crimp the positive wire to the positive input wire to the control board using spade connector for connect them to the switch. To protect the converter, I wrapped it with a heat-shrink tube.

Finally, I bundled the negative wires from the barrel connector, control board, and buck converter using a 3P lever wire connector for a clean and organized setup.

Replace the Internal Fan

You might also consider replacing the fan if it’s getting noisy. Mine is get very noisy. The dryer uses a standard 12V 4010 fan to circulate air through the filament roll.

So I swapped mine for a 6,000 RPM fan rated at 0.08A, which is the same to the stock. With dual ball bearings, this replacement runs smoother and is more durable.

It’s an easy drop-in replacement, just make sure you install it with the label side of the fan facing toward the filament roller, so the airflow pushes directly to the filament.

Upgrade the Filament Outlet

For the filament outlet, I replaced the rubber cap at the filament outlet with an PC4-M6 PTFE tube coupler. This is a great upgrade if you’re feeding filament directly from the dryer to your printer. The coupler keeps the PTFE tube securely in place while still being easy to detach. You can reuse the nut that originally secured the rubber cap to attach the coupler.

To keep the dryer air tight, you can use a short piece of PTFE tube glued to a 3D-printed cap. This can plug to the coupler when you’re not using it, helping to maintain proper storage conditions for your filament.

Finalizing the Wiring

Once all the modifications are complete, you can now tidy up the wiring. And if possible, separate the wires leading to the 4-pin connectors from the I2C and power input wires. This could help reduce interference.

Ensure that all wires, including the buck converter, fit neatly within the provided wire slots and avoid obstructing the screw holes. With everything in place, reassemble the roller base to complete the hardware modifications. From here, you can proceed with the software setup.

Continue to ESPHome Firmware

Pages: 1 2