Three-Blade Folding Prop Experiment

Mold progress: closing, release, the layup and cut templates. And a watch that logs the VESC

Two things since the mold post above. The mold now has the parts I listed as missing, and building them showed that some of what I told you was wrong. And, at the end, a teaser for a side project that started with not wanting my phone on the board.

Corrections first

  • I said the 1.5 mm hub skin was three woven plies. At 50 % fibre a 200 gsm ply cures to 0.22 mm, so it is seven.
  • I said about 60 g of carbon. That figure was the cured laminate, resin included, and the test prop has changed since. Worked from cloth weights, the 150 mm four-blade as it stands is 26.6 cm³ of laminate, 39 g cured, 24 g of it carbon.
  • I said each blade’s root plies splay onto the hub as tabs. Two of them can. There are twenty UD plies at the root, and twenty plies is a 6.7 mm stack going into a 1.5 mm gap. The rest stop at the hub’s surface.
  • I said each sector pulls straight out. The root sectors do not. More on that below.

Closing it

The mold closes the way my wing molds do: clamps on the flanges against a board each side, or the whole block in a vacuum bag. No bolts. Round every blade there is now a 3 mm land and a 4 by 1.5 mm groove, from the hub well along the leading edge, round the tip and back, so the excess resin has somewhere to go: 2.6 cm³ of groove for about 1.1 cm³ of flash. Under a bag the groove gets a vent from each tip to the edge of the block, and the model gives the closing force, 3.4 kN on the 200 mm block at 85 kPa.

Getting it apart

The sectors have their own release check now. It moves each sector a little along its pull and measures how much of it ends up inside the part. A root sector pulled radially grazes the blade root. Turned 10° toward the leading side it comes out clean. Turned the other way it hooks, and the further the worse.


Caption: a root sector pulled in seven directions: how much of it collides with the part. Clear at 10° toward the leading side

So each sector has a blind hole in its outer face for a pull screw, drilled along the line it actually releases on. The gap sectors between the blades come out any way you like.

The layup

The layup is a set of fields now: cloth weights, fibre volume, overcharge, waste. From the section thickness at every radius it counts the plies: one 200 gsm woven ply on each face of each blade, 300 gsm UD between, twenty plies at the hub thinning to four near the tip. It also checks itself against the cavity it has to fill. The first version put every root ply onto the hub as a tab and the check said 120 %, which is how the third correction above got found. It reads 103 % now.

Caption: how far out each UD ply runs on one blade. Ply 1 lies against the skin and reaches the tip; ply 20 is a 2 mm sliver at the root. The first two carry a 12 mm tab onto the hub

Cut templates

The same thing my wing molds do: every ply laid out flat on one thin plate beside the mold, cut through, and the plate’s face exports as a DXF for a cutter or prints as a paper pattern. The blade skin is the expanded outline. Each UD ply is the region where the blade is still thick enough to need it, so they shrink toward the thickest line and end in a point. The two tab plies have a notch at the fold. Then the hub’s side panel between two roots, and its face disc. A row of holes under each shape says how many to cut: 23 shapes, 130 pieces of cloth for one prop.


Caption: the cut templates for the 150 mm four-blade on a 290 by 402 mm plate: skin, twenty UD plies, hub panel, hub disc

One thing the templates showed. I allow 25 % cloth waste, which is about right on a wing. On a prop the plies are so small that a 4 mm trim margin round each one is more than that on its own.


Caption: cloth for one prop: what ends up in the part, what a 25 % allowance would buy, and what the templates actually cut

Still nothing printed or laid up. A single-blade coupon mold is next in the generator, then a sector and its seat off the printer to check the fit. The propeller feature and the mold are still not in the public document.

A watch that logs the VESC

A teaser to finish. Half the discussions in this thread get settled by a VESC log, and getting one has meant taking my iPhone out on the water. I would rather not.

So last night I have written an Apple Watch app that is the logger. The watch connects straight to the VESC’s Bluetooth module, logs the ESC’s data through the session with the watch’s own GPS, and when the watch and the iPhone are back together the session syncs across by itself. The phone stays in the car, and afterwards it shows the ride: the track, the timeline, lift-off speed, energy by speed band, faults.

It will work on most modern Apple Watches, and the Ultra 2, 3 and 4 work best. It will be on the App Store when it is complete. More when it is.


