Skip to content

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/                 # Documentation

Usage ​

Importer ​

bash
pnpm install
pnpm import           # Import WDS data
pnpm import:dry       # Dry run
pnpm validate         # Validate data
pnpm stats            # Show statistics

Viewer ​

bash
# Development
pnpm --filter viewer dev

# Build static site
pnpm --filter viewer build

Note: 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 ​

ComponentStatus
Data importerComplete
Core typesComplete
SvelteKit viewerIn progress
SearchIn progress
GitHub PagesComplete
  • EdiabasX — EDIABAS implementation
  • inpax — INPA interpreter
  • tisx — TIS graphics decoder

Disclaimer ​

This is a personal project for educational and archival purposes. Original BMW data remains property of BMW AG.