wdsx
BMW Wiring Diagram System - Modern Web Port
🔗 GitHub
About
wdsx is a modern web application port of BMW's legacy WDS (Wiring Diagram System). The original WDS ran as Java applets in old browsers. This project creates a modern, web-based version preserving all functionality with a better user experience.
Source Data
- ~24,000 SVGZ wiring diagrams
- ~20,000 HTML information pages
- 14 XML tree structure files
- Vehicle models: E38, E39, E46, E52, E53, E60, E61, E63, E64, E65, E66, E70, E71, E83, E85, E87, E89, E90, F01
- Languages: EN, DE, and others
Tech Stack
- Language: TypeScript
- Monorepo: pnpm + Turborepo
- Importer: Node.js data transformation pipeline
- Viewer: SvelteKit
- Output: JSON + optimized SVG + Markdown
Repository Structure
wdsx/
├── apps/
│ └── viewer/ # SvelteKit viewer application
├── packages/
│ ├── core/ # Shared types and utilities
│ └── importer/ # Data import tool
├── tools/ # Scripts and utilities
├── data/ # Processed data (generated)
└── docs/ # DocumentationUsage
Importer
bash
pnpm install
pnpm import # Import WDS data
pnpm import:dry # Dry run
pnpm validate # Validate data
pnpm stats # Show statisticsViewer
bash
# Development
pnpm --filter viewer dev
# Build static site
pnpm --filter viewer buildNote: BMW WDS data is not included and must be provided at runtime.
Features
- 📊 Interactive diagrams — Navigate wiring schematics
- 🔍 Search — Find components and connections
- 📱 Responsive — Works on desktop and mobile
- 🌐 Multi-language — EN, DE support
- ⚡ Fast — Static generation, optimized SVGs
Status
| Component | Status |
|---|---|
| Data importer | ✅ Complete |
| Core types | ✅ Complete |
| SvelteKit viewer | 🔄 In progress |
| Search | 🔄 In progress |
| GitHub Pages | ✅ Complete |
Related Projects
Disclaimer
This is a personal project for educational and archival purposes. Original BMW data remains property of BMW AG.