Caption: two of the watch’s pages on foil: speed, acceleration and time on foil, and the drive page with power, pack volts and amps, motor amps and duty, Wh used and Wh/km.

4 Likes

Molding a prop you didn’t draw, and forging the hub core

Two additions to the generator since the last post. The mold can now be made for a propeller that didn’t come out of the generator. And there’s a second mold, a small press for making the hub core in forged carbon.

A prop from somewhere else

Until now the mold only knew props the generator had built, because it reads the blade’s sections straight from the feature that drew them. A builder asked for a mold for his own prop, which isn’t a B-series blade at all, so there is now a feature that measures one.

Import the prop as a STEP and select it, with the shaft along Z. The feature finds the axis and the bore from the round faces, then the diameter, the blades and the hub. At thirty radii it shoots rays along the shaft through each blade, and from where they go in and come out it gets the mean line, the chord, the pitch, the thickness and where the thickest point is. The mold reads that exactly as it reads one of the generator’s own blades.

To check it, I measured my own 150 mm four-blade from its export and compared it with what the generator was asked for. At 0.7R the chord is 28.2 mm against 28.2, the thickness 3.47 against 3.60, the pitch angle 18.7° against 18.9°. Inboard of about half radius the pitch reads a few degrees low, and I haven’t pinned down why yet. The mold only uses it to lay the parting along the blade, and it parts cleanly there.


Caption: the 150 mm four-blade measured back from its own STL (dots) against the blade the generator was asked for (lines): chord, thickness and pitch angle along the blade

His prop was the real test, and three things came out of it.

  • Its hub has recesses in its ends: a groove, a counterbore, a pin slot. Each one leaves a little island of mold standing in it, which now joins the half on its side instead of coming out loose. With a printed core in the hub these plugs only need to reach 2 mm into the core, not all the way.
  • The mold didn’t quite meet the blade’s edges. Between the blades the parting flattens out, and it was flattening the edge too, so a strip of the blade’s surface was being formed by the wrong half. The edge now leaves on the blade’s own slope, and the parting is cut in 2.5° steps instead of 5°. Checked on the exported halves: 102 mm² of blade formed by the wrong half before, 4 mm² after, and every point of the blade within 0.06 mm of a mold surface.
  • Export the STLs with explicit tolerances. Onshape’s “fine” setting left one half at 26 thousand facets and 0.38 mm off the blade. Set the chord tolerance (0.02) and the angle tolerance (0.05) yourself.

My Takuma hub tapers and has a dish in its tail, and that broke it once more: the hub’s ends were found 0.09 µm off the real faces, which is enough for Onshape to refuse the cut. The ends now snap to the part’s own faces, and a mold that fails cleans up after itself instead of leaving spare parts in the studio.


Caption: the mold made from the measured model of my tapered hub: halves, sectors and keys

Forging the hub core

The one-piece prop wraps the blades’ laminate round a core in the hub. The core is what carries the drive: the Takuma’s shaft turns the hub through a 4 by 20 mm stainless pin in a slot. At full drive torque that slot sees about 39 MPa. A printed PPA-CF core has a factor of 2.3 on that. Forged carbon, chopped tow pressed in epoxy, is somewhere between 5 and 8, and that’s an estimate until someone breaks one. Aluminium is 10.


Caption: the safety factor at the shear-pin slot at full drive torque, for the three ways to make the core

So the generator now makes a forging mold for the core, following Easy Composites’ design for forged carbon. It’s three printed parts.

  • The sleeve: a sleeve whose cavity is the core’s taper, carried on up as a straight bore twice the core’s height, because loose chopped tow takes up about twice the room it finishes in.
  • The floor plug: it forms the small end, with the tail dish as a boss.
  • The piston: it forms the big end. A flange stops it at the finished height.

A steel tube through the middle forms the bore, and a bolt through the tube closes it, so the press is a nut and a torque wrench. On top of the piston a 45° cone carries the nut’s load out to the flange through a big washer, with no steel plate needed.


Caption: the forging mold closed, as a section sketch (not the CAD): the charge pressed to the core’s shape between the floor plug and the piston

The first version taught me something about printed pistons. A piston that slides on a close fit over its whole length will bind, because a long printed part is never straight enough. So only an 8 mm land at the piston’s face is a sliding fit. The stem above it is 0.5 mm smaller each side, which also gives the resin that bleeds past the land somewhere to go. There’s a 1 mm lead-in chamfer on the sleeve’s mouth.

