E9x 3-Series B48/B58 + ZF 8HP: What the current research record proves, and what it does not
What the record says
The E9x public corpus includes recurring community demand for complete 8HP conversions, B58 feasibility and packaging questions, cost and parts-list questions, and a distinct but thinner B48 branch. The E9x source capture establishes bounded original-B58 donor-family context from the 2016 340i press material. Those are real signals of interest and configuration-specific work. They do not establish a universal installation path, a safe parts list for every E9x, or a repeatable B48/B58 plus 8HP recipe.
Engine, transmission, controller, body, driveline, and electrical state control the answer. A named coupe project is not an every-body answer. A vendor listing is not verified fitment. A race or show build is not a road-car recipe.
What you can use today
Use the research as a checklist of questions and as a stop signal when evidence is missing. When a source is a vendor page, record it as a vendor claim. When it is a field build, record the actual donor, transmission, controller, and outcome.
A practical builder checklist
E9x 3-Series remains research content, not a customer manual or a fitment promise.
The E9x B48/B58 + ZF 8HP planning reference takes this research into a build-ready record system: donor and 8HP identity cards, controller-first decisions, measurement records, commissioning logs, and the full as-built record. See the E9x guide →
Before you buy anything — the compatibility checklist
The free B48/B58 compatibility checklist: what the donor must come with, what the 8HP adds, and the measurements that decide whether your exact chassis is a build or a different problem entirely.
FAQ
Does the current research prove a universal E9x B48/B58 plus 8HP recipe?
No universal recipe is established by this research record.
Can I treat a vendor page as verified fitment?
No. Vendor pages are vendor-scope claims; verify on the exact configuration.
What should I do next?
Complete the identity and evidence records first. If a field is blank, treat it as a stop signal.