Blueprint

Sunlu S1 Filament Dryer Controller

Drop-in replacement controller board for the Sunlu S1 filament dryer. Features an STM32C011F4P6 microcontroller, 1.8" ST7735 TFT display, dual NTC temperature sensing, and precise PWM heater control; all optimized to fit in just 16 KB of flash.

Created by Pegoku Pegoku 🚀

Tier 3

13 views

0 followers

1mon 1mon approved Sunlu S1 Filament Dryer Controller ago

Tickets awarded: 165 tickets

Tier: 3

really impressive work! i love this and now i want one for my s4!

Pegoku Pegoku 🚀 submitted Sunlu S1 Filament Dryer Controller for ship review ago

Pegoku Pegoku 🚀 added to the journal ago

V2 fixes

After using the V1 PCB, I found some things I should improve, the main one being to add a flyback diode to the heater and fan.
image

PS: I also finished the README.md + other stuff. Hope I can submit it soon!

Pegoku Pegoku 🚀 added to the journal ago

Finished project!

After many optimization attempts, I gave up. I was unable to using standard libraries display something useful, even less have a fully working system.
I thought I would have to buy the 32KB IC, but before that, I tried asking AI (Claude opus 4.6) to help me optimize the code... and it did!
After regaining motivation, I continued writing code, and optimizing it.
That lead to a fully working filament dryer code which only used up 13KB! Wow !

PXL_20260208_095825074.MP

After that, I assembled it, did some fixes, and, it just worked!
It felt natural to use. I even asked a friend of mine to use it, and he told me it was quite intuitive to use.

Final build images:
PXL_20260208_110349659.MP

PXL_20260208_110402166.MP

PXL_20260208_110415232 (1)

PXL_20260208_110426292.MP (1)

Pegoku Pegoku 🚀 added to the journal ago

programming 👨‍💻

I've been trying to get the pcb to work, and it was quite an experience...
First, I thought I could power the stm32 from the STLINK-V3MINIE same way as I did with my clone Stlink v2 (a mistake in my part).
Then, the display didn't work, which I fixed by resoldering it.
Furthermore, when I was able to display sth in the display, it for some random stopped working after a power cycle. I thought it was bc my buck converter was a bad design, and did a voltage spike (prob does anyways), which killed it.
Luckily, I fixed all of it, and it works. it reads the NTC temperatures, and displays them!

PXL_20260207_094418667

PS: I'm also running out of flash. I chose the 16KB version thinking it would be enough, but it looks like I was wrong. Hope I can lower it, bc I still haven't done the full FW

Screenshot_2026-02-07_10.37.20

Pegoku Pegoku 🚀 added to the journal ago

Assemble PCB

I assembled the PCB. it took a while bc I lost a component, but luckily I ended up finding it.
I think it turned out great, hope it works!

Left: custom | Right: original
image
image

Iamalive Iamalive 🚀 approved Sunlu S1 Filament Dryer Controller ago

Tier approved: 3

Grant approved: $59.00

Great project, didn't realize before that the space on the pcb was going to be used for a display(my bad!) And in the future make sure to include a sc of the shipping option if its above $10!

Pegoku Pegoku 🚀 submitted Sunlu S1 Filament Dryer Controller for ship review ago

Pegoku Pegoku 🚀 added to the journal ago

Note to reviewers

I selected the cheapest shipping available for all the items, GSDL is not available for JLCPCB to me.
image

The pcb is under 100mm x 100mm so it's just 2$, the 3$ is bc of the stencil. Removing the dead space of the pcb wouldn't reduce the price, also, this is needed to have the same footprint as the original PCB, I want it to be a drop-in replacement.

image

BTW, Thanks for leaking my address

Pegoku Pegoku 🚀 submitted Sunlu S1 Filament Dryer Controller for ship review ago

Pegoku Pegoku 🚀 added to the journal ago

Buck and BOM

As mentioned before, I switched to a buck instead of an LDO as it will be more efficient, and should work better.

First, I messed up by placing the buck circuit in the wrong layer... but was able to reroute it.

Screenshot_2025-12-22_13.49.52

Screenshot_2025-12-22_13.49.45

I also did the full BOM of the project. I will go with LCSC as it is the only provider I could find all the necessary components.

Screenshot_2025-12-22_16.41.28

Pegoku Pegoku 🚀 added to the journal ago

Switching to a 3.3V buck

While searching for the components, I've thought, using a 3.3V LDO to with a 24V input will probably be waste of energy and will get quite hot when running the display's backlight, so I'll switch to a buck (TI TPS54240DGQ).
I've been researching which components I should use for the pcb, both for the buck and regular rest of the pcb.
image

Pegoku Pegoku 🚀 added to the journal ago

Finish PCB

I Finished the PCB!
I think it ended up looking great. I hope it fits and I can reuse the original cover so it is a sleeper upgrade. Sadly, I was unable to find a display with the original dimensions, even though, I don't think it really matters as the one I ended up using is Good Enough.

image
image

Pegoku Pegoku 🚀 added to the journal ago

Starting PCB

I finished the schematic, I also changed a few components and footprints.

I've started the PCB!
Furthermore, I placed all the components in the places I would like them to be. I hope I won't need to move then much.

image

image