For my tapered hub, 37 to 27 mm over 27 mm, the core is 17.7 cm³. The feature weighs out the charge, 25.8 g of which 15.5 g is carbon. It gives the force for the pressure you ask for, 4.8 kN for 5 MPa on the piston, and the nut torque that makes it: 4.6 Nm oiled to 9.6 Nm dry on an M8. You take it up in stages, letting the charge settle, and stop when the torque suddenly climbs, because that’s the flange landing. It also checks the sleeve’s wall against the pressure, and the washer and the bolt.


Caption: nut torque against the pressure on the charge, M8, oiled to dry. Take it up in stages and stop at the jump when the flange lands

2 Likes

Wow this is all quite amazing.. and several levels above my pay grade. This is like a mini degree in prop design.
Love the VESC watch app. I might see if i can build one for a garmin watch

Yes i can attest to over-propping. The prop i had printed would cause my 100A FSESC 6.8 VESC to clip at around 40% throttle. While running it my pool doing static tests, AI told me the prop was too much load which I thought was nonesense as my old 80A ESC handled it fine. But turns out the old non-vesc ESC was obviously capable of very high bursts, well over 80A (my overheated batteries proved this).

My new FD black props solved the issue and it runs great.

Love what you are doing here. Would love to find a 3D printable design that others can easily make. Rather than fork out $500 for an FD set. Happy print resin props for testing if you want . They would need to be as thick as the ones linked above (which may well be too inefficient)

After the forged hub core: molded carbon folding blades. Has anyone tried this?

Last time the generator got a forging mold for the hub core: chopped carbon pressed by a piston in a printed mold, after Easy Composites’ design for forged parts. The obvious next step is the folding blades themselves. Instead of printing them and glassing over them, I’d mold each blade in carbon, with woven skins, a long-tow core, and a forged boss round the pivot pin, pressed by the same kind of piston.

Nothing is built yet. I’d like it picked apart before I print anything, as earlier comments in this thread have changed the design more than once.

The mold


Caption: the mold, a section down its axis, not to scale

  • Two halves, left and right, split through the leading and trailing edges. Outside they form a 2° cone that presses into a printed sleeve, like a collet. That’s the closing pressure on the skins.
  • A waxed steel pin goes through both halves as the hole former.
  • A keyed piston presses the forged charge into the boss, driven by a screw cap on the sleeve’s thread.
  • Everything is printed in PET-CF or a similar carbon-filled filament (table below).
The cone, 2° a side
Squeeze for each newton of push (friction 0.2) about 4.3 N
Push for 0.5 to 1 MPa on a 30 × 55 mm blade face about 200 to 400 N
Locks itself once seated yes; any taper under about 11° holds by friction
Screw cap, 62 × 4 buttress thread about 10 N m for 1.2 kN on the piston, 7 turns of stroke

The loads

The first target is a 150 mm two- or three-blade folder for a 6384: P/D 0.95, a 5 mm stainless pin at a 20 mm radius, and a 14 × 12 mm boss. From my prop twin, a blade-element and drivetrain model checked against the e-Foil Holland prop test, at 88 A static:

Two-blade
Thrust 371 N at 3,245 rpm
Blade root bending, 7 mm root 44 MPa
Force on the stop face 677 N
Pin bending, 5 mm stainless 65 MPa, factor 7.6
Centrifugal pull per blade small, tens of newtons

The folder carries the blade’s bending as a couple between the pin and the stop, so the boss is where the blade lives or dies. The worst load isn’t steady running but snap-open: the blades flung open from rest at full throttle and stopped dead by the stop face. I ran that case for carbon blades in a forged carbon hub against the printed blades and hub the twin had already modelled, and the stiffer parts hit much harder:


Caption: snap-open on the two-blade, the stop’s peak force carried through the pin as bearing on the boss, against what each material takes

Snap-open, two-blade Stop’s peak force, hard stop With 2 mm of TPU on the stop
Printed PPA-CF blades and hub, 0.3 s throttle ramp 8.5 kN (16 × static) 1.3 kN
Carbon blades, forged carbon hub, 0.3 s ramp 17.3 kN (32 × static) 1.3 kN
Carbon blades, forged carbon hub, 0.05 s ramp 31.7 kN (58 × static) 24.3 kN; the bumper bottoms out

