Skip to content

Instantly share code, notes, and snippets.

@eonist
Created March 12, 2026 20:30
Show Gist options
  • Select an option

  • Save eonist/87f89662e86116a2a0463a5ea7ce1742 to your computer and use it in GitHub Desktop.

Select an option

Save eonist/87f89662e86116a2a0463a5ea7ce1742 to your computer and use it in GitHub Desktop.
battery-bike.md

Here's a comprehensive overview of ebike battery designs — especially relevant for your Omera frame project.

Cell Types: 21700 vs 18650

The industry has largely moved to 21700 cells for new builds. They're 50% larger in volume than 18650s but pack up to 45% more energy density, meaning more range with fewer cells and better heat management. em3ev

Spec 18650 21700
Diameter 18mm 21mm
Height 65mm 70mm
Max capacity ~3,500 mAh ~5,000 mAh
Weight ~48g ~70g
Best for Compact builds, legacy packs New builds, higher range batterydesign

Battery Placement Approaches

Downtube Integrated (Most Relevant for Omera)

The battery pack sits inside an oversized downtube, typically accommodating 40–60 cells. This is the cleanest look — the battery is invisible. Modern frames like Giant's EnergyPak use a removable cartridge that slides in/out through the bottom of the DT. This is why we discussed going to a 50mm DT for Omera — a standard 42mm DT can't fit 21700 cells (21mm diameter × 2 rows = 42mm bare minimum, no room for BMS/wiring). myvelo

Downtube External Mount

Battery bolts to the outside of the downtube using rivnuts or braze-on bosses. Common for conversions. Looks less clean but simpler to engineer. A 48V 25Ah pack with 65× 21700 cells comes pre-shaped in a downtube profile. yosepower.co

Triangle Bag/Pack

A custom-shaped battery fills the front triangle, held by a frame bag or custom cradle. Maximizes capacity (85+ cells possible) but looks bulky. Good for range-focused builds. twowheellifestyle

In-Tube Stealth

Cells are packed directly inside the frame tubes — split across top tube, seat tube, and down tube. Extremely stealthy but hard to service, limited capacity (~20 cells), and structurally risky since you're drilling access holes. forums.electricbikereview

What This Means for Omera

