Anyone have any tips or tricks or even scripts for creating custom meandering traces

Anyone have any tips or tricks or even scripts for creating custom meandering traces on a heated bed and calculating power output?

I’m finally working up an actual heated bed for the company I work for, but I’m no EE. I lack depth of knowledge, but have a lot of breadth. :stuck_out_tongue:

I’m using KiCAD but, is this just a trial and error type of thing?

Look at trace length matching. Some pcb layout programs have it. It’ll fill in space with meandering/zigzag traces.

simple fractal algorithm would do this, maybe for heated beds also turtle grafics or some recursive function would work. The power should be calculated from the resistance (lenght, hight and thicknes of the trace). You finde some advice here

maybe the antenna design could also help … there are some KiCAD scipts for this
or here

I regularly use this script to plot with my builds before I print - a spiral square


Are you just wanting a heat trace or do you want to do something fancy like minimize hot spots, dual voltage option, sensor targets like Prusa?

@Ryan_Carlyle Just want to pick a target wattage (100-200w) @ 24v and lay some traces within a defined area at the right track width and spacing.

It’s a little more difficult than calculating a square, because I’m doing it for a delta with a hexagonal plate.

I’d probably just do a single big double-spiral to fill the hex and then trial and error the trace widths to get the resistance. I understand it’s kind of a PITA to get the resistance bang-on though; if the manufacturer is a little over or under on the copper weight it can make a big difference.

Does it need to be a PCB? Silicone heater bonded to aluminum is my preference these days.

just checked, the Spirale module from my oscad library offers this - you can tweak the width and it will tell you the length (maybe the length is not right as it was intended for round spirals) - you can put two together and connect the center ends manualy - export as dxf or svg. »Spirale(grad=1200*5,radius=70,detail=100,diff=4)circle($fn=6,d=1);«
missing/deleted image from Google+

@Ulrich_Baer is this library built into oscad/esim?

no, you can dl ub.scad from

I am not an electronics engineer either, but I imagine that current will be more likely to take the shortest path and as such the outer corner will get less current flow than the inner corner and that will affect where the heat is generated.

Btw, to your question of “is it a trial and error thing”, it sort of is. You can calculate what the resistance SHOULD be given the specified trace width and nominal copper thickness, but there will be some variability in these factors depending on how the board is fabricated, and if you have values that give you the right resistance from one manufacturer, even if that fab house gives you good batch-to-batch consistency (which is not a given), taking the same files to another fab house can easily give you a value that is off by 10% or more. The type of consistency that matters for making PCB heaters just isn’t what they optimize their processes for, because it doesn’t matter for more typical use cases.

@NathanielStenzel still a huge help from where I am starting from. I can’t imaging having to place all those traces by hand.

@NathanielStenzel If it’s a single long trace less than a centimeter wide, it’ll probably heat evenly enough across the width of the trace without worrying too much about corners. Bigger issue will be heat loss from the edges versus center

WRT the corner cutting issue, remember that copper has high thermal conductivity, which will help keep the heat of the trace even. It also has a positive temperature coefficient, so if one part of the trace DOES start to heat more than another part, its resistance will go up, and you’ll get at least a bit more current taking the other path (though the thermal conductivity should keep this effect very small).

A bigger issue (though still smaller than the heat loss issue that Ryan brings up) is the change in effective width of the trace as it rounds a corner. For the most consistent results, the bends should be rounded, with the outer radius equal to the inner radius plus the trace width.

you can use “Rund(.4,.05)” so all corners are rounded - i think it will not make much difference but it may look nicer.

I guess you have to hope that the heat highs and lows get evened out well enough over the copper.
I wonder if anyone has ever taken the traces clear around the edge of the board and to the other side or along the edge for a moment and then back onto the main side or used vias to optimize heat zones.