So with carbon the soft bumper and a throttle ramp of at least 0.3 s in the ESC stop being nice-to-haves and become part of the design. With both, the boss sees about 21 MPa. Without them, even woven carbon is marginal. The printed hub’s give is doing more work than I’d realised.

The boss is still a hybrid, to cover a bad ramp or a worn bumper:

  • woven plies on the boss’s flat faces, with the hole punched through them
  • tow loops from the blade’s core round the pin and back
  • forged chips filling the rest

The skins carry on from the blade onto the boss faces. That means twisting them about 54° over the 10 mm root fairing, because the blade’s face meets the pin at that angle at the root.

Matched with a forged hub, eventually

The forged hub core in my last post was for a fixed one-piece prop. The natural partner for these blades is a forged folding hub, making the whole prop carbon. But a folding hub is much harder to mold to finished size than a blade. It has:

  • a bore and keyway for the 6384’s shaft
  • a slot between two cheeks for each blade
  • pin bores through the cheeks, which have to line up
  • a stop face for each blade

Some of it molds well:

  • The holes: waxed steel pins through the cheeks, and a rod for the bore, as the prop mold already does.
  • The slots: printed slot formers. The slots open outward, so the formers pull out radially.
  • The stop faces: they come from the mold.

But it would still need the pin bores reamed in line and the slot faces dressed, and I don’t have a way to do that accurately without machining.

So the first step is carbon blades on the existing printed PPA-CF hub, with TPU bumpers and a ramped throttle. That keeps the hub’s give, which halves the snap-open hit. The forged folding hub comes later, if someone can see how to mold it without a mill.

The root can thin, but it buys little


Caption: the root’s strength factor, molded carbon against printed PPA-CF, and what thinning it buys

Molded carbon, taken conservatively at 500 MPa in bending and 60 GPa, is more than twice as strong as printed PPA-CF. So a 4.5 to 5 mm root keeps a factor near 5. But the gain is only about 2 % more thrust at 12 km/h and 1 % less energy at cruise. The 6384 is torque-limited, so static thrust doesn’t move.

Balance


Caption: the imbalance a set of blades arrives with, by how it’s made, against ISO G 6.3

The molded pin hole and the fixed shape take out the seating error, and weighing the charge takes out most of the mass difference. Prepreg’s fixed resin content does the rest.

Two layups, same mold

Prepreg Wet twill
Skins low-temperature prepreg twill, one ply a face, two at the root 200 gsm twill, wet
Core UD prepreg strips, the inner ones looped round the pin dry tow wetted out, some looped round the pin
Boss woven face patches, tow loops, chopped prepreg offcuts woven face patches, tow loops, chopped tow and epoxy
Cure 70 to 80 °C in the mold, then a free-standing post-cure to 120 °C room temperature, 24 h
Gets you the best surface, a fixed weight, no pot life no oven, cheaper, a known process

I’d prove the mold with the wet layup first, then run prepreg in the same mold.

Mold material: PET-CF or similar

Filament Bending strength, stiffness Heat deflection Glass transition Growth, 20 to 80 °C on 50 mm Use and needs
PET-CF (e.g. Bambu, Luvocom 3F) 131 MPa, 5.3 GPa 182 °C at 1.8 MPa, annealed 75 °C about 0.08 mm both layups, if annealed. Hardened nozzle, dried filament, enclosure
PAHT-CF (high-temperature nylon) about 120 MPa, 5 GPa (PA12-CF) 194 °C at 0.45 MPa low both layups. Absorbs water, so dry it and store it dry. Hardened nozzle
PPA-CF 208 MPa, 8.5 GPa about 227 °C at 0.45 MPa low both layups, the stiffest. Needs a high-temperature printer and a hardened nozzle
PC 117 °C at 0.45 MPa about 0.2 mm both layups, but grows most of the heat-resistant ones. Enclosure
ASA about 90 °C about 0.29 mm wet; marginal for prepreg at 80 °C. Enclosure
PETG 70 MPa, 2.1 GPa about 70 °C wet only. Easy Composites’ choice for forged molds
PLA about 55 °C wet only, thin parts

Strength and stiffness are from the prop twin’s material table: the foil.zone thread’s flexural tests and typical carbon-filled polyamide values. Heat deflection is from the makers’ datasheets, or for PPA-CF and PC from a published comparison; the plain filaments’ figures are a heat test by My Tech Fun. Growth is a typical expansion, not from the datasheets, so measure a printed bar before trusting it.

Anneal a PET-CF mold before a hot cure. Its glass transition is 75 °C, and the high heat deflection figure is for crystallised (annealed) material. As printed, it could soften near the cure temperature. Anneal the printed parts as the filament maker says, then check them for size, since annealing can shrink them a little.

In a cone, low growth matters: in ASA the heat would add about 4 mm of extra seating, squeezing the halves near their limit.

Materials and suppliers I’ve looked at

Material Cure Out-life at room temperature Where
Easy Composites XPREG XC130 from 80 °C (16 h), Tg 90 °C; post-cure to 120 to 130 °C about 30 days UK; ships worldwide frozen by air. Australian and NZ customers buy it regularly, they say
Easy Composites XPREG XC110, 210 g twill 85 to 120 °C, 0.25 mm a ply, 42 % resin about 30 days UK, as above
Gurit SE 70 70 °C about 28 days Gurit has an Australian office; stock by enquiry
Gurit SE 84LV from 80 °C, at least 12 h up to 8 weeks as above
Rock West PROPreg 121 °C (250 °F) 21 days US; too hot for printed molds
Easy Composites EG160 tooling gelcoat rated to 160 °C to seal the cavity for prepreg
PET-CF filament, e.g. Luvocom 3F PET CF continuous use at 150 °C dry 12 h at 90 to 100 °C before printing

I haven’t confirmed stock or prices with any of them.

What I’d like to know

  1. Has anyone molded carbon folding blades, or a forged boss round a pivot pin? What broke?
  2. Do the snap-open loads match what you’ve seen on a stop or boss? Has a stiffer prop (aluminium, carbon) broken stops that a printed one didn’t?
  3. Will a 2° self-locking cone in printed PET-CF let go cleanly with wax, or does it need more angle?
  4. Will a piston from the root end push chips into the boss past woven face patches, or will they drag?
  5. Twisting woven plies about 54° into the boss over 10 mm: practical, or should the boss faces get patches only?
  6. Has anyone cured low-temperature prepreg in printed molds under load?
  7. Is all this worth it over glassing a printed blade?
  8. Has anyone molded a folding hub, with the slots and the pin bores, without machining it afterwards?

Where the numbers come from: the loads, root and snap-open figures are from the prop twin; the bearing, balance and cone figures are my hand estimates; the cure and out-life figures are from the suppliers’ datasheets.

I think a molded blade with epoxy and short cut carbon fibres will be strong enough.

Even my PLA blades worked pretty well and this would be magnitudes stronger.

For me personally none of this is worth the effort beyond prototyping, when SLM alu printed blades come out at <10 EUR per blade from china.

Jan, you’re probably right, and I went and priced it to see.

PCBWay, US dollars before freight and GST, for one blade of my 140 mm geared three-blade folder (a bevel segment on the boss, so the three open together) and for the whole 150 mm four-blade I ride:

One Each at 5 Each at 50
Geared folding blade, SLM AlSi10Mg 24.89 15.89 14.50
Geared folding blade, milled 6061, as machined 38.65 28.21 17.08
Whole 150 mm four-blade, SLM 72.87
Whole 150 mm four-blade, milled 6061 166

That’s with the gear teeth on it. So under 10 euro a blade is believable at your volume or from a cheaper shop. For a prop that has stopped changing, that beats any mold. And before paying for metal, a PLA copy prints in about two hours to check the fit on the shaft, the pin and the stop.

I ran aluminium through the prop twin before ordering, and three things came out of it that are worth knowing.

Stiffness is the real win, not strength. The stress at the root is set by the shape, so it’s the same in any material. Aluminium is about eight times stiffer than PPA-CF, though: on the 140 mm three-blade the tip bends 0.67 mm at full power printed and 0.08 mm in aluminium. Some of the lift a printed prop loses under load is probably the blade twisting off its pitch.

Don’t thin the root on the printed alloy. Milled 6061 lets you go thinner. As-built SLM aluminium has porosity and a rough skin, and the published fatigue figures I could find sit around 50 to 90 MPa, against about 96 for milled 6061. My four-blade at 150 A puts 93 MPa on a 7 mm root in aluminium, so I’d go to 8 mm (71 MPa), sand the root smooth and ask for the stress-relief heat treatment.