For a clean fixed-gear-style ebike, the best approach is downtube integrated with a removable cartridge:

  • DT outer diameter: 55–60mm (up from Detroit's 42mm) to fit 21700 cells in a 2-wide or 3-wide arrangement
  • Configuration: 13S3P (48V, ~15Ah, 720Wh) = 39× 21700 cells — fits in a ~55mm × 400mm downtube cavity
  • BMS: 40A continuous, UL 2271 certified for US/California compliance bev-intl
  • Access: Bottom-load at BB junction or side-load panel
  • Weight: ~2.8kg for the pack alone

The 2026 California regulation (SB 1271) now requires UL 2849 or UL 2271 certification on all ebike batteries, so designing around a certified battery pack from the start avoids costly redesigns later. bev-intl

Want me to calculate the exact cell layout dimensions for the Omera downtube, or look into specific off-the-shelf battery packs that could fit?

@eonist
Copy link
Author

eonist commented Mar 13, 2026

This is a comprehensive topic. Here's everything you need to think about for the scaffold/pack design, broken into categories.

1. Structural / Vibration

This is the #1 killer of DIY packs — road vibration breaks solder joints and nickel strips over time.bike-eu+1

  • Cell retention: Each cell must be held snugly with zero rattle. The scaffold pockets should have a slight interference fit or use silicone friction rings at each end.

  • Anti-vibration padding: A thin foam or silicone liner (1–2mm) between the scaffold outer wall and the steel DT inner wall absorbs road shock.[electricbike]

  • Nickel strip stress relief: Where nickel strips connect cells end-to-end, allow a slight "S-bend" or loop so the strip can flex without cracking under vibration.

  • Axial retention: Cells must not slide forward/backward under braking or acceleration. End caps or retention clips at both ends of each channel.

2. Thermal Management

At 360Wh and 250W continuous draw, your pack isn't generating extreme heat — but Oslo winters and summer sun are real.endless-sphere+1

  • Air gaps: The scaffold should leave ~1mm clearance between the cage outer and the DT inner wall. This acts as a passive air channel — convection moves heat toward the DT steel, which radiates it away.

  • Thermal conductivity: The steel DT itself is your heatsink. Steel conducts heat well enough for a 250W load. No active cooling needed at this power level.[endless-sphere]

  • Cell-to-cell spacing: The 0.5mm gap between cells in the 2×2 grid lets air circulate between cells and prevents thermal cascading if one cell gets warm.[bike-eu]

  • Operating range: BMS should cut off below −10°C and above 60°C. Samsung 50S is rated −20°C to 60°C for discharge.[gebbattery]

  • Cold weather: Your removable cartridge design already solves this — user brings the pack inside overnight in Oslo winter, installs warm.

3. Weather / Moisture / IP Rating

The pack lives inside a sealed steel tube with a laser-cut cover and gasket, so the primary weather barrier is the frame itself.[bike-eu]

  • IP rating target: The frame enclosure should achieve IP54 minimum (splash-proof) — gasket around the laser-cut cover plate, rubber grommets on all cable exit holes.

  • Drainage: Small drain slot at the lowest point of the DT (near BB) so condensation can escape, not pool around cells.[alibaba]

  • Conformal coating: Spray the BMS PCB and all solder joints with conformal coating (silicone or acrylic). Cheap, takes 5 minutes, protects against humidity and condensation.[bike-eu]

  • No potting: Don't pot the cells in epoxy/resin — it makes the pack non-serviceable and traps heat. The scaffold + steel tube is enough protection.[bike-eu]

4. Electrical Safety

  • Cell-level fusing: Each cell should have a fuse wire or fusible nickel strip on its positive terminal. If one cell shorts internally, only that cell's fuse blows — the rest of the pack stays safe.gov+1

  • BMS requirements: 10S BMS with overcurrent, overvoltage, undervoltage, short-circuit, and temperature cutoff. Must cut both charge and discharge.[neogy]

  • Insulation: All exposed nickel strips and bus bars must be covered with fish paper or Kapton tape. No bare metal should be accessible when the pack is assembled.[ascom]

  • Wire gauge: Main power leads sized for 25A minimum (12AWG silicone wire).

5. Certification Standards

Standard | Scope | Required? | Key Tests -- | -- | -- | -- EN 50604-1 | EU ebike battery safety | Mandatory from Aug 2025 for 250W pedelecs | Overcharge, short circuit, crush, vibration, thermal [neogy]​ EN 15194 | EU pedelec system standard | Yes, references EN 50604-1 | System-level including battery [neogy]​ UL 2271 | Battery safety (US/global) | Required for US market | Drop, vibration, overcharge, forced discharge, thermal abuse momentum-biking+1 UL 2849 | Complete ebike system (US) | Includes UL 2271 | Whole bike + battery + charger [momentum-biking]​ UN 38.3 | Lithium battery transport | Yes, for shipping | Altitude, thermal, vibration, shock, short circuit [ascom]​

For EU market launch, EN 50604-1 is the one you need. It became mandatory in August 2025 for 250W pedelec batteries. Key tests include vibration, thermal cycling, overcharge, short circuit, and crush resistance.[neogy]

6. Scaffold Design Checklist

Putting it all together for the printed cage:

  • Material: Nylon PA12 or PETG (flame-retardant grade, UL94 V-0 rated if possible).

  • Pocket fit: 21.5mm ID (snug on 21mm cell, no rattle).

  • End retention: Clip or lip at both ends of each channel — cells can't slide out under braking.

  • Cross ribs: Every 70mm (at cell boundaries) — structural + prevents cells from bowing.

  • Drain slots: Bottom of cage, small cutouts every ~100mm.

  • Foam liner: 1mm closed-cell foam wrap around cage exterior for vibration damping + thermal insulation from extreme cold.

  • No glue on cells: Cells must remain removable. Scaffold holds them mechanically only.

  • Fish paper dividers: Between parallel cells (left pair / right pair) for electrical isolation.

  • Fused nickel strips: Per-cell fusing on positive terminals.

  • Conformal-coated BMS: Mounted on aluminium endcap, coated against humidity.

This gets you a pack that's safe, serviceable, weather-resistant, and on the path to EN 50604-1 certification.neogy+1

This is a comprehensive topic. Here's everything you need to think about for the scaffold/pack design, broken into categories.

1. Structural / Vibration

This is the #1 killer of DIY packs — road vibration breaks solder joints and nickel strips over time. bike-eu

  • Cell retention: Each cell must be held snugly with zero rattle. The scaffold pockets should have a slight interference fit or use silicone friction rings at each end.
  • Anti-vibration padding: A thin foam or silicone liner (1–2mm) between the scaffold outer wall and the steel DT inner wall absorbs road shock. [electricbike](https://www.electricbike.com/make-it-last-baby-best-practices-for-lithium-ebike-batteries/)
  • Nickel strip stress relief: Where nickel strips connect cells end-to-end, allow a slight "S-bend" or loop so the strip can flex without cracking under vibration.
  • Axial retention: Cells must not slide forward/backward under braking or acceleration. End caps or retention clips at both ends of each channel.

2. Thermal Management

At 360Wh and 250W continuous draw, your pack isn't generating extreme heat — but Oslo winters and summer sun are real. endless-sphere

3. Weather / Moisture / IP Rating

The pack lives inside a sealed steel tube with a laser-cut cover and gasket, so the primary weather barrier is the frame itself. [bike-eu](https://www.bike-eu.com/45630/johnson-matthey-battery-systems-critical-factors-in-the-design-of-e-bike-batteries)

4. Electrical Safety

5. Certification Standards

Standard Scope Required? Key Tests
EN 50604-1 EU ebike battery safety Mandatory from Aug 2025 for 250W pedelecs Overcharge, short circuit, crush, vibration, thermal [neogy](https://neogy.fr/en/news/news-nf-en-506041-standard-ebikes/)
EN 15194 EU pedelec system standard Yes, references EN 50604-1 System-level including battery [neogy](https://neogy.fr/en/news/news-nf-en-506041-standard-ebikes/)
UL 2271 Battery safety (US/global) Required for US market Drop, vibration, overcharge, forced discharge, thermal abuse momentum-biking
UL 2849 Complete ebike system (US) Includes UL 2271 Whole bike + battery + charger momentum-biking
UN 38.3 Lithium battery transport Yes, for shipping Altitude, thermal, vibration, shock, short circuit [ascom](https://www.ascom.com/globalassets/assets/global/public-information/declaration-of-conformity-batteries/660733-battery-pack-for-sh4/sz22100217d01_liwinon_685261_iec62133_2-2017-amd12021.pdf)

For EU market launch, EN 50604-1 is the one you need. It became mandatory in August 2025 for 250W pedelec batteries. Key tests include vibration, thermal cycling, overcharge, short circuit, and crush resistance. [neogy](https://neogy.fr/en/news/news-nf-en-506041-standard-ebikes/)

6. Scaffold Design Checklist

Putting it all together for the printed cage:

  • Material: Nylon PA12 or PETG (flame-retardant grade, UL94 V-0 rated if possible).
  • Pocket fit: 21.5mm ID (snug on 21mm cell, no rattle).
  • End retention: Clip or lip at both ends of each channel — cells can't slide out under braking.
  • Cross ribs: Every 70mm (at cell boundaries) — structural + prevents cells from bowing.
  • Drain slots: Bottom of cage, small cutouts every ~100mm.
  • Foam liner: 1mm closed-cell foam wrap around cage exterior for vibration damping + thermal insulation from extreme cold.
  • No glue on cells: Cells must remain removable. Scaffold holds them mechanically only.
  • Fish paper dividers: Between parallel cells (left pair / right pair) for electrical isolation.
  • Fused nickel strips: Per-cell fusing on positive terminals.
  • Conformal-coated BMS: Mounted on aluminium endcap, coated against humidity.

This gets you a pack that's safe, serviceable, weather-resistant, and on the path to EN 50604-1 certification. neogy

@eonist
Copy link
Author

eonist commented Mar 13, 2026

You're right — and that's an important contradiction I glossed over. If you spot-weld nickel strips to the cells, they're notindividually swappable anymore. That kills your core story.

So the scaffold needs to use contact-based connections, not welded strips. At your power level (250W / 36V = ~7A pack current, ~3.5A per cell in 2P), this is totally viable.

Options for tool-free cell swap

Method | Contact Resistance | Max Current | User-Swappable | Cost -- | -- | -- | -- | -- Spring contacts (like a flashlight) | ~10–20 mΩ | Fine at 3.5A/cell | ✓ Drop-in, drop-out | Cheap Compression plates (flat spring + pad) | ~5–15 mΩ | Good | ✓ Slide in, spring holds | Cheap Pogo pins (gold-tipped) | ~5 mΩ | Excellent | ✓ Very clean | €1–2/pin Spot-welded nickel strips | ~1 mΩ | Best | ✗ Needs tools | Cheapest

At 3.5A per cell, even basic spring contacts (like AA battery holders use) work fine. The heat generated at 20mΩ and 3.5A is only ~0.25W per contact — negligible.[endless-sphere]

How the scaffold changes

Instead of nickel strips connecting cells, the scaffold itself becomes the electrical backbone:

  • Each pocket has a spring contact at one end and a flat contact pad at the other — cell drops in, positive nub hits the spring, flat negative sits on the pad.

  • Contacts are wired into the scaffold with thin copper bus wires running along the channels, forming the 10S2P network.

  • The bus wires are soldered to the contacts, not to the cells. Cells are purely mechanical drop-ins.

  • Fish paper / Kapton still goes between parallel cell pairs — but as part of the scaffold walls, not wrapped on the cells.

What this means for the user

  1. Open DT cover.

  2. Slide out the scaffold cartridge.

  3. Pop out old cells (push from one end, spring releases).

  4. Drop in new 21700s from any source, observing polarity (nub = positive end toward spring).

  5. Slide cartridge back in. Done.

No spot welder, no soldering, no tools. The scaffold + contacts are permanent; only the bare cells get swapped.

The certification catch

EN 50604-1 doesn't ban spring contacts — it tests the assembled pack for vibration, shock, short circuit, etc. Your pack just needs to pass those tests with spring contacts under vibration. That means:[neogy]

  • Springs must maintain contact under 4G vibration (the EN test level).

  • Each cell must stay captive — no rattling loose.

  • Short circuit protection: the BMS handles this, not the contacts.

A well-designed spring holder passes this. Plenty of professional battery systems (medical devices, military radios) use spring contacts at higher currents than yours and pass MIL-STD vibration testing.

So: ditch the nickel strips entirely, design the scaffold with integrated spring contacts, and your "cells from any hardware store" story stays intact while still being certifiable.

You're right — and that's an important contradiction I glossed over. If you spot-weld nickel strips to the cells, they're **not** individually swappable anymore. That kills your core story.

So the scaffold needs to use contact-based connections, not welded strips. At your power level (250W / 36V = ~7A pack current, ~3.5A per cell in 2P), this is totally viable.

Options for tool-free cell swap

Method Contact Resistance Max Current User-Swappable Cost
Spring contacts (like a flashlight) ~10–20 mΩ Fine at 3.5A/cell ✓ Drop-in, drop-out Cheap
Compression plates (flat spring + pad) ~5–15 mΩ Good ✓ Slide in, spring holds Cheap
Pogo pins (gold-tipped) ~5 mΩ Excellent ✓ Very clean €1–2/pin
Spot-welded nickel strips ~1 mΩ Best ✗ Needs tools Cheapest

At 3.5A per cell, even basic spring contacts (like AA battery holders use) work fine. The heat generated at 20mΩ and 3.5A is only ~0.25W per contact — negligible. [endless-sphere](https://endless-sphere.com/sphere/threads/e-bike-and-pev-battery-pack-thermal-design-optimizations-a-semi-technical-research-and-implementation-thread.129470/)

How the scaffold changes

Instead of nickel strips connecting cells, the scaffold itself becomes the electrical backbone:

  • Each pocket has a spring contact at one end and a flat contact pad at the other — cell drops in, positive nub hits the spring, flat negative sits on the pad.
  • Contacts are wired into the scaffold with thin copper bus wires running along the channels, forming the 10S2P network.
  • The bus wires are soldered to the contacts, not to the cells. Cells are purely mechanical drop-ins.
  • Fish paper / Kapton still goes between parallel cell pairs — but as part of the scaffold walls, not wrapped on the cells.

What this means for the user

  1. Open DT cover.
  2. Slide out the scaffold cartridge.
  3. Pop out old cells (push from one end, spring releases).
  4. Drop in new 21700s from any source, observing polarity (nub = positive end toward spring).
  5. Slide cartridge back in. Done.

No spot welder, no soldering, no tools. The scaffold + contacts are permanent; only the bare cells get swapped.

The certification catch

EN 50604-1 doesn't ban spring contacts — it tests the assembled pack for vibration, shock, short circuit, etc. Your pack just needs to pass those tests with spring contacts under vibration. That means: [neogy](https://neogy.fr/en/news/news-nf-en-506041-standard-ebikes/)

  • Springs must maintain contact under 4G vibration (the EN test level).
  • Each cell must stay captive — no rattling loose.
  • Short circuit protection: the BMS handles this, not the contacts.

A well-designed spring holder passes this. Plenty of professional battery systems (medical devices, military radios) use spring contacts at higher currents than yours and pass MIL-STD vibration testing.

So: ditch the nickel strips entirely, design the scaffold with integrated spring contacts, and your "cells from any hardware store" story stays intact while still being certifiable.

@eonist
Copy link
Author

eonist commented Mar 13, 2026

Good question — the answer is one spring per channel works, exactly like a flashlight.

Flashlight-style stacking

In each channel, 5 cells sit end-to-end in series:

text
[spring] → [cell 1 +−] → [cell 2 +−] → [cell 3 +−] → [cell 4 +−] → [cell 5 +−] → [flat contact]
  • One spring at the front end pushes the entire stack together.

  • Cells naturally make contact: positive nub of one cell presses against flat negative of the next.

  • One flat contact pad at the back end closes the circuit.

  • The spring tension keeps all 5 cells compressed and in contact, even under vibration.

That's 2 contacts per channel (1 spring + 1 pad), not 10. For 4 channels: 4 springs + 4 pads = 8 contact points total.

Per-cell fusing: separate concern

Per-cell fusing is about short-circuit safety, not about springs. Two approaches:

Approach | How | User-swappable? -- | -- | -- No per-cell fuse(BMS only) | BMS cuts entire pack on overcurrent. Simpler. Fine at 3.5A/cell. | ✓ Fully drop-in Fuse disc between cells | Thin washer-shaped fuse (~5A) sits between each cell contact point. Blows if one cell shorts. | ✓ Still drop-in, fuse disc sits in the scaffold slot, not welded to cell

At your current level (250W motor, 7A pack draw, 3.5A per cell in 2P), the BMS alone handles overcurrent protection adequately. Per-cell fusing is best practice for high-power packs (20A+), but at your level it's optional.[neogy]

If you do want it later, you just drop small fuse washers into slots molded into the scaffold between each cell position — still no welding, still user-swappable.

So the scaffold simplifies to

  • 4 channels, each with 1 spring + 1 contact pad.

  • Cells drop in like a flashlight magazine.

  • Bus wires soldered to the 8 contact points (permanent part of scaffold).

  • BMS wired to the bus at the appropriate tap points for 10S2P balancing.

  • Zero welding to cells. Zero tools needed for cell swap.

Good question — the answer is **one spring per channel works**, exactly like a flashlight.

Flashlight-style stacking

In each channel, 5 cells sit end-to-end in series:

[spring] → [cell 1 +−] → [cell 2 +−] → [cell 3 +−] → [cell 4 +−] → [cell 5 +−] → [flat contact]
  • One spring at the front end pushes the entire stack together.
  • Cells naturally make contact: positive nub of one cell presses against flat negative of the next.
  • One flat contact pad at the back end closes the circuit.
  • The spring tension keeps all 5 cells compressed and in contact, even under vibration.

That's 2 contacts per channel (1 spring + 1 pad), not 10. For 4 channels: 4 springs + 4 pads = 8 contact points total.

Per-cell fusing: separate concern

Per-cell fusing is about short-circuit safety, not about springs. Two approaches:

Approach How User-swappable?
No per-cell fuse (BMS only) BMS cuts entire pack on overcurrent. Simpler. Fine at 3.5A/cell. ✓ Fully drop-in
Fuse disc between cells Thin washer-shaped fuse (~5A) sits between each cell contact point. Blows if one cell shorts. ✓ Still drop-in, fuse disc sits in the scaffold slot, not welded to cell

At your current level (250W motor, 7A pack draw, 3.5A per cell in 2P), the BMS alone handles overcurrent protection adequately. Per-cell fusing is best practice for high-power packs (20A+), but at your level it's optional. [neogy](https://neogy.fr/en/news/news-nf-en-506041-standard-ebikes/)

If you do want it later, you just drop small fuse washers into slots molded into the scaffold between each cell position — still no welding, still user-swappable.

So the scaffold simplifies to

  • 4 channels, each with 1 spring + 1 contact pad.
  • Cells drop in like a flashlight magazine.
  • Bus wires soldered to the 8 contact points (permanent part of scaffold).
  • BMS wired to the bus at the appropriate tap points for 10S2P balancing.
  • Zero welding to cells. Zero tools needed for cell swap.

@eonist
Copy link
Author

eonist commented Mar 13, 2026

You're right — if cells stack end-to-end and slide in from one opening, there's no way to insert a washer between them without breaking the drop-in flow.

So: skip per-cell fusing entirely. At 3.5A per cell, the BMS handles everything. No washers, no fuse strips, nothing between cells.

Each channel is literally:

[spring] → [cell][cell][cell][cell][cell] → [pad]

Cells touch each other directly, positive nub to flat negative, just like loading batteries into a flashlight. Drop in 5 cells, spring compresses the stack, done.

The only safety layer is the BMS — overcurrent, overvoltage, undervoltage, short circuit, temperature — all handled at the pack level, not per cell. That's completely fine at your power draw. [neogy](https://neogy.fr/en/news/news-nf-en-506041-standard-ebikes/)

@eonist
Copy link
Author

eonist commented Mar 13, 2026

yeah. each battery tube just has a flashlight cap. just like a maglight. you screw it in. Tighten it with a coin so it goes flush. can be all plastic I suppose? silicon ring in the plastic cap would keep it in place even under vibration over long time. also works as a weather seal. you only access this hatchet every 5 years or so when you change bats. its not something you open every day. we could add a thin teflon like tape inside each bat tube, that would reduce rattling, but not make the bats so tight that they would not slide out with gravity when needing to be replaced. wiring could go into the center of the cage in a long hole. I added a render of the scad you made earlier. I think we could iterate that design. just add screw-in caps and seal the bottom and add the pads there. and add a hole in the center that connects it all. the spring caps would connect to touchpoint just like a maglight. injection molding could have screw cap moulding part. that unscrew when mold is done. so groves are made when molding. the rest is just cylinder that goes with the mold cap sort of.

@eonist
Copy link
Author

eonist commented Mar 13, 2026

Here's the updated scaffold . Here's what changed from v1:

What's in v2

4 channel tubes (2×2 grid, same as your render):

  • Thin-walled cylinders, bore sized for 21mm cell + 0.3mm PTFE liner + sliding clearance = ~21.9mm ID.
  • Cells slide in/out with gravity. PTFE liner reduces rattle without gripping.

Bottom plate (sealed base):

  • Solid plate that hulls around all 4 tubes — closes the bottom.
  • 4 spring contact pad recesses (10mm diameter, 2mm deep) — this is where the flat contact pads sit, just like the bottom of a Maglite.
  • Central wire hole passes through.

Screw-in caps (Maglite style, print 4×):

  • Threaded plastic cap that screws into the top of each channel.
  • Coin slot on top — tighten flush with a coin, no tools.
  • O-ring groove on the skirt — silicone ring seals against moisture and holds under vibration.
  • Spring contact nub on the inside face — presses against the positive terminal of the top cell, compresses the stack downward onto the bottom pad.

Central wiring channel (6mm hole):

  • Runs the full length through the center of the 2×2 grid.
  • Carries bus wires and BMS balance taps from the contact pads/springs to the electronics below.

Cross ribs at every 70mm (cell boundary):

  • Structural bridges between adjacent tubes — keeps the scaffold rigid without being solid.

Assembly sequence

  1. Slide PTFE liner into each channel (friction fit, stays permanently).
  2. Drop 5 cells into each channel from the top, positive-nub up.
  3. Screw in the 4 caps — spring nub compresses stack onto bottom pad.
  4. Tighten flush with a coin. O-ring seals it.
  5. Whole scaffold slides into the DT as one unit.

Injection molding notes

  • The screw cap threads are made with an unscrewing core in the mold — standard technique for bottle caps, Maglite bodies, etc. [richfieldsplastics](https://richfieldsplastics.com/blog/considerations-for-battery-pack-mold-making/)
  • The main body pulls straight out of a two-part mold along the tube axis — channels are just core pins.
  • The bottom plate is the parting line — mold splits there.
  • Only the O-ring groove on the cap is a minor undercut, easily handled by the unscrewing core.

Drop it into OpenSCAD and send me a screenshot — the thread profile is simplified (stacked rings instead of true helix), so it'll look approximate but the dimensions are correct for printing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment