Skip to content

Instantly share code, notes, and snippets.

@eonist
Last active March 15, 2026 03:54
Show Gist options
  • Select an option

  • Save eonist/2836310b29fccf2f84f1cd79a0191c3b to your computer and use it in GitHub Desktop.

Select an option

Save eonist/2836310b29fccf2f84f1cd79a0191c3b to your computer and use it in GitHub Desktop.
downtube electronics

I've now thoroughly reviewed both PDFs. Let me give you a clear summary.

USB Charging & Battery Protection: Already in the Design

Yes, both USB charging and battery protection are already covered in your battery architecture — they're part of the self-contained battery pack design you've been developing. Here's the breakdown:

USB-C Charging ✅

The battery pack includes a full USB-C PD charging system built into the electronics bay at the bottom of the scaffold: ppl-ai-file-upload.s3.amazonaws

  • USB-C panel-mount port (IP67, on the side of the battery end cap)
  • PD trigger board (ZY12PDN or STUSB4531, ~31×15×4mm) — negotiates 20V from any charger 45W–240W automatically
  • Boost converter (XL6019, 20V→42V CC/CV) — steps up to pack charge voltage
  • Total electronics fit in ~60×45×25mm, tucked into the electronics bay

The key design point: all electronics live on the battery, not in the frame. You pull the battery out, plug your MacBook charger into the USB-C port on the side, charge on the kitchen table. The frame side is 100% passive — just flat copper pads. ppl-ai-file-upload.s3.amazonaws

Battery Protection (BMS) ✅

A 10S BMS is included in the electronics bay, handling: ppl-ai-file-upload.s3.amazonaws

  • Overcurrent, overvoltage, undervoltage protection
  • Short-circuit and temperature cutoff
  • Cell balancing during charge
  • Per-cell fusing was deliberately skipped — at 3.5A per cell in 2P, the BMS alone handles everything adequately

Battery-to-Frame Connector ✅

The connector design settled on an elevated pad island + recessed pogo pin dock approach: ppl-ai-file-upload.s3.amazonaws

  • Frame side: Elevated flat gold pads on a raised "speed bump" — water sheets off, no pooling
  • Battery side: 6-pin pogo block recessed deep inside a dock cavity — finger-safe by geometry (IP2X-style)
  • 2 power pins + signal/thermistor/comm pins

Downtube Oval Size: ~50×65 Is Flexible

Your notes confirm the DT dimensions are not locked down yet, and you've been exploring both round and oval options: ppl-ai-file-upload.s3.amazonaws

Discussed Size Context
50mm round Original spec for 2×2 grid of 21700 cells
55–60mm Referenced for fitting 21700s with BMS/wiring room
43×59mm oval The 1-2-1 diamond layout (narrower, taller)
~50×65 (your current thinking) Wider than the diamond, gives more lateral room

The 50×65 oval gives you more cross-sectional area than the 43×59 diamond and better lateral stiffness for pedaling loads. The tall axis (65mm) resists braking/vertical loads while the narrow axis (50mm) keeps the frame slim between your knees. Since you're building in aluminum (not steel), you have freedom to specify custom oval tubing from the fabricator. ppl-ai-file-upload.s3.amazonaws

The scaffold cage parameters (currently cagew = 53, cageh = 48 in the OpenSCAD file) would need updating to match whatever oval you settle on. With a 50×65 outer and ~2mm wall, you'd have roughly 46×61mm inner bore — plenty of room for the 2×2 cell grid (~43×43mm footprint) plus wiring channel and air gaps. ppl-ai-file-upload.s3.amazonaws

Bottom line: your electronics stack is already specced and costed at $22–38 total for BMS + USB-C PD + boost converter. The DT oval just needs to be finalized around whatever gives comfortable clearance for the scaffold + 1mm air gap on each side. ppl-ai-file-upload.s3.amazonaws

@eonist
Copy link
Author

eonist commented Mar 14, 2026

Right — the BMS, PD trigger, and boost converter all live on the battery scaffold, not in the electronics module. So the module is just:[ppl-ai-file-upload.s3.amazonaws]

Electronics Module Contents

Board | Size (mm) -- | -- KT T06S (alu case) | 85 × 53 × 32 [topbikekit]​ u-blox M10 GPS | 10 × 10 × 2.5 [symmetryelectronics]​ nRF52840 BLE/MCU | 13 × 18 × 3 [ebyteiot]​

That's it. The KT is the module. The GPS and BLE are basically riding along for free — they're so small they tuck into leftover space beside the controller.

Layout

text
↑ toward battery dock ┌──────────────┐ │ KT T06S │ ~85mm long │ (alu case → │ Pressed against DT wall │ DT wall) │ │ │ │ GPS + BLE │ Tucked beside KT, ~18mm total ├──────────────┤ │ WIRE EXIT │ Motor, torque sensor, brake └──────────────┘ ↓ toward BB

The whole module is basically ~100mm long. Nylon cradle holds the KT box in position, GPS and BLE screw onto a small shelf in the remaining pocket space, and wires exit at the BB end.[ppl-ai-file-upload.s3.amazonaws]

Very compact. Lots of room for air hulls in that nylon cradle.

Right — the BMS, PD trigger, and boost converter all live on the battery scaffold, not in the electronics module. So the module is just: [[ppl-ai-file-upload.s3.amazonaws](https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/139085844/034f9600-ef48-4131-a73d-2b01ba0dbb3c/battery-bike.pdf)](https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/139085844/034f9600-ef48-4131-a73d-2b01ba0dbb3c/battery-bike.pdf)

Electronics Module Contents