On a folder, an aluminium hub hits the stop much harder. In the snap-open case from my last post, the blades flung open from rest at full throttle, a printed hub is the spring that softens the stop. Aluminium blades in a printed PPA-CF hub stop about as hard as printed blades do. Put them in an aluminium hub as well and the peak goes up roughly two and a half times:

6384 two-blade, 0.3 s throttle ramp Hard stop 2 mm TPU on the stop
PPA-CF blades, PPA-CF hub 8.5 kN 1.3 kN
SLM blades, PPA-CF hub 7.9 kN 1.2 kN
SLM blades, SLM hub 22.6 kN 1.2 kN

So metal blades are fine, but an all-metal folder wants the TPU bumper and a throttle ramp on the remote. With an instant throttle the bumper bottoms out whatever the material.

What I’m doing with my own: the four-blade printed solid in PPA-CF with the 8 mm root first, on the new 150 A ESC, because there are too many variables changing at once. If it works, the SLM one is the permanent version. I’ll post the log either way.

side note - bored on a 9hr flight with internet again

The watch logger works, and a LispBM boost budget for a motor without a temperature sensor

Two things from my bench this week that belong here, since most of us run VESCs on motors that weren’t sized for what we ask of them.

1. Logging without a phone on the water

A few posts back I teased an Apple Watch app that logs the VESC. It’s now tested. The watch talks to the ESC over the Flipsky BLE module, asks for the VESC’s values about 17 times a second, and writes them in VESC Tool’s own CSV layout, so any VESC log tool reads them. The session copies to the phone when the two are back together.

To check it, I logged one squeeze on the bench with the watch and with VESC Tool over USB at the same time. The two logs agree on revs, current, duty, voltage and temperature to within the sampling jitter, and on watt-hours and amp-hours to four decimals.


Caption: one squeeze on a 150 A Flipsky Mini Plus, prop off: VESC Tool over USB in grey, the watch over BLE in blue. Revs, motor current and energy used

The current trace looks noisier than the rest because this motor has about 20 A of ripple at any speed and the two loggers catch it at different instants. The averages agree to a hundredth of an amp.

Over two bench runs the watch logged 3,450 readings, a median of 59 ms apart, with three gaps over 0.3 s and the longest 0.51 s.


Caption: the time between the watch’s readings over two bench runs, log scale

So the phone stays on shore and I don’t need a VESC Express on the board. On the water every fall will drop the link for a moment; how much of a session it keeps is the next thing to find out. It will work on most modern Apple Watches, the Ultra 2, 3 and 4 best, and it’ll be on the App Store when it’s complete.

2. A boost budget in LispBM

In post 58 I said you could write a LispBM script on the VESC to manage a power budget and recovery. This is that script, now written and tested on the bench.

The problem: my motor is labelled 35 A continuous and 3 kW peak, and it held a flat 76 A for 15 minutes on my old ESC, so I treat 80 A as what it can hold. The new ESC is set to 170 A. The ESC’s limits are a ceiling, not a timer. Squeeze for 30 seconds into a stuck take-off and it holds 170 A the whole time. And the motor has no temperature sensor, so no cutoff can save it.

So the script keeps an I²t budget above 80 A. Every tenth of a second it adds (I² − 80²): it fills fast at 170 A and drains whenever the current is under 80 A. One budget is 8 seconds at a full 170 A, a guess at the winding’s thermal capacity until a sensor is fitted. As it fills, the script steps the motor current limit down:

Budget spent Motor current limit
under half 170 A
half to all of it 150 A
all of it 113 A, the floor

It steps back up as the budget drains, with a little hysteresis. Below 80 A it always refills at least as fast as a 60 A cruise would, and the budget is capped at one and a half, so a long stall at the floor can’t push the recovery out past about a minute.


Caption: the script through a failed 12 s attempt, a 60 A cruise and two more attempts; top, the current drawn against the limit the script allows; bottom, the budget with the two tier lines and the cap

A take-off that works takes a second or two and never meets a step. A failed one held on the trigger meets 150 A at about 4 s and the floor at 10, which is the script ending the attempt rather than the winding doing it. Cruising brings it back: 150 A within seconds, the full 170 A inside about 40 seconds.