PS: I found the red picoblade connector! sadly it is only sold through LCSC. I think I'll end up having to buy the components from there...

Pegoku Pegoku 🚀 added to the journal ago

Finish schematic

I think I have finished the schematic. This is quite a simple project, but I wanted to learn how to design a simple pcb using an STM32, as they seem cool tech.
image

Pegoku Pegoku 🚀 added to the journal ago

Display and start schematic

I've switched to an SPI 1.77" LCD, a quite hard find, I looked for one, and it took a while.

I also started the schematic, this is what I've got so far:

image

Pegoku Pegoku 🚀 added to the journal ago

Start STM32MX project

I've started the project. I will probably use the same PCB dimensions, and will use a better display, probably via I2C, buttons, NTC, etc

This is what I've got so far:
image

Pegoku Pegoku 🚀 started Sunlu S1 Filament Dryer Controller ago

12/8/2025 1 AM - Start STM32MX project

I've started the project. I will probably use the same PCB dimensions, and will use a better display, probably via I2C, buttons, NTC, etc

This is what I've got so far:
image

12/8/2025 10 PM - Display and start schematic

I've switched to an SPI 1.77" LCD, a quite hard find, I looked for one, and it took a while.

I also started the schematic, this is what I've got so far:

image

12/15/2025 - Finish schematic

I think I have finished the schematic. This is quite a simple project, but I wanted to learn how to design a simple pcb using an STM32, as they seem cool tech.
image

12/17/2025 - Starting PCB

I finished the schematic, I also changed a few components and footprints.

I've started the PCB!
Furthermore, I placed all the components in the places I would like them to be. I hope I won't need to move then much.

image

image

PS: I found the red picoblade connector! sadly it is only sold through LCSC. I think I'll end up having to buy the components from there...

12/18/2025 - Finish PCB

I Finished the PCB!
I think it ended up looking great. I hope it fits and I can reuse the original cover so it is a sleeper upgrade. Sadly, I was unable to find a display with the original dimensions, even though, I don't think it really matters as the one I ended up using is Good Enough.

image
image

12/21/2025 - Switching to a 3.3V buck

While searching for the components, I've thought, using a 3.3V LDO to with a 24V input will probably be waste of energy and will get quite hot when running the display's backlight, so I'll switch to a buck (TI TPS54240DGQ).
I've been researching which components I should use for the pcb, both for the buck and regular rest of the pcb.
image

12/22/2025 - Buck and BOM

As mentioned before, I switched to a buck instead of an LDO as it will be more efficient, and should work better.

First, I messed up by placing the buck circuit in the wrong layer... but was able to reroute it.

Screenshot_2025-12-22_13.49.52

Screenshot_2025-12-22_13.49.45

I also did the full BOM of the project. I will go with LCSC as it is the only provider I could find all the necessary components.

Screenshot_2025-12-22_16.41.28

12/24/2025 - Note to reviewers

I selected the cheapest shipping available for all the items, GSDL is not available for JLCPCB to me.
image

The pcb is under 100mm x 100mm so it's just 2$, the 3$ is bc of the stencil. Removing the dead space of the pcb wouldn't reduce the price, also, this is needed to have the same footprint as the original PCB, I want it to be a drop-in replacement.

image

BTW, Thanks for leaking my address

2/5/2026 - Assemble PCB

I assembled the PCB. it took a while bc I lost a component, but luckily I ended up finding it.
I think it turned out great, hope it works!

Left: custom | Right: original
image
image

2/7/2026 - programming 👨‍💻

I've been trying to get the pcb to work, and it was quite an experience...
First, I thought I could power the stm32 from the STLINK-V3MINIE same way as I did with my clone Stlink v2 (a mistake in my part).
Then, the display didn't work, which I fixed by resoldering it.
Furthermore, when I was able to display sth in the display, it for some random stopped working after a power cycle. I thought it was bc my buck converter was a bad design, and did a voltage spike (prob does anyways), which killed it.
Luckily, I fixed all of it, and it works. it reads the NTC temperatures, and displays them!

PXL_20260207_094418667

PS: I'm also running out of flash. I chose the 16KB version thinking it would be enough, but it looks like I was wrong. Hope I can lower it, bc I still haven't done the full FW

Screenshot_2026-02-07_10.37.20

2/8/2026 - Finished project!

After many optimization attempts, I gave up. I was unable to using standard libraries display something useful, even less have a fully working system.
I thought I would have to buy the 32KB IC, but before that, I tried asking AI (Claude opus 4.6) to help me optimize the code... and it did!
After regaining motivation, I continued writing code, and optimizing it.
That lead to a fully working filament dryer code which only used up 13KB! Wow !

PXL_20260208_095825074.MP

After that, I assembled it, did some fixes, and, it just worked!
It felt natural to use. I even asked a friend of mine to use it, and he told me it was quite intuitive to use.

Final build images:
PXL_20260208_110349659.MP

PXL_20260208_110402166.MP

PXL_20260208_110415232 (1)

PXL_20260208_110426292.MP (1)

2/9/2026 - V2 fixes

After using the V1 PCB, I found some things I should improve, the main one being to add a flyback diode to the heater and fan.
image

PS: I also finished the README.md + other stuff. Hope I can submit it soon!