Board Size (mm)
KT T06S (alu case) 85 × 53 × 32 [topbikekit](https://topbikekit.com/t06s-24v36v36v48v250w-15a-kt-sine-wave-brushless-controller-for-ebike-p-443.html)
u-blox M10 GPS 10 × 10 × 2.5 [symmetryelectronics](https://www.symmetryelectronics.com/products/u-blox/max-m10m-00b/)
nRF52840 BLE/MCU 13 × 18 × 3 [ebyteiot](https://ebyteiot.com/products/2-4ghz-ble-mesh-small-smd-e73-2g4m08s1c-nordic-nrf52840-module-small-size-ble-5-0)

That's it. The KT is the module. The GPS and BLE are basically riding along for free — they're so small they tuck into leftover space beside the controller.

Layout

         ↑ toward battery dock
    ┌──────────────┐
    │  KT T06S     │  ~85mm long
    │  (alu case → │  Pressed against DT wall
    │   DT wall)   │
    │              │
    │  GPS + BLE   │  Tucked beside KT, ~18mm total
    ├──────────────┤
    │  WIRE EXIT   │  Motor, torque sensor, brake
    └──────────────┘
         ↓ toward BB

The whole module is basically ~100mm long. Nylon cradle holds the KT box in position, GPS and BLE screw onto a small shelf in the remaining pocket space, and wires exit at the BB end. [ppl-ai-file-upload.s3.amazonaws](https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/139085844/f4be1598-1d22-4aea-a953-6b306655fec4/emotor-3.pdf)

Very compact. Lots of room for air hulls in that nylon cradle.

@eonist
Copy link
Author

eonist commented Mar 14, 2026

Good instinct, but at 20W waste heat in a 100°C-rated controller box, the KT case will realistically sit around 40–50°C during riding in Oslo conditions. The GPS and BLE modules are rated to 85°C (u-blox M10) and 105°C (nRF52840). endless-sphere

So they'd be fine right next to it. But there's no reason not to separate them either — and there's a better argument for it:

RF Signal

The GPS and BLE modules need to radiate signal outward through the frame wall. Aluminium blocks RF. Placing them away from the KT — further down toward the BB end where the DT opens into the junction — gives them: [ppl-ai-file-upload.s3.amazonaws](https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/139085844/f4be1598-1d22-4aea-a953-6b306655fec4/emotor-3.pdf)

  • Thinner alu / more gaps at the BB junction for signal leakage
  • Distance from the KT's switching noise (MOSFETs generate EMI that can degrade GPS fix quality)

So the Layout Becomes

         ↑ toward battery dock
    ┌──────────────┐
    │  KT T06S     │  Against DT wall
    │              │  85mm
    ├── air gap ───┤
    │  GPS + BLE   │  Near BB end, away from EMI
    │              │  20mm
    ├──────────────┤
    │  WIRE EXIT   │  → BB
    └──────────────┘
         ↓ toward BB

Not for thermal reasons — for signal quality. The heat argument doesn't matter at your power level, but the EMI separation does.

@eonist
Copy link
Author

eonist commented Mar 14, 2026

for the signal. we could make a small hole in the alu td. but I rather not make too much holes. just adds complexity to the build and water can get in etc. design becomes more messy. so. is there a way to solve this? issue mean yes its inside alu walls on all sides. but could we not make a powerful antenna or. just use a long wire as antenna? and pull it up ST into TT etc? or is making a hole in DT with a sort of sandwich rounded clip antenna bit that has a wire that we can connect. it won't be easy. so is there a way to think about this that we have not thought about. we already have drain with sandwiched rubber thing. and usbc weather proof. and keylock for bat. I guess maybe we could cheat a bit and add a screw to the all frame. like where riders sometimes have a bottle holder. in the ST. we could mount an antenna there. a stealth solution. it would look like a big screen. when screwed in it would connect to the wire and the wire could plug into BT /GPS

@eonist
Copy link
Author

eonist commented Mar 14, 2026

Your bottle cage screw idea is actually brilliant. The industry is already doing exactly this — Tracefy and Kathrein both solved the "GPS inside aluminium frame" problem by keeping the unit inside the frame and routing only the tiny antenna outside. tracefy

The Faraday Cage Problem

An aluminium tube is essentially a Faraday cage. GPS and BLE signals will not work from inside it — that's physics, not a maybe. A thin-wall alu tube blocks enough RF that you'd get no GPS fix and severely degraded BLE range. So you need something outside the metal. reddit

The Bottle Cage Bolt Antenna — Best Solution

Your instinct is spot on and here's why it's the cleanest path:

  • Standard M5 bottle cage boss is already welded to the seat tube on most frames — your framebuilder adds it anyway, it's expected on any bike cyclingweekly
  • Instead of a solid bolt, you install a small antenna puck that looks like a decorative bolt head or cap — maybe 15mm diameter, 5mm tall, black anodized
  • Inside: a tiny patch antenna (GPS + BLE combo antennas exist at 15×15×2mm) with a thin coax pigtail that feeds through the M5 hole into the frame
  • Wire routes down inside the seat tube to the electronics module in the DT
  • From outside: it looks like a bottle cage bolt or a blank-off cap. Totally stealth [tracefy](https://tracefy.com/en/tracefy-introduces-gps-tracker-with-external-antenna-at-eurobike/)

Why This Beats Every Other Option

Approach Stealth Complexity Reliability
Hole in DT with plastic window Messy, visible seam Extra machining + sealing Water risk
Long wire antenna up through TT Moderate Fiddly routing, detuning issues Unreliable GPS
Antenna in handlebar end cap Good Needs long cable run, bars are replaceable OK
Bottle cage bolt antenna Perfect — expected feature One M5 boss + wire Excellent

How It Connects

The wire inside the frame is just a thin U.FL coax cable (~1.3mm diameter) — the standard connector used on the u-blox M10 and most nRF52840 modules. It runs: symmetryelectronics

Antenna puck (M5 boss, ST exterior)
    │
    thin coax through M5 hole
    │
    down inside seat tube
    │
    through ST→DT junction
    │
    into electronics module
    │
    U.FL snap onto GPS + BLE modules

One cable, two modules — you can get combined GPS/BLE patch antennas so it's literally a single wire to a single puck. The nRF52840 and u-blox M10 both have U.FL antenna connectors for exactly this use case. kathrein-solutions

The Build

  • Framebuilder welds one standard M5 boss on the seat tube — they do this in their sleep
  • You drill through the boss into the tube interior (standard for bottle cage bosses anyway)
  • Antenna puck screws onto the M5 with a sealing O-ring under the flange — weatherproof
  • Coax routes internally, plugs in

No extra holes in the DT. No plastic windows. No compromise to the sealed electronics zone. Just one expected-looking bolt on the seat tube that happens to be an antenna. tracefy

@eonist
Copy link
Author

eonist commented Mar 14, 2026

Good question. I checked the frame PDF and here's the situation:

The Headset Top Cap Actually Works

The top cap is not part of the rotating fork. Here's the stack from your build: [ppl-ai-file-upload.s3.amazonaws](https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/139085844/51f251cf-3b46-47fd-9df4-4b92d46f5b41/frame-build.pdf)

Top cap ← sits on TOP of stem, stationary
  Stem bolt ← threads into star nut in steerer
    Stem ← clamped to steerer, stationary
      Spacers ← on steerer, stationary  
        Headset bearings ← rotation happens HERE
          Head tube (frame)

The top cap and everything above the bearings rotates WITH the fork and stem as one unit — it doesn't rotate relative to the stem. There's no relative movement at the top cap. It just sits there preloading the headset bearings via the star nut bolt. [ppl-ai-file-upload.s3.amazonaws](https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/139085844/51f251cf-3b46-47fd-9df4-4b92d46f5b41/frame-build.pdf)

The Wire Path

Your fork is carbon (from the build spec) with a hollow steerer tube — this is standard on all modern carbon forks. The path would be: [ppl-ai-file-upload.s3.amazonaws](https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/139085844/51f251cf-3b46-47fd-9df4-4b92d46f5b41/frame-build.pdf)

Nylon/plastic top cap (RF transparent)
  │ GPS + BLE chip antenna inside cap
  │
  thin U.FL coax drops into hollow steerer
  │
  through steerer tube (~150mm)
  │
  exits at bottom of steerer into head tube
  │
  crosses into DT at HT/DT junction
  │
  plugs into nRF52840 + GPS module in electronics zone

The wire doesn't cross any moving interfaces — the steerer, stem, and top cap all turn together as a unit. The cable just needs enough slack inside the head tube to handle the ±45° steering sweep without binding, same as your front brake hose which already enters at the head tube. [ppl-ai-file-upload.s3.amazonaws](https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/139085844/51f251cf-3b46-47fd-9df4-4b92d46f5b41/frame-build.pdf)

Why This Is the Cleanest Solution

This is your antenna solution. No new holes in the frame, no bottle cage hack, no external puck. Just a plastic top cap with a chip inside and a hair-thin coax down the steerer.

@eonist
Copy link
Author

eonist commented Mar 14, 2026

yeh but break wires doesnt go inside the headset steering parts. it just goes into the front tube, the front tube has space around the fork tube were the wires go. im concerned that the antenna wire won't be able to exam the top cap hull. in my head its trapped inside the fork tube and bolts and such things. but I could be wrong.

@eonist
Copy link
Author

eonist commented Mar 14, 2026

You're right — I was wrong about the path. Let me reconsider.

What's Actually Inside the Steerer

The carbon fork steerer tube is not a clear conduit. Inside it you have:

  • Star nut (or compression plug on carbon) — pressed into the steerer, blocks the bore
  • Top cap bolt — runs down through the top cap into the star nut/plug
  • That's the entire preload mechanism — the steerer bore is occupied

The brake hose goes in the space between the steerer outer wall and the head tube inner wall — not inside the steerer itself. That's the cable routing channel you're describing. [ppl-ai-file-upload.s3.amazonaws](https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/139085844/51f251cf-3b46-47fd-9df4-4b92d46f5b41/frame-build.pdf)

So Can the Wire Get Out?

Actually yes — it just doesn't go through the steerer. The antenna wire exits at the edge of the top cap, not down the center:

    ┌───── top cap (nylon, antenna inside) ─────┐
    │          bolt hole (center)                │
    └──┬────────────────────────────────────┬────┘
       │                                    │
       │  tiny coax exits at rim of cap     │
       │  drops into gap between            │
       │  steerer and head tube             │
       ▼                                    
    Same space where brake hose lives
    → into DT at HT junction

The coax (~1.3mm diameter) just sneaks out at the seam between the top cap edge and the top spacer. It's the same gap where water already gets in — it's not sealed. Then it drops into the same routing channel as your brake hose and front light wire, between the steerer and head tube wall. [ppl-ai-file-upload.s3.amazonaws](https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/139085844/51f251cf-3b46-47fd-9df4-4b92d46f5b41/frame-build.pdf)

Is That Clean Enough?

Honestly — it's a visible wire running from the top cap edge down into the headset area. It's thin, and you could color-match it black, but it's not invisible. You'd see a hair-thin black wire at the stem.

If that bothers you, the bottle cage bolt on the seat tube might still be the cleaner option despite the manufacturing challenge — or you could simply accept that BLE range through aluminium will be reduced but not zero, and skip the external antenna entirely for v1. How critical is the GPS/BLE tracking for the first prototype?

@eonist
Copy link
Author

eonist commented Mar 14, 2026

I guess we could design a small plastic extrusion that would go in a hole under the top tube. that would be stealth. its kind of cool to have these subtle purppousful design elements, that are not easy to discover. we could shape it to the frame circular shape. and use 4 screws to fasten it to the alu frame. weather seal it and that's that. it would face down. do you think that's bad for gps?

@eonist
Copy link
Author

eonist commented Mar 14, 2026

Here's what the industry actually does — and it's revealing:

How Other E-Bikes Solve It

VanMoof S3/S5

Everything is integrated into their custom plastic top tube housing. VanMoof designed the frame from scratch with non-metal sections specifically for antennas. The top tube has plastic panels that are RF-transparent — GPS, BLE, and cellular antennas sit behind plastic, not metal. But VanMoof designed an entire proprietary frame around this. Not applicable to a welded alu frame. help.vanmoof

Cowboy

Similar approach — the top tube is an integrated plastic cockpit with display, BLE, and GPS all behind a plastic window at the handlebars. Again, designed from scratch with RF windows built into the frame architecture. youtube

Bosch ConnectModule

This is the most relevant one. It mounts inside the frame near the motor and on aluminium frames it actually works by finding a thin spot or getting signal through gaps. A user on a Trek PowerFly (aluminium frame) put it inside the frame on top of the motor, below the battery and reported "GPS/Mobile connection appears to be working flawlessly even inside the aluminium frame". The module uses a 400mm cable to position itself where signal leaks through. [reddit](https://www.reddit.com/r/ebikes/comments/16zi96n/bosch_connect_module_tight_cover/)

Tracefy (Dutch, market leader)

They cracked this specifically. Their newest unit has a separate external antenna — the GPS module goes inside the metal frame, and just a tiny antenna (they call it "not much bigger than a pinhead") gets placed behind any plastic part on the bike. That's their whole innovation — decoupling the antenna from the unit. tracefy

The Takeaway

The industry answer is: find existing plastic on the bike and put the antenna behind it. Nobody drills antenna holes in aluminium frames.

On Omera, your existing plastic/rubber parts include:

  • Rubber USB-C flap on the DT — already exists, could embed a chip antenna in it
  • Nylon battery dock area — if any nylon is exposed at the bottom of the DT
  • Brake lever housing — plastic, on the handlebars, clear sky view
  • Saddle — plastic base, already discussed
  • Handlebar grips/tape — wrap a flex antenna under bar tape

Or most interesting: the Bosch/Trek experience suggests that at your frame's joints and cable exit points, enough RF leaks through gaps that it might just work from inside. You have cable pass-throughs at the BB and gaps at the head tube. Those aren't sealed RF-tight. reddit

The smartest move might be: build v1 with GPS+BLE inside the electronics module, test actual signal levels through the frame's natural gaps, and only engineer an external antenna solution if it doesn't work. The Bosch users say it often does.

@eonist
Copy link
Author

eonist commented Mar 14, 2026

For daily use, you can absolutely set-and-forget via the app over BLE. Most riders find one assist level they like and leave it there. The KT controller stores the last setting in memory — it doesn't reset when you power cycle. [ppl-ai-file-upload.s3.amazonaws](https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/139085844/f4be1598-1d22-4aea-a953-6b306655fec4/emotor-3.pdf)

But there's one edge case: hills. In Oslo you'll want to bump assist up for Ekeberg or Tøyen climbs and back down on flats. Pulling out your phone every time is annoying and unsafe while riding.

Options

The Torque Sensor Changes This

With the Bikone torque sensor you specced, the answer is actually you probably don't need buttons at all. The torque sensor gives proportional assist — pedal harder, get more help. Pedal easy, get less. The "assist level" just becomes a multiplier that you set once in the app ("eco" vs "sport") and the torque sensor handles everything dynamically from there. [ppl-ai-file-upload.s3.amazonaws](https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/139085844/51f251cf-3b46-47fd-9df4-4b92d46f5b41/frame-build.pdf)

That's how Cowboy and VanMoof work — no handlebar controls, no buttons, just ride. The torque sensor is the interface.

Skip the buttons. Set the multiplier in the app. The torque sensor does the rest.

@eonist
Copy link
Author

eonist commented Mar 14, 2026

Using a spare pogo for the antenna feed is a good idea and works electrically.

Using a pogo pin as RF feed

  • A thin coax from the GPS/BLE module ends at the battery-side pogo pad (center conductor to pad, shield to local ground plane).

  • The matching frame-side pogo pin connects down to the antenna element mounted in your small plastic console (lock + USB-C piece that already protrudes from the alu).[ppl-ai-file-upload.s3.amazonaws]

  • Electrically it’s just a single RF feed-through contact. Pogo contact resistance is low enough at GNSS/BLE power levels, and RF sees it as a short line segment.

So your 4+1 pins become:

Pin | Use -- | --

Antenna in the plastic console

That console is:

  • Plastic, protruding from the alu = perfect RF window.

  • “Size of 3 nickels in a row” = ~60×20mm → huge for a small chip or flex antenna.

  • Fixed to the frame; the pogo just brings RF up to it, so the antenna never moves.

Mount a tiny chip or flex antenna on the inside face of that console, as close to the outside surface as possible. The pogo-fed trace from the pin to the antenna is only a few cm, easy to keep 50Ω-ish on a tiny PCB.

Why this is nice

  • No extra frame holes — the console already exists in your design.

  • Antenna sits in plastic, outside the alu Faraday cage.

  • Only one extra pogo used; connector stays compact.

  • GPS and BLE both handled by the same combined antenna, through that one feed line.

This is a very clean integration.

Using a spare pogo for the antenna feed is a **good idea** and works electrically.

Using a pogo pin as RF feed

So your 4+1 pins become:

Pin Use
1 V+ (power)
2 GND
3 UART TX
4 UART RX
5 RF feed to antenna in plastic console

Antenna in the plastic console

That console is:

  • Plastic, protruding from the alu = perfect RF window.
  • “Size of 3 nickels in a row” = ~60×20mm → huge for a small chip or flex antenna.
  • Fixed to the frame; the pogo just brings RF up to it, so the antenna never moves.

Mount a tiny chip or flex antenna on the inside face of that console, as close to the outside surface as possible. The pogo-fed trace from the pin to the antenna is only a few cm, easy to keep 50Ω-ish on a tiny PCB.

Why this is nice

  • No extra frame holes — the console already exists in your design.
  • Antenna sits in plastic, outside the alu Faraday cage.
  • Only one extra pogo used; connector stays compact.
  • GPS and BLE both handled by the same combined antenna, through that one feed line.

This is a very clean integration.

@eonist
Copy link
Author

eonist commented Mar 14, 2026

That’s a really elegant way to frame it: one intentional plastic island that tells the whole tech story, and everything else stays pure bike.

Concentrating all “ebike-ness” there works well with your architecture:

Visually: one small, sculpted plastic island on an otherwise seamless alu frame. Functionally: it’s the IO hub for everything — power in, data out, RF out. That’s a very strong, coherent design move.

@eonist
Copy link
Author

eonist commented Mar 14, 2026

Skipping LEDs is totally reasonable here.

If you ever miss quick at-a-glance feedback, you can add LEDs in v2 without touching the core frame or battery architecture.

@eonist
Copy link
Author

eonist commented Mar 14, 2026

Here are a few things that haven't come up yet but matter:

Power On/Off

How does the bike wake up? There's no button, no display. The KT needs to be told to start. Options:

  • BLE wake — nRF52840 runs in ultra-low-power sleep (3µA), phone app sends a wake command, nRF52840 switches a MOSFET that connects battery to KT. This is how Cowboy does it.
  • Motion wake — a cheap accelerometer on the nRF52840 board detects the bike moving, auto-powers the system. Auto-sleeps after 5 min stationary.
  • Torque sensor wake — first pedal stroke triggers a signal, nRF52840 catches it and powers on. Most natural.

You need to decide this. It's a small design detail but affects how the whole system feels day-to-day.

Brake Cutoff

EU law (EN 15194) requires motor cutoff when braking. Your Shimano MT200 hydraulic brakes need brake sensors — small magnetic switches that plug into the KT controller. When you pull the lever, motor cuts instantly. These are ~$3 each, tiny, and wire into the KT's existing brake sensor input. Don't forget to spec them. ppl-ai-file-upload.s3.amazonaws

Front/Rear Lights

Norway requires lights for riding. Are you doing:

  • Integrated (powered by the main battery, wired internally) — stealthier, but more wiring
  • Standard removable lights — simpler, user's problem

If integrated, the nRF52840 could control them and the wiring routes through the frame alongside existing cables. [ppl-ai-file-upload.s3.amazonaws](https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/139085844/51f251cf-3b46-47fd-9df4-4b92d46f5b41/frame-build.pdf)

Speed Limiter

The KT T06S needs to be programmed to cut assist at 25 km/h for EU legal compliance (EN 15194). This is a software setting in the KT configuration — easy, but you need to flash it before delivery. [ppl-ai-file-upload.s3.amazonaws](https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/139085844/51f251cf-3b46-47fd-9df4-4b92d46f5b41/frame-build.pdf)

On/Off is the Big One

The other items are straightforward. But the power-on UX defines how it feels to use the bike every day. I'd go with BLE wake + motion sleep — open the app, bike wakes up, ride. Stop for 5 minutes, it sleeps. No buttons, no switches, fits your zero-interface philosophy.

What's your instinct on that?

@eonist
Copy link
Author

eonist commented Mar 14, 2026

Answers in order:

1. Torque sensor wake

Totally viable. The Bikone BB torque sensor outputs a UART stream whenever it has power and sees axle movement. For wake: [ppl-ai-file-upload.s3.amazonaws](https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/139085844/51f251cf-3b46-47fd-9df4-4b92d46f5b41/frame-build.pdf)

  • nRF52840 + torque sensor are powered directly from the battery (through a small LDO), always-on but ultra-low power.
  • When the nRF52840 sees valid torque/cadence data (first pedal stroke), it closes a MOSFET that powers the KT controller.
  • KT boots in ~1s; assist ramps in smoothly after the first few crank degrees.

So: no button, no phone needed. You just start pedaling and the system wakes. [ppl-ai-file-upload.s3.amazonaws](https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/139085844/51f251cf-3b46-47fd-9df4-4b92d46f5b41/frame-build.pdf)

2. Brake sensors — do you really need them?

From a pure ride-behaviour angle: you’re right. With a torque sensor, as soon as you stop pedaling, torque = 0, the controller cuts motor power. You also typically reduce torque before you start braking, so the motor is already fading out.

The reasons brake sensors still exist:

That said: plenty of legal EU EPACs ship without dedicated brake sensors when using high-quality torque systems; they rely on instant torque cut + speed cutoff. So you can reasonably skip them for v1 and revisit if a cert lab flags it.

3. Lights

If you don’t sell lights, you’re right: Norwegian law puts the obligation on the rider to have lights in use, not on the manufacturer to ship them on the bike. So skipping integrated lights is fine; you’re just selling a bike that’s “light-ready” (user adds clip-on lights). [cyclingweekly](https://www.cyclingweekly.com/group-tests/find-your-stolen-bike-with-a-gps-tracker-165579)

4. Speed limit & “race mode”

KT behaviour depends on settings, not just voltage:

For legal EU bikes you’d flash / program:

For “private track” / off-road profiles you can create alternate KT configs:

  • Same hardware, different parameter set:
    • Speed limit 32–35 km/h (or “off”, depending on KT firmware)
    • Possibly higher current if you ever go to a beefier controller / battery.

You then have two options:

  • Dealer-only flashing: you flash the legal profile by default; for private use / race track, a shop (or the user, explicitly warned) can reflash via the KT display/programming cable.
  • Hidden app switch (v2 idea): nRF52840 acts as “mode gatekeeper” — it stores two parameter sets and only uploads the “race” set when a hidden app action + legal disclaimer is confirmed. For v1, simpler to keep it as a manual flash.

So: yes, you can set 25 km/h for normal bikes, and have a documented alternate config for private/track use. Just keep the out-of-the-box profile strictly 25 km/h to stay on the right side of EN 15194.

@eonist
Copy link
Author

eonist commented Mar 14, 2026

They’re very simple: they’re just “motor kill” switches on the brake levers that signal the controller.

Basic idea

  • Each brake has a tiny switch or sensor associated with the lever.
  • When the lever is not pulled, the switch is in its normal state.
  • When you pull the lever, the switch changes state and sends a signal to the controller.
  • The controller sees that signal and immediately cuts power to the motor, regardless of what the torque sensor or PAS is saying. reallygoodebikes

Electrically

On a KT-style controller you usually have a 2‑wire brake input per lever:

For hydraulic brakes like your MT200s, you’d typically add an external magnet + sensor kit:

  • A small magnet on the lever blade.
  • A reed or Hall sensor on the lever body.
  • Lever at rest: magnet close to sensor → one state.
  • Lever pulled: magnet moves away → sensor flips state → controller cuts power. reallygoodebikes

With a good torque sensor, this is belt‑and‑suspenders: torque already drops to zero when you stop pedaling, but the brake sensor guarantees instant cut-off even if the torque signal were noisy or laggy.

@eonist
Copy link
Author

eonist commented Mar 14, 2026

Yes — two routes:

Levers With Built-In Sensors

A few brands make hydraulic brake levers with the cut-off sensor integrated:

  • Magura MT5e — high-end, integrated Hall sensor in the lever body, 2-pin Higo connector. Just works, no magnets to fall off. Pricey though (~€100–150 per brake). pedelecs.co
  • Budget e-bike specific levers — brands like Yukti, Zillan, GT03 sell cheap hydraulic lever sets (~$30–50 per set) with sensors built in, but the brake quality is mediocre compared to Shimano. aliexpress

Add-On Sensors for Your MT200s

Since you've already specced the Shimano MT200s, which are solid brakes, the cheaper and simpler path is bolt-on sensors:

  • MT200-specific sensor kit — a tiny sensor body clips onto the MT200 lever housing, magnet goes under the lever blade. Purpose-made to fit the MT200 shape. ~£8–15 per set. ebikesolution.co
  • Generic magnetic sensor — magnet + Hall sensor, stick-on with 3M tape or zip-ties. Universal fit, ~$3–5 per pair. Works but the magnets can fall off over time. reddit

What I'd Do for Omera

Keep the MT200s and get the MT200-specific sensor kit — it's designed to clip cleanly onto that exact lever without tape or zip-ties. Two wires run from the levers to the KT controller's brake input. About $10 total and it looks factory. [youtube](https://www.youtube.com/watch?v=mnP-nsL0YmM)

Or, given your torque sensor setup: skip them entirely for now, test the bike, and add them later if you feel the motor doesn't cut fast enough when braking. The sensor kit is a 10-minute install — no reason to over-commit on v1.

@eonist
Copy link
Author

eonist commented Mar 14, 2026

Most don’t, especially the clean, modern ones you’re inspired by.

What other e-bikes do

  • Torque-sensor city/commuter bikes (Cowboy, VanMoof, etc.) usually do not run extra brake-cut wires to the bars. They rely on:
    • fast torque-sensor shutdown when you stop pedaling, and
    • speed limiting + motor ramp-down in firmware. help.vanmoof
  • Bosch/Yamaha/Shimano mid-drive systems also generally don’t have visible brake wires; cut-off is handled by pedal/torque sensing and internal logic rather than external brake switches. ebike24

Extra brake wiring is mostly seen on:

  • Cheap conversion kits and older hub-motor systems where control is cadence-only and laggy, so they need a hard brake kill. forums.electricbikereview
  • DIY builds using generic KT kits where safety is ensured by simple brake switches.

Given you’re:

  • Using a BB torque sensor (fast, proportional cutoff),
  • Keeping power low (250W),
  • Aiming for a super-clean cockpit,

you’re aligned with the “modern integrated” camp. It’s reasonable to skip bar brake sensors in v1 and rely on torque-based cutoff, and only add dedicated sensors later if real-world testing shows you need them.

@eonist
Copy link
Author

eonist commented Mar 14, 2026

okay then. ill sketch the downtube electronic module tomorrow. and then we can continue with more scad modeling. it will be fun to put things together. I think we can nail most of the downtube modeling tomorrow. after that is done the real fun begins. designing and modeling the frame in more detail. then adding bike parts and see it come alive in 3d renders.

@eonist
Copy link
Author

eonist commented Mar 14, 2026

Sounds like a great plan. With the KT + torque wake, 4+1 pogo pins, plastic console antenna, and no bar buttons or brake wires, the architecture is solid enough to model.

When you sketch the DT electronics module, prioritize:

  • KT box placement and cradle geometry
  • Air hulls and how the module keys into the DT
  • The plastic console volume and antenna feed pogo

Bring those sketches or dimensions tomorrow and we can turn them into SCAD primitives and constraints, then fit everything against your current DT oval.

@eonist
Copy link
Author

eonist commented Mar 14, 2026

Here's what typically comes in a Bafang G020 kit from GreenBikeKit or Varstrom:

Standard Kit Contents

Item | Useful for Omera? -- | -- Motor wheel (laced to rim) | ✅ The core — but you'll want it laced to your rim (700c) 1T4 cable harness | ⚠️ This is the main wiring loom — splits one connector into 4: display, throttle, brake, PAS. You won't use most of these Motor controller (KT style) | ✅ Your KT T06S Controller box + mounting hardware | ❌ You're mounting inside the DT PAS cadence sensor | ❌ You're using Bikone torque sensor instead Thumb throttle | ❌ No throttle, EU legal 2× eBrake levers or sensors | ❌ Skipping for v1 Display | ❌ No display, app only Headlight | ❌ No integrated lights Speed sensor + magnet | ⚠️ You might actually need this — the KT needs a speed input for the 25 km/h cutoff Motor extension cable (9-pin Higo) | ✅ Useful — extends motor wire length for internal routing through chainstay Cable ties, labels, screws | ✅ Free stuff

[varstrom][youtube]

What's Actually Useful

Out of a ~$80–100 full kit, you really only need:

  • Motor wheel (or motor only, lace yourself)

  • KT controller (bare)

  • Motor extension cable — the stock motor cable is short (~80cm). Running it internally through the chainstay to the DT electronics module, you'll likely need the extension[aliexpress]

  • Speed sensor — unless the Bikone torque sensor also outputs speed to the KT (it outputs cadence + torque, but the KT may need a separate wheel speed signal for the 25 km/h limit)[youtube]

The Smart Move

Buy the motor wheel only + KT controller only + extension cable as separate items from GreenBikeKit or AliExpress. Don't buy the full kit — you'd be paying for a throttle, display, PAS sensor, brake levers, and harness you'll throw in a drawer.ebikerepairfactory+1

The 1T4 cable harness is worth looking at though — even if you don't use most branches, it gives you the weatherproof Higo connectors that mate to the KT. You can cut off the branches you don't need and use the main trunk as your internal wiring loom.[youtube]

One thing to double-check: does the Bikone torque sensor feed wheel speed to the KT, or do you still need the magnetic speed sensor on the rear wheel? That determines whether you need one more small sensor mounted at the chainstay.

Here's what typically comes in a **Bafang G020 kit** from GreenBikeKit or Varstrom:

Standard Kit Contents

Item Useful for Omera?
Motor wheel (laced to rim) ✅ The core — but you'll want it laced to your rim (700c)
1T4 cable harness ⚠️ This is the main wiring loom — splits one connector into 4: display, throttle, brake, PAS. You won't use most of these
Motor controller (KT style) ✅ Your KT T06S
Controller box + mounting hardware ❌ You're mounting inside the DT
PAS cadence sensor ❌ You're using Bikone torque sensor instead
Thumb throttle ❌ No throttle, EU legal
2× eBrake levers or sensors ❌ Skipping for v1
Display ❌ No display, app only
Headlight ❌ No integrated lights
Speed sensor + magnet ⚠️ You might actually need this — the KT needs a speed input for the 25 km/h cutoff
Motor extension cable (9-pin Higo) ✅ Useful — extends motor wire length for internal routing through chainstay
Cable ties, labels, screws ✅ Free stuff

[varstrom](https://varstrom.com/products/bafang-500w-48v-front-hub)

What's Actually Useful

Out of a ~$80–100 full kit, you really only need:

  • Motor wheel (or motor only, lace yourself)
  • KT controller (bare)
  • Motor extension cable — the stock motor cable is short (~80cm). Running it internally through the chainstay to the DT electronics module, you'll likely need the extension aliexpress
  • Speed sensor — unless the Bikone torque sensor also outputs speed to the KT (it outputs cadence + torque, but the KT may need a separate wheel speed signal for the 25 km/h limit) [youtube](https://www.youtube.com/watch?v=Embjdj5ezfc)

The Smart Move

Buy the motor wheel only + KT controller only + extension cable as separate items from GreenBikeKit or AliExpress. Don't buy the full kit — you'd be paying for a throttle, display, PAS sensor, brake levers, and harness you'll throw in a drawer. ebikerepairfactory

The 1T4 cable harness is worth looking at though — even if you don't use most branches, it gives you the weatherproof Higo connectors that mate to the KT. You can cut off the branches you don't need and use the main trunk as your internal wiring loom. [youtube](https://www.youtube.com/watch?v=Embjdj5ezfc)

One thing to double-check: does the Bikone torque sensor feed wheel speed to the KT, or do you still need the magnetic speed sensor on the rear wheel? That determines whether you need one more small sensor mounted at the chainstay.

@eonist
Copy link
Author

eonist commented Mar 14, 2026

Short answer: the G020 hub already has a speed sensor inside, and the Bikone BB torque sensor only gives torque/cadence, not wheel speed.

Motor: G020

Owners and Bafang docs confirm the RM G020 has an internal Hall-based speed sensor that outputs speed via the motor cable to the controller/display. You don’t need an external spoke magnet sensor for speed; the KT can read speed directly from the motor’s Hall speed line. endless-sphere

So:

  • Speed limit at 25 km/h = handled by KT using the G020’s internal speed pulses.
  • No separate frame‑mounted speed sensor required.

Bikone torque sensor

Bikone’s BB torque sensor outputs torque, cadence, crank angle, etc. over UART / digital / pulses, but it is explicitly a rider input sensor, not a wheel speed sensor. It does not replace the motor speed sensor; it just tells the KT how hard and how fast you’re pedaling. bikone

So your final picture:

  • Wheel speed: from G020’s internal sensor → KT.
  • Rider input (torque/cadence): from Bikone BB → KT.
  • No extra magnets or speed sensors needed on the frame.

@eonist
Copy link
Author

eonist commented Mar 15, 2026

The Dance bike uses an underside downtube mount with a removable battery that clicks in from below. Here's how that compares to your current topside/internal approach for Omera.[help.dance]

Underside vs Topside DT Battery

Factor | Underside (Dance style) | Topside / Internal (Omera current) -- | -- | -- Center of gravity | Lower — best possible CoG on the frame leoguarbikes+1 | Slightly higher, but still central and low Road debris exposure | Directly exposed to rocks, water, mud spray from front wheel [youtube]​ | Protected by the DT tube itself Visual stealth | Hidden when viewed from the side, but visible from below | Fully hidden inside the tube — looks like a normal bike [upway]​ Water/dirt ingress | Battery latch and contacts face downward — worst case for moisture [reddit]​ | Sealed inside the tube, much better Impact protection | Vulnerable to speed bumps, curbs, potholes [youtube]​ | The DT aluminum shell protects everything Removal for charging | Easy slide-out from below [help.dance]​ | Requires your pogo dock or side-entry — slightly less convenient Frame structural impact | DT stays solid, battery hangs on external rails | Hollow DT needs reinforcement to maintain stiffness [upway]​ Aerodynamics | Creates drag underneath | Clean tube profile Battery capacity | Not constrained by tube diameter — can go wider/taller | Limited by DT cross-section

Why Dance Does It This Way

Dance is a subscription rental bike — their #1 priority is that users can pop the battery out in 2 seconds with no tools for charging indoors. The underside mount with a spring latch achieves that. They accept the dirt/impact trade-off because their fleet gets regular maintenance.reddit+1

Why Topside/Internal Is Better for Omera

Your design already commits to the battery inside the oversized oval DT, which gives you:

  • Best protection from Norwegian winter weather, road salt, and debris[leoguarbikes]

  • Stealth appearance — the bike looks like a normal fixie[upway]

  • Structural integration — the battery pack becomes part of the frame's mass, not a cantilevered load hanging off rails

  • Electronics co-location — the KT controller, Bikone interface, BT/GPS module, and battery all live in one sealed volume

The main downside is charging convenience. But you've already solved that with the pogo dock + side console approach — you charge in-frame or pop the console to access connectors. For a personal bike (not a rental fleet), that's perfectly fine.

One Hybrid Idea Worth Considering

If you ever want quick battery swaps (e.g., for long rides), you could design the DT with a bottom hatch — a CNC'd aluminum panel on the underside held by two quarter-turn fasteners. Battery slides out downward, same as Dance, but the hatch seals flush when closed. This gives you the protection of internal mounting plus the convenience of underside removal. But that's a v2 consideration — for v1, your current internal pogo-charge approach is cleaner and simpler.

The Dance bike uses an **underside downtube mount with a removable battery that clicks in from below**. Here's how that compares to your current topside/internal approach for Omera. [[help.dance](https://help.dance.co/en/articles/5902466)](https://help.dance.co/en/articles/5902466)

Underside vs Topside DT Battery

Factor Underside (Dance style) Topside / Internal (Omera current)
Center of gravity Lower — best possible CoG on the frame leoguarbikes Slightly higher, but still central and low
Road debris exposure Directly exposed to rocks, water, mud spray from front wheel [youtube](https://www.youtube.com/watch?v=B19FPDKLiZ8) Protected by the DT tube itself
Visual stealth Hidden when viewed from the side, but visible from below Fully hidden inside the tube — looks like a normal bike [upway](https://upway.co/blogs/news/e-bike-battery-locations-comparison)
Water/dirt ingress Battery latch and contacts face downward — worst case for moisture [reddit](https://www.reddit.com/r/ebikes/comments/za2j6k/why_do_ebike_companies_put_the_battery_at_the/) Sealed inside the tube, much better
Impact protection Vulnerable to speed bumps, curbs, potholes [youtube](https://www.youtube.com/watch?v=B19FPDKLiZ8) The DT aluminum shell protects everything
Removal for charging Easy slide-out from below [help.dance](https://help.dance.co/en/articles/5902466) Requires your pogo dock or side-entry — slightly less convenient
Frame structural impact DT stays solid, battery hangs on external rails Hollow DT needs reinforcement to maintain stiffness [upway](https://upway.co/blogs/news/e-bike-battery-locations-comparison)
Aerodynamics Creates drag underneath Clean tube profile
Battery capacity Not constrained by tube diameter — can go wider/taller Limited by DT cross-section

Why Dance Does It This Way

Dance is a subscription rental bike — their #1 priority is that users can pop the battery out in 2 seconds with no tools for charging indoors. The underside mount with a spring latch achieves that. They accept the dirt/impact trade-off because their fleet gets regular maintenance. reddit

Why Topside/Internal Is Better for Omera

Your design already commits to the battery inside the oversized oval DT, which gives you:

The main downside is charging convenience. But you've already solved that with the pogo dock + side console approach — you charge in-frame or pop the console to access connectors. For a personal bike (not a rental fleet), that's perfectly fine.

One Hybrid Idea Worth Considering

If you ever want quick battery swaps (e.g., for long rides), you could design the DT with a bottom hatch — a CNC'd aluminum panel on the underside held by two quarter-turn fasteners. Battery slides out downward, same as Dance, but the hatch seals flush when closed. This gives you the protection of internal mounting plus the convenience of underside removal. But that's a v2 consideration — for v1, your current internal pogo-charge approach is cleaner and simpler.

@eonist
Copy link
Author

eonist commented Mar 15, 2026

The short answer: safety liability, industry lobbying, and planned obsolescence. There are both legitimate engineering reasons and cynical business reasons.

Legitimate Engineering Challenges

  • Cell matching matters. A BMS balances cells in series groups, and mixing old degraded cells with fresh ones causes the weakest cell to limit the whole pack. If one cell has 80% health and you swap in a 100% cell, the BMS still cuts off based on the weakest link — or worse, the mismatch causes overcharge on the weak cell during balancing. marsantsx
  • Spot-welded nickel strips. Standard 18650/21700 packs are spot-welded into series/parallel groups. This is a permanent bond — you can't just pull a cell out without desoldering or cutting the strip. Connectorized holders (like your spring/clip design) add contact resistance and bulk. [repair](https://repair.eu/news/disposable-e-bikes-the-problem-with-unrepairable-batteries/)
  • BMS calibration. The BMS tracks cell impedance and state-of-charge over time per cell group. Swapping individual cells resets those assumptions and can confuse the balancing algorithm. [gebbattery](https://www.gebbattery.com/news/can-i-upgrade-or-replace-the-bms-in-my-electri-85457155.html)

Industry / Business Reasons

Why Omera's Approach Is Different

Your design sidesteps most of these problems:

  • You're the manufacturer and the user — no liability chain to worry about
  • You can design the BMS to expect cell swaps — track per-slot impedance, flag degraded cells, and rebalance after a swap
  • Spring/clip holders instead of spot welds — accepts the small contact resistance trade-off for serviceability
  • Standard 21700 cells — you buy Samsung 50E or Molicel P42A from any supplier, not a proprietary pack
  • Cell-level monitoring lets you replace only the degraded cell(s) instead of the whole pack — extending total pack life by years [repair](https://repair.eu/news/disposable-e-bikes-the-problem-with-unrepairable-batteries/)

The battery repair shops across Europe (like Daurema in Brussels) already do exactly this — they open sealed packs, test individual cells, and swap the dead ones. They just have to fight the spot welds and glue to do it. You're designing the pack to make that process trivial from day one. [repair](https://repair.eu/news/disposable-e-bikes-the-problem-with-unrepairable-batteries/)

The real reason the industry doesn't do it: they don't want to. A modular cell pack is a solved engineering problem — it's just not in their financial interest. [bike-eu](https://www.bike-eu.com/51466/eu-commission-dismisses-e-bike-battery-single-cell-replacement-in-amendment)

@eonist
Copy link
Author

eonist commented Mar 15, 2026

You're right to push back — it's not a big issue at your current levels. Let me do the actual math.

The Real Numbers

Connection type | Resistance per contact | Source -- | -- | -- Spot-welded nickel strip | 0.3–0.5 mΩ | [thinkrobotics]​ Good BeCu spring holder | 10–15 mΩ per terminal | [alibaba]​ Cheap stamped spring holder | 20–40 mΩ | [alibaba]​ Copper contact holder (recent test) | ~10.7 mΩ | [youtube]​

So worst case, a quality holder adds ~15 mΩ per cell compared to a spot weld. Now let's see what that means for Omera's pack.

Power Loss in Practice

Your pack is a 13S2P configuration (48V, 250W motor). At full load:

  • Max continuous current: ~5–6A from the pack (250W ÷ 48V)

  • Per cell in a 2P group: ~2.5–3A each

Power lost per contact at 3A with 15 mΩ: P = I² × R = 9 × 0.015 = 0.135W

With 26 cells × 2 contacts each = 52 contacts total: 52 × 0.135W = ~7W total

On a 250W system, that's about 2.8% loss — comparable to the loss in the wiring and BMS MOSFETs anyway. You'd barely notice it in range.[alibaba]

And that's the absolute worst case at full sustained load. At typical cruising assist (~100–150W), the current is half that, and since losses scale with I², the real-world loss drops to under 1%.

Why the Industry Argument Is Overblown

The "contact resistance" argument only matters for high-drain applications — 20A+ per cell for power tools or drones. For an e-bike pulling 3A per cell, it's negligible. The real reasons the industry spot-welds are:[reddit]

  • Manufacturing speed — spot welding is faster on a production line than placing cells in holders[evlithium]

  • Vibration resistance — spot welds can't rattle loose, springs theoretically can (but proper BeCu holders with 8–14N insertion force handle this fine)[alibaba]

  • It prevents user servicing — which is the actual goal[bike-eu]

Your "Replace All At Once" Policy

This is the correct approach and it completely eliminates the cell-matching argument. If users swap all 26 cells simultaneously:

  • All cells are same age, same chemistry, same capacity

  • BMS starts fresh with a balanced pack

  • No weak-cell / strong-cell mismatch possible

  • Users buy a standard cell (Samsung 50E, Molicel P42A) from any supplier

You just specify in the manual: "Replace all cells simultaneously with identical cells. Mixing old and new cells voids warranty." This is no different from how every flashlight, remote control, and AA-powered device has worked for decades.

The EU Battery Regulation actually supports your right-to-repair angle, even though the commission recently caved to industry pressure on single-cell replacement. A pack designed for full-set user replacement is still fully compliant and far more sustainable than a sealed glued brick that goes to landfill after 3 years.repair+1

You're right to push back — it's **not a big issue** at your current levels. Let me do the actual math.

The Real Numbers

Connection type Resistance per contact Source
Spot-welded nickel strip 0.3–0.5 mΩ [thinkrobotics](https://thinkrobotics.com/blogs/learn/diy-spot-welder-for-18650-batteries-complete-build-guide-for-perfect-battery-packs)
Good BeCu spring holder 10–15 mΩ per terminal [alibaba](https://www.alibaba.com/product-insights/how-to-choose-the-best-21700-battery-holder-a-complete-buying-guide.html)
Cheap stamped spring holder 20–40 mΩ [alibaba](https://www.alibaba.com/product-insights/how-to-choose-the-best-21700-battery-holder-a-complete-buying-guide.html)
Copper contact holder (recent test) ~10.7 mΩ [youtube](https://www.youtube.com/watch?v=PI1vEBie0BI)

So worst case, a quality holder adds ~15 mΩ per cell compared to a spot weld. Now let's see what that means for Omera's pack.

Power Loss in Practice

Your pack is a 13S2P configuration (48V, 250W motor). At full load:

  • Max continuous current: ~5–6A from the pack (250W ÷ 48V)
  • Per cell in a 2P group: ~2.5–3A each

Power lost per contact at 3A with 15 mΩ: P = I² × R = 9 × 0.015 = 0.135W

With 26 cells × 2 contacts each = 52 contacts total: 52 × 0.135W = ~7W total

On a 250W system, that's about 2.8% loss — comparable to the loss in the wiring and BMS MOSFETs anyway. You'd barely notice it in range. [alibaba](https://www.alibaba.com/product-insights/how-to-choose-the-best-21700-battery-holder-a-complete-buying-guide.html)

And that's the absolute worst case at full sustained load. At typical cruising assist (~100–150W), the current is half that, and since losses scale with I², the real-world loss drops to under 1%.

Why the Industry Argument Is Overblown

The "contact resistance" argument only matters for high-drain applications — 20A+ per cell for power tools or drones. For an e-bike pulling 3A per cell, it's negligible. The real reasons the industry spot-welds are: [reddit](https://www.reddit.com/r/batteries/comments/1e8x6j3/power_losses_from_21700_holder_vs_nickel/)

Your "Replace All At Once" Policy

This is the correct approach and it completely eliminates the cell-matching argument. If users swap all 26 cells simultaneously:

  • All cells are same age, same chemistry, same capacity
  • BMS starts fresh with a balanced pack
  • No weak-cell / strong-cell mismatch possible
  • Users buy a standard cell (Samsung 50E, Molicel P42A) from any supplier

You just specify in the manual: "Replace all cells simultaneously with identical cells. Mixing old and new cells voids warranty." This is no different from how every flashlight, remote control, and AA-powered device has worked for decades.

The EU Battery Regulation actually supports your right-to-repair angle, even though the commission recently caved to industry pressure on single-cell replacement. A pack designed for full-set user replacement is still fully compliant and far more sustainable than a sealed glued brick that goes to landfill after 3 years. repair

@eonist
Copy link
Author

eonist commented Mar 15, 2026

Good news — there's a Darfon battery that comes very close to your 65×55mm target. Here's how the integrated in-tube batteries on the market compare:

In-Tube Battery Dimensions

Battery | Dimensions (L × W × H) | Capacity | Fits 65×55? | System -- | -- | -- | -- | -- Darfon E2C0D | 412 × 58 × 52mm | 400 Wh | ✅ Yes — 58×52 fits inside 65×55 | Shimano EP801/EP6 [darfonenergy]​ Darfon (14Ah) | 358.7 × 78.2 × 63.8mm | ~500 Wh | ❌ 78mm too wide | Shimano [darfon]​ Darfon (17.5Ah) | 427 × 78.2 × 63.8mm | 630 Wh | ❌ 78mm too wide | Shimano [darfon]​ Bosch PowerTube 500 | 349 × 83.7 × 65mm | 500 Wh | ❌ 84mm way too wide | Bosch [ebike24]​ Bosch PowerTube 625 | 426.5 × 83.7 × 65mm | 625 Wh | ❌ 84mm too wide | Bosch [ebike24]​ E-Bike Vision Intube | 349 × 83.7 × 65mm | 461 Wh | ❌ 84mm too wide | Bosch [ebike24]​ Shimano BT-E8035-L | ~similar to Darfon 78mm class | 504 Wh | ❌ Too wide | Shimano [alutech-cycles]​

The Darfon E2C0D Is Interesting

At 58 × 52mm cross-section, this is by far the slimmest in-tube battery on the market. It fits a Shimano EP801/EP6 system and uses CANBus/UART communication. At 400 Wh and only 1.9 kg, it's remarkably compact. The trade-off is it's a sealed, non-serviceable Shimano-specific pack — the exact opposite of your philosophy.[darfonenergy]

But it proves something important: 400 Wh in a 58×52mm cross-section over ~412mm length is physically achievablewith current cell technology.

What This Means for Omera

Your 65×55mm oval DT cross-section is actually more generous than Darfon's smallest battery. You have roughly:

  • 65 × 55mm internal oval ≈ ~2,800 mm² cross-section

  • Darfon E2C0D at 58 × 52mm ≈ ~2,370 mm² cross-section

You have about 18% more cross-sectional area than the smallest commercial in-tube battery. With your spring-clip 21700 cell holders in a 13S2P configuration, you're in the same ballpark as Darfon's 400 Wh — except your pack is user-serviceable, runs at 48V instead of 36V, and uses standard cells anyone can buy.

None of these off-the-shelf batteries would work for Omera anyway — they're all locked to Bosch or Shimano motor systems via proprietary BMS communication. Your KT controller speaks a simpler protocol. But the Darfon E2C0D validates that your tube dimensions aren't crazy — the industry is already shipping batteries in that envelope.

Good news — there's a Darfon battery that comes very close to your 65×55mm target. Here's how the integrated in-tube batteries on the market compare:

In-Tube Battery Dimensions

Battery Dimensions (L × W × H) Capacity Fits 65×55? System
Darfon E2C0D 412 × 58 × 52mm 400 Wh ✅ Yes — 58×52 fits inside 65×55 Shimano EP801/EP6 [darfonenergy](https://www.darfonenergy.com/en/product/24051015255825/24120614163384)
Darfon (14Ah) 358.7 × 78.2 × 63.8mm ~500 Wh ❌ 78mm too wide Shimano [darfon](https://www.darfon.com/en/product/18071309102090/18071615475913)
Darfon (17.5Ah) 427 × 78.2 × 63.8mm 630 Wh ❌ 78mm too wide Shimano [darfon](https://www.darfon.com/en/product/18071309102090/18071615475913)
Bosch PowerTube 500 349 × 83.7 × 65mm 500 Wh ❌ 84mm way too wide Bosch [ebike24](https://www.ebike24.com/ebike-vision-powerpack-intube-battery-461-511-wh-bosch-powertube-alternative)
Bosch PowerTube 625 426.5 × 83.7 × 65mm 625 Wh ❌ 84mm too wide Bosch [ebike24](https://www.ebike24.com/ebike-vision-powerpack-intube-battery-640-wh-bosch-powertube-alternative)
E-Bike Vision Intube 349 × 83.7 × 65mm 461 Wh ❌ 84mm too wide Bosch [ebike24](https://www.ebike24.com/ebike-vision-powerpack-intube-battery-461-511-wh-bosch-powertube-alternative)
Shimano BT-E8035-L ~similar to Darfon 78mm class 504 Wh ❌ Too wide Shimano [alutech-cycles](https://alutech-cycles.com/Shimano-STEPS-BT-E8035L-LONG-VERSION-battery-504Wh-integratet)

The Darfon E2C0D Is Interesting

At 58 × 52mm cross-section, this is by far the slimmest in-tube battery on the market. It fits a Shimano EP801/EP6 system and uses CANBus/UART communication. At 400 Wh and only 1.9 kg, it's remarkably compact. The trade-off is it's a sealed, non-serviceable Shimano-specific pack — the exact opposite of your philosophy. [darfonenergy](https://www.darfonenergy.com/en/product/24051015255825/24120614163384)

But it proves something important: 400 Wh in a 58×52mm cross-section over ~412mm length is physically achievable with current cell technology.

What This Means for Omera

Your 65×55mm oval DT cross-section is actually more generous than Darfon's smallest battery. You have roughly:

  • 65 × 55mm internal oval ≈ ~2,800 mm² cross-section
  • Darfon E2C0D at 58 × 52mm ≈ ~2,370 mm² cross-section

You have about 18% more cross-sectional area than the smallest commercial in-tube battery. With your spring-clip 21700 cell holders in a 13S2P configuration, you're in the same ballpark as Darfon's 400 Wh — except your pack is user-serviceable, runs at 48V instead of 36V, and uses standard cells anyone can buy.

None of these off-the-shelf batteries would work for Omera anyway — they're all locked to Bosch or Shimano motor systems via proprietary BMS communication. Your KT controller speaks a simpler protocol. But the Darfon E2C0D validates that your tube dimensions aren't crazy — the industry is already shipping batteries in that envelope.

@eonist
Copy link
Author

eonist commented Mar 15, 2026

Good news — there's a Darfon battery that comes very close to your 65×55mm target. Here's how the integrated in-tube batteries on the market compare:

In-Tube Battery Dimensions

Battery | Dimensions (L × W × H) | Capacity | Fits 65×55? | System -- | -- | -- | -- | -- Darfon E2C0D | 412 × 58 × 52mm | 400 Wh | ✅ Yes — 58×52 fits inside 65×55 | Shimano EP801/EP6 [darfonenergy]​ Darfon (14Ah) | 358.7 × 78.2 × 63.8mm | ~500 Wh | ❌ 78mm too wide | Shimano [darfon]​ Darfon (17.5Ah) | 427 × 78.2 × 63.8mm | 630 Wh | ❌ 78mm too wide | Shimano [darfon]​ Bosch PowerTube 500 | 349 × 83.7 × 65mm | 500 Wh | ❌ 84mm way too wide | Bosch [ebike24]​ Bosch PowerTube 625 | 426.5 × 83.7 × 65mm | 625 Wh | ❌ 84mm too wide | Bosch [ebike24]​ E-Bike Vision Intube | 349 × 83.7 × 65mm | 461 Wh | ❌ 84mm too wide | Bosch [ebike24]​ Shimano BT-E8035-L | ~similar to Darfon 78mm class | 504 Wh | ❌ Too wide | Shimano [alutech-cycles]​

The Darfon E2C0D Is Interesting

At 58 × 52mm cross-section, this is by far the slimmest in-tube battery on the market. It fits a Shimano EP801/EP6 system and uses CANBus/UART communication. At 400 Wh and only 1.9 kg, it's remarkably compact. The trade-off is it's a sealed, non-serviceable Shimano-specific pack — the exact opposite of your philosophy.[darfonenergy]

But it proves something important: 400 Wh in a 58×52mm cross-section over ~412mm length is physically achievablewith current cell technology.

What This Means for Omera

Your 65×55mm oval DT cross-section is actually more generous than Darfon's smallest battery. You have roughly:

  • 65 × 55mm internal oval ≈ ~2,800 mm² cross-section

  • Darfon E2C0D at 58 × 52mm ≈ ~2,370 mm² cross-section

You have about 18% more cross-sectional area than the smallest commercial in-tube battery. With your spring-clip 21700 cell holders in a 13S2P configuration, you're in the same ballpark as Darfon's 400 Wh — except your pack is user-serviceable, runs at 48V instead of 36V, and uses standard cells anyone can buy.

None of these off-the-shelf batteries would work for Omera anyway — they're all locked to Bosch or Shimano motor systems via proprietary BMS communication. Your KT controller speaks a simpler protocol. But the Darfon E2C0D validates that your tube dimensions aren't crazy — the industry is already shipping batteries in that envelope.

Good news — there's a Darfon battery that comes very close to your 65×55mm target. Here's how the integrated in-tube batteries on the market compare:

In-Tube Battery Dimensions

Battery Dimensions (L × W × H) Capacity Fits 65×55? System
Darfon E2C0D 412 × 58 × 52mm 400 Wh ✅ Yes — 58×52 fits inside 65×55 Shimano EP801/EP6 [darfonenergy](https://www.darfonenergy.com/en/product/24051015255825/24120614163384)
Darfon (14Ah) 358.7 × 78.2 × 63.8mm ~500 Wh ❌ 78mm too wide Shimano [darfon](https://www.darfon.com/en/product/18071309102090/18071615475913)
Darfon (17.5Ah) 427 × 78.2 × 63.8mm 630 Wh ❌ 78mm too wide Shimano [darfon](https://www.darfon.com/en/product/18071309102090/18071615475913)
Bosch PowerTube 500 349 × 83.7 × 65mm 500 Wh ❌ 84mm way too wide Bosch [ebike24](https://www.ebike24.com/ebike-vision-powerpack-intube-battery-461-511-wh-bosch-powertube-alternative)
Bosch PowerTube 625 426.5 × 83.7 × 65mm 625 Wh ❌ 84mm too wide Bosch [ebike24](https://www.ebike24.com/ebike-vision-powerpack-intube-battery-640-wh-bosch-powertube-alternative)
E-Bike Vision Intube 349 × 83.7 × 65mm 461 Wh ❌ 84mm too wide Bosch [ebike24](https://www.ebike24.com/ebike-vision-powerpack-intube-battery-461-511-wh-bosch-powertube-alternative)
Shimano BT-E8035-L ~similar to Darfon 78mm class 504 Wh ❌ Too wide Shimano [alutech-cycles](https://alutech-cycles.com/Shimano-STEPS-BT-E8035L-LONG-VERSION-battery-504Wh-integratet)

The Darfon E2C0D Is Interesting

At 58 × 52mm cross-section, this is by far the slimmest in-tube battery on the market. It fits a Shimano EP801/EP6 system and uses CANBus/UART communication. At 400 Wh and only 1.9 kg, it's remarkably compact. The trade-off is it's a sealed, non-serviceable Shimano-specific pack — the exact opposite of your philosophy. [darfonenergy](https://www.darfonenergy.com/en/product/24051015255825/24120614163384)

But it proves something important: 400 Wh in a 58×52mm cross-section over ~412mm length is physically achievable with current cell technology.

What This Means for Omera

Your 65×55mm oval DT cross-section is actually more generous than Darfon's smallest battery. You have roughly:

  • 65 × 55mm internal oval ≈ ~2,800 mm² cross-section
  • Darfon E2C0D at 58 × 52mm ≈ ~2,370 mm² cross-section

You have about 18% more cross-sectional area than the smallest commercial in-tube battery. With your spring-clip 21700 cell holders in a 13S2P configuration, you're in the same ballpark as Darfon's 400 Wh — except your pack is user-serviceable, runs at 48V instead of 36V, and uses standard cells anyone can buy.

None of these off-the-shelf batteries would work for Omera anyway — they're all locked to Bosch or Shimano motor systems via proprietary BMS communication. Your KT controller speaks a simpler protocol. But the Darfon E2C0D validates that your tube dimensions aren't crazy — the industry is already shipping batteries in that envelope.

@eonist
Copy link
Author

eonist commented Mar 15, 2026

The honest answer: there is no off-the-shelf slim in-tube battery that works with a Bafang G020 + KT controller and fits your 65×55mm tube.

Why Nothing Exists in This Space

The KT controller expects a dumb battery — just DC voltage on two wires, no protocol, no handshake, no CANBus. That's actually a huge advantage because it means any 36V lithium pack works. But the problem is the opposite:[facebook]

  • Bafang's own in-tube batteries (BT F040 360Wh, BT F020 504Wh) are slim and beautiful, but they only work with Bafang's own integrated motor systems via proprietary CANBus — not with standalone hub motors + KT controllers[bafang-e]

  • Darfon — Shimano-locked as we discussed[darfonenergy]

  • Generic aftermarket packs (Varstrom, GreenBikeKit, Alibaba) are all designed for external frame mounting — Hailong shark packs at ~90×89mm cross-section, way too fat for your tube[varstrom]

The slim in-tube format only exists inside proprietary ecosystems (Bosch, Shimano, Bafang OEM). Nobody makes a "dumb" slim in-tube battery because the market for it hasn't existed — until designs like Omera.

What This Means

This actually validates your entire approach. The reason you're designing a custom cell holder pack is precisely because:

Option | Fits 65×55? | Works with KT? | User-serviceable? | Price -- | -- | -- | -- | -- Bafang BT F040 (360Wh) | Likely yes | ❌ CANBus only | ❌ Sealed | OEM only Darfon E2C0D (400Wh) | ✅ 58×52mm | ❌ Shimano only | ❌ Sealed | €599 [wallis]​ Varstrom/Hailong (468Wh) | ❌ 90×89mm | ✅ Dumb DC | ❌ Spot-welded | ~€200 [varstrom]​ Omera custom (360Wh) | ✅ Built for it | ✅ Dumb DC | ✅ All 20 cells swappable | ~€80–100 cells

There is literally no product on the market that combines slim in-tube form factor + dumb DC output + user-replaceable cells. That gap is exactly what your design fills.

And that's a potential product in itself — a slim, open-platform, cell-swappable in-tube battery pack could sell to every DIY e-bike builder who wants internal integration without buying into Bosch/Shimano. Your spring-clip scaffold design with a standard 10S BMS from GreenBikeKit (80×60×10mm, €15) is all it takes.[greenbikekit]

The honest answer: **there is no off-the-shelf slim in-tube battery that works with a Bafang G020 + KT controller and fits your 65×55mm tube.**

Why Nothing Exists in This Space

The KT controller expects a dumb battery — just DC voltage on two wires, no protocol, no handshake, no CANBus. That's actually a huge advantage because it means any 36V lithium pack works. But the problem is the opposite: [facebook](https://www.facebook.com/groups/1235134760738020/posts/1705272270390931/)

The slim in-tube format only exists inside proprietary ecosystems (Bosch, Shimano, Bafang OEM). Nobody makes a "dumb" slim in-tube battery because the market for it hasn't existed — until designs like Omera.

What This Means

This actually validates your entire approach. The reason you're designing a custom cell holder pack is precisely because:

Option Fits 65×55? Works with KT? User-serviceable? Price
Bafang BT F040 (360Wh) Likely yes ❌ CANBus only ❌ Sealed OEM only
Darfon E2C0D (400Wh) ✅ 58×52mm ❌ Shimano only ❌ Sealed €599 [wallis](https://wallis.at/Darfon-Akku-E2C0D-400Wh-integriert)
Varstrom/Hailong (468Wh) ❌ 90×89mm ✅ Dumb DC ❌ Spot-welded ~€200 [varstrom](https://varstrom.com/products/36v-ebike-battery)
Omera custom (360Wh) ✅ Built for it ✅ Dumb DC ✅ All 20 cells swappable ~€80–100 cells

There is literally no product on the market that combines slim in-tube form factor + dumb DC output + user-replaceable cells. That gap is exactly what your design fills.

And that's a potential product in itself — a slim, open-platform, cell-swappable in-tube battery pack could sell to every DIY e-bike builder who wants internal integration without buying into Bosch/Shimano. Your spring-clip scaffold design with a standard 10S BMS from GreenBikeKit (80×60×10mm, €15) is all it takes. [greenbikekit](https://www.greenbikekit.com/36v-10s-25a-universal-battery-pcb-bms-for-ebike-downtube-battery.html)

@eonist
Copy link
Author

eonist commented Mar 15, 2026

I now have all the data needed. Let me also confirm the BT F011 B720C dimensions from the workbook data, and note the notes about which are truly "intube" vs which Bafang labels as "intube" on their page.

Based on all the sourced data, here's the completed datasheet:


Bafang In-Tube Battery Lineup — Completed Datasheet

Model | Capacity | Voltage | Cell | Cross-section (W × H) | Length | Removal | Description -- | -- | -- | -- | -- | -- | -- | -- BT F040 | 360 Wh (10 Ah) | 36V | 21700 | 48.5 × 48.5 mm | 516 mm | — | Slimmest — eRoad/eGravel [bafang-e]​ BT F361 | 360 Wh (10 Ah) | 36V | 21700 | 51 × 59 mm | 475 mm | Down / Side-Left | Compact urban — fits smaller frame tubes bafang-e+1 BT F020 | 504 Wh (14 Ah) | 36V | 18650 | 68 × 76.5 mm | 434 mm | Down | "Super-slim" mid-size [bafang-e]​ BT F021 | 504 Wh (14 Ah) | 36V | 18650 | 68 × 76.5 mm | 434 mm | Down | Updated F020 bafang-e+1 BT F011 (540) | 540 Wh (15 Ah) | 36V | 21700 | 74 × 83 mm | 398 mm | Down | Mid-range [bafang-e]​ BT F011 (720) | 720 Wh (15 Ah) | 48V | 21700 | 74 × 83 mm | 398 mm | Down | Large intube [bafang-e]​ BT F440 | 720 Wh (15 Ah) | 48V | 21700 | 75 × 77 mm | 435 mm | Down | Large intube [bafang-e]​ BT F200 | 840 Wh (17.5 Ah) | 48V | 18650 | 97 × 91 mm | 442 mm | Down | Largest intube [bafang-e]​ BT F381 | 960 Wh (20 Ah) | 48V | — | 79 × 96 mm | 427 mm | Down | Maximum capacity bafang-e+1 BT F380 | 960 Wh (20 Ah) | 48V | 21700 | 116 × 96 mm | 427 mm | Down | Max capacity, wider [bafang-e]​

The F361 actually also fits dimensionally (51 × 59 mm < 65 × 55 mm on one axis — though 59 mm > 55 mm, so it's borderline on height depending on tube geometry). Still hits the same BMS handshake wall as the F040.[bafang-e]

I now have all the data needed. Let me also confirm the BT F011 B720C dimensions from the workbook data, and note the notes about which are truly "intube" vs which Bafang labels as "intube" on their page.

Based on all the sourced data, here's the completed datasheet:


Bafang In-Tube Battery Lineup — Completed Datasheet

Model Capacity Voltage Cell Cross-section (W × H) Length Removal Description
BT F040 360 Wh (10 Ah) 36V 21700 48.5 × 48.5 mm 516 mm Slimmest — eRoad/eGravel [bafang-e](https://www.bafang-e.com/en/oem-area/components/component/battery/bt-f361b360c)
BT F361 360 Wh (10 Ah) 36V 21700 51 × 59 mm 475 mm Down / Side-Left Compact urban — fits smaller frame tubes [bafang-e](https://www.bafang-e.com/en/oem-area/components/component/battery/bt-f361b360c)
BT F020 504 Wh (14 Ah) 36V 18650 68 × 76.5 mm 434 mm Down "Super-slim" mid-size [bafang-e](https://www.bafang-e.com/en/oem-area/components/component/battery/bt-f020b504c)
BT F021 504 Wh (14 Ah) 36V 18650 68 × 76.5 mm 434 mm Down Updated F020 [bafang-e](https://www.bafang-e.com/en/oem-area/components/component/battery/bt-f021b504c)
BT F011 (540) 540 Wh (15 Ah) 36V 21700 74 × 83 mm 398 mm Down Mid-range [bafang-e](https://www.bafang-e.com/en/oem-area/components/component/battery/bt-f011b540c)
BT F011 (720) 720 Wh (15 Ah) 48V 21700 74 × 83 mm 398 mm Down Large intube [bafang-e](https://www.bafang-e.com/en/oem-area/components/component/battery/bt-f011d720c)
BT F440 720 Wh (15 Ah) 48V 21700 75 × 77 mm 435 mm Down Large intube [bafang-e](https://www.bafang-e.com/en/oem-area/components/component/battery/bt-f440d720c)
BT F200 840 Wh (17.5 Ah) 48V 18650 97 × 91 mm 442 mm Down Largest intube bafang-e
BT F381 960 Wh (20 Ah) 48V 79 × 96 mm 427 mm Down Maximum capacity bafang-e.com
BT F380 960 Wh (20 Ah) 48V 21700 116 × 96 mm 427 mm Down Max capacity, wider bafang-e

Notes on the filled data

BT F361 — The "Unknown — fits smaller frame tubes" placeholder is now resolved. The OEM datasheet gives 51 × 59 × 475 mm. This is noticeably larger than the F040 (48.5 × 48.5), so it still wouldn't fit a typical eRoad tube, but it's the slimmest option for city bikes with a larger DT. bafang-e

BT F020 / F021 — Both share the same body: 434 × 68 × 76.5 mm. The Workbook lists the cross-section as 67 × 74 mm, which is slightly different from the OEM page's 76.5 × 68 mm — the discrepancy is a labeling axis swap between sources, but the physical envelope is the same. The eurekabike source you had (67 × 74 mm) matches the Workbook. The OEM page's 76.5 × 68 mm just has W and H swapped. Both describe the same rectangle. [bafang-e](https://www.bafang-e.com/en/oem-area/components/component/battery/bt-f020b504c)

BT F011 (540 and 720) — Same physical housing, same 74 × 83 × 398 mm. The 540 Wh variant is 36V/15Ah, the 720 Wh variant is 48V/15Ah (13S rather than 10S). Different string count in the same shell explains the voltage/capacity difference at identical dimensions. [bafang-e](https://www.bafang-e.com/en/oem-area/components/component/battery/bt-f011b540c)

BT F44075 × 77 × 435 mm, 48V, 21700 cells. Slightly slimmer cross-section than the F011 family but longer. bafang-e

BT F20097 × 91 × 442 mm, 48V, 18650 cells. The oldest cells in the lineup; notably bulkier than the 21700-based models despite lower Wh density. bafang-e

BT F381 vs F380 — These share the same 427 mm length but differ in width: the F381 is 79 × 96 mm and the F380 is 116 × 96 mm. The F380 is the wider "medium" variant and F381 the slimmer one. Both are 960 Wh / 48V / 20 Ah. bafang-e.com


Your Frame Fit Analysis — Updated Numbers

With the correct F361 dimensions now confirmed, the fit picture is clearer than ever:

Model Cross-section Fits 65 × 55 mm DT?
BT F040 48.5 × 48.5 mm ✅ Dimensionally yes — but firmware-locked
BT F361 51 × 59 mm ✅ Dimensionally yes — same firmware caveat
BT F020/F021 68 × 76.5 mm ❌ Too wide on both axes
BT F011 74 × 83 mm ❌ Too wide
Everything else 75 mm+ ❌ Far too wide

The F361 actually also fits dimensionally (51 × 59 mm < 65 × 55 mm on one axis — though 59 mm > 55 mm, so it's borderline on height depending on tube geometry). Still hits the same BMS handshake wall as the F040. [bafang-e](https://www.bafang-e.com/en/oem-area/components/component/battery/bt-f361b360c)

@eonist
Copy link
Author

eonist commented Mar 15, 2026

Excellent data on the Bafang lineup — thanks for completing that. Now for your Phase 1 off-the-shelf options:

What's Available

The generic market splits into two categories: bare packs (cells + BMS, no case) and cased downtube packs. The cased ones are all too fat for your 65×55mm tube — the slimmest generic cased pack I found is 90×90mm. But the bare packs are interesting.greencell+1

GreenBikeKit Custom Bare Pack

GreenBikeKit sells a 36V bare battery with customized dimensions — no case, just cells + BMS + shrink wrap. Key specs:[greenbikekit]

  • 36V, 10Ah–25Ah

  • Samsung INR21700-50G or INR18650-35E cells

  • Built-in 10S 25A/60A BMS

  • Custom size on request — they'll arrange cells to your specified envelope

  • Dumb DC output — just two wires, works with any controller

  • ~€150–250 depending on capacity

  • Lead time: ~1 week for assembly[greenbikekit]

You could literally email them your 65×55mm cross-section and ask for a 10S2P 21700 pack built to fit. No firmware lock, no protocol, just voltage on wires → KT controller.

AliExpress Empty Battery Case (DIY)

There's a downtube battery case for max 20× 21700 cells at 36V — essentially a slim plastic tube housing with integrated cell holders. This is basically what your SCAD scaffold does, but injection-molded. You'd populate it yourself with cells and a BMS.[aliexpress]

Woosh / Internal Mini Packs

The smallest off-the-shelf internal pack dimensions I found:

Source | Config | Dimensions | Fits 65×55? -- | -- | -- | -- Woosh 36V 10Ah | Internal pack | 170 × 70 × 75mm | ❌ Too wide [wooshbikes.co]​ Green Cell downtube | 36V 10.4Ah | 367 × 90 × 90mm | ❌ Way too fat [greencell]​ GreenBikeKit bare custom | 36V 10–25Ah | Custom to spec | ✅ Ask for 65×55 AliExpress 20-cell case | 36V 10S2P | Unknown exact dims | ⚠️ Need to verify

The Phase 1 Recommendation

GreenBikeKit's custom bare pack is your best bet. Here's why:[greenbikekit]

  • They build to your dimensions — you specify the 65×55mm envelope and 10S2P layout

  • Dumb DC output — plugs straight into KT

  • Samsung 50G cells (same quality as what you'd buy yourself)

  • BMS included and tested

  • ~€150–200 for a 360Wh pack with charger

  • Ships in a week

  • You don't void anything because there's no protocol to bypass

  • When you're ready for Phase 2, you swap this bare pack for your own spring-clip scaffold — same cells, same BMS, just your custom serviceable design

This lets you ship Omera v1 without designing a battery, focus entirely on frame + brand + ride feel, and upgrade to the user-swappable pack later. The GreenBikeKit pack is a commodity placeholder — exactly what you need to prove the product and build the brand first.

Want me to draft a spec email to GreenBikeKit with your exact dimensions and requirements?

Excellent data on the Bafang lineup — thanks for completing that. Now for your Phase 1 off-the-shelf options:

What's Available

The generic market splits into two categories: bare packs (cells + BMS, no case) and cased downtube packs. The cased ones are all too fat for your 65×55mm tube — the slimmest generic cased pack I found is 90×90mm. But the bare packs are interesting. greencell

GreenBikeKit Custom Bare Pack

GreenBikeKit sells a 36V bare battery with customized dimensions — no case, just cells + BMS + shrink wrap. Key specs: [greenbikekit](https://www.greenbikekit.com/36v-ebike-battery-with-mini-size.html)

You could literally email them your 65×55mm cross-section and ask for a 10S2P 21700 pack built to fit. No firmware lock, no protocol, just voltage on wires → KT controller.

AliExpress Empty Battery Case (DIY)

There's a downtube battery case for max 20× 21700 cells at 36V — essentially a slim plastic tube housing with integrated cell holders. This is basically what your SCAD scaffold does, but injection-molded. You'd populate it yourself with cells and a BMS. [aliexpress](https://www.aliexpress.com/i/1005009129505346.html)

Woosh / Internal Mini Packs

The smallest off-the-shelf internal pack dimensions I found:

Source Config Dimensions Fits 65×55?
Woosh 36V 10Ah Internal pack 170 × 70 × 75mm ❌ Too wide [wooshbikes.co](https://wooshbikes.co.uk/?batteries)
Green Cell downtube 36V 10.4Ah 367 × 90 × 90mm ❌ Way too fat [greencell](https://greencell.global/en/e-bike-batteries/4428-green-cell-e-bike-battery-36v-104ah-374wh-down-tube-ebike-ec5-for-ancheer-samebike-fafrees-with-charger.html)
GreenBikeKit bare custom 36V 10–25Ah Custom to spec ✅ Ask for 65×55
AliExpress 20-cell case 36V 10S2P Unknown exact dims ⚠️ Need to verify

The Phase 1 Recommendation

GreenBikeKit's custom bare pack is your best bet. Here's why: [greenbikekit](https://www.greenbikekit.com/36v-ebike-battery-with-mini-size.html)

  • They build to your dimensions — you specify the 65×55mm envelope and 10S2P layout
  • Dumb DC output — plugs straight into KT
  • Samsung 50G cells (same quality as what you'd buy yourself)
  • BMS included and tested
  • ~€150–200 for a 360Wh pack with charger
  • Ships in a week
  • You don't void anything because there's no protocol to bypass
  • When you're ready for Phase 2, you swap this bare pack for your own spring-clip scaffold — same cells, same BMS, just your custom serviceable design

This lets you ship Omera v1 without designing a battery, focus entirely on frame + brand + ride feel, and upgrade to the user-swappable pack later. The GreenBikeKit pack is a commodity placeholder — exactly what you need to prove the product and build the brand first.

Want me to draft a spec email to GreenBikeKit with your exact dimensions and requirements?

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