Caption: how long until the boost is back, by the motor current while you wait. Lighter cruising refills faster; the 60 A floor on the refill rate is the flat part

The 113 A floor is chosen for the remote’s gears. Mine are percentages of the ESC’s live limit, 71 / 88 / 100 % for 120 / 150 / 170 A. At the 113 A floor, Low gear is 80 A, the current the motor is known to hold, so a tired motor in Low is never pushed past what’s proven.

A trick worth stealing. With the motor’s temperature sensor set to Disabled, the VESC firmware reports whatever a Lisp script writes as the motor temperature. So the script writes the budget there, in percent. Every log now carries the boost state in the motor temperature column, 100 meaning one budget spent, and a remote that shows motor temperature shows it live. The motor temperature cutoffs are moved to 200 and 220 so the ESC never acts on it; it’s a gauge, not a sensor.

Here it is on the ESC, read back from the watch’s log, with the current faked from VESC Tool’s REPL to drive the budget up through both steps and down again:


Caption: the budget on the real ESC as the watch logged it in the motor-temperature column: up through both steps to the cap, then draining at 3.5 % a second with the motor idle, which is exactly 80² over one budget

The gears choose how hard an attempt is; the script decides how long it can go on.

The script is about 65 lines of code, and nothing in it is specific to my drive but five numbers at the top: the current the motor can hold, the boost, the middle step, the floor, and how many seconds of full boost one budget allows. If anyone wants to try it on their own drive, I’ll post it.

Next: a static pull logged by the watch, then the water.

1 Like

Since you mentioned python, I would tell that I will use build123d for constructing 3d models using AI. Because onshape very low API/mcp limits make it unusable.

2 Likes

Agreed, the API is the limit. On the free plan it’s 2,500 calls a year, so about 200 a month if you want it to last. I found that out the hard way: one session debugging a prop mold, pushing a build and reading it back each time, went through a good part of the first month’s calls.

So I work the other way round. I didn’t like Onshape’s own MCP, so I wrote my own small server (it’s in the GitHub package, plain Python). It counts every call against a monthly budget and refuses to go over unless I say so. Changing the code costs one call, and reading the tool’s notices back costs one more. Onshape’s Labs FeatureScript MCP charges every call to the same allowance and, by its reviewers’ counts, takes about six per edit-and-check, with no way to read the notices back.

Most of the work never touches Onshape at all. The foil and prop maths have Python twins that match the tool within about 1 %, so the tuning and the what-ifs run there for free: thousands of variants in minutes. Geometry gets prototyped in Python too, on an exported STL. Onshape only sees the finished change, once, to confirm it builds and the notice reads what the twin predicted.

build123d is a good fit for what you’re doing. It’s open, has no call limits, and it’s code, which an AI writes well. The reason I stay in Onshape is who it’s for: the foil tool is a dialog, so anyone can add it from the feature search and change a field without writing a line. Onshape could make that side much more attractive by letting their own MCP use more API, or not counting it against the allowance at all. As it is, the limits push anyone doing this seriously off the platform, which is your post in one line.

I understand now your purpose, but I suppose you could pretty fast build around the build123d viewer an app with such a form like in onshape to let users change the propeller.

These onshape limits exist for a long time, does not look like they intend to lower it and why depend on this anyway

You’re right that the limits aren’t going anywhere. But they only cost me while I’m building the tool; someone using it in Onshape spends no API calls at all.

A form that draws a propeller already exists, for free: wageningen-b-series-propeller.com. Give it diameter, blades, area ratio, pitch, rake and thickness and it hands you the STL or STEP. It’s what I used for the props on my 63-series motors before I wrote the generator. If all I wanted was the blade, I’d point people there and stop.

The reason I stay is the mold. That’s where the work is: parting a twisted blade so both halves release, keys, pinch-off, plugs for the hub’s recesses, cores, the pressed hub, and the CAM to machine the blocks. Onshape has turned out to be good at it, and the mold reads the part as you left it, so a chamfer or a different bore you add by hand ends up in the mold. Redoing that around a viewer is a much bigger job than the form. If someone builds the propeller form in build123d, though, I’d like to see it.

One correction to my last post: the MCP server isn’t in the public GitHub package. It’s my own, for my own use for now.

2 Likes