Documentation
Complete guide to CaRPM - DeepScan — from first connection to advanced diagnostics.
Getting Started
System Requirements
Before installing CaRPM - DeepScan, ensure your system meets these requirements:
| Operating System | Windows 10 or Windows 11 (64-bit) |
| RAM | 4 GB minimum (8 GB recommended) |
| Disk Space | 100 MB for installation + space for database |
| Display | 1280×720 minimum resolution |
| Internet | Required for license activation, carpm API features. Not required for core diagnostics. |
| OBD-II Scanner | Any ELM327-compatible adapter (Bluetooth, USB, or WiFi) |
| Vehicle | Any OBD-II equipped vehicle (US 1996+, EU 2001+) |
Installation & First Launch
CaRPM-DeepScan-Setup.exe installer and follow the on-screen prompts. No administrator privileges are required.First-Run Wizard
On first launch, a setup wizard helps personalize your experience:
Connecting Your Scanner
CaRPM - DeepScan supports three connection types. Select your scanner type on the Connection tab, choose your port/adapter, and click Connect.
| Type | How to Connect | Default Settings |
|---|---|---|
| Bluetooth | Pair via Windows Settings or the in-app “Add Scanner” dialog, then select from the dropdown. | 115200 baud |
| USB / Wired | Plug in the USB scanner. Select the COM port from the dropdown. | 115200 baud |
| WiFi | Enter IP and port manually, or click “Scan Network” to auto-discover. | 192.168.0.10 : 35000 |
Connection
Bluetooth Connection
Bluetooth is the most popular connection method. CaRPM - DeepScan offers two ways to connect:
USB / Wired Connection
Wired USB scanners provide the most reliable connection with no pairing required.
WiFi Connection
WiFi scanners connect over your local network via TCP socket.
192.168.0.10:35000. Alternatively, click “Scan Network” to auto-discover WiFi scanners on your local network via UDP broadcast.Auto-Reconnect
When the connection is lost unexpectedly (scanner powered off, vehicle turned off, Bluetooth range exceeded), CaRPM - DeepScan automatically attempts to reconnect using exponential backoff:
- First attempt after 2 seconds
- Second attempt after 4 seconds
- Third attempt after 8 seconds
After 3 failed attempts, auto-reconnect stops and you'll need to reconnect manually. The status bar shows the reconnection countdown. You can disable auto-reconnect in Settings > App Settings.
Connection Troubleshooting
| Problem | Solution |
|---|---|
| Scanner not in dropdown | Click Refresh. For Bluetooth: pair in Windows Settings first. For USB: check Device Manager for COM port and driver. |
| "UNABLE TO CONNECT" error | Verify scanner is powered and plugged into vehicle OBD port. Try different baud rate (9600 for older adapters). Check the Terminal tab for raw error messages. |
| "NO DATA" responses | Ensure vehicle is running (not just ACC). Try a different protocol in Advanced Diagnostics. Not all vehicles support all commands. |
| Connection drops frequently | For Bluetooth: move closer to scanner. For WiFi: check network stability. Try USB for the most reliable connection. |
| Slow or delayed responses | Increase command timeout in Settings. Some vehicles respond slowly on certain protocols. Try reducing the number of active graph channels. |
Application Tabs
Connection Tab
The Connection tab is your starting point. It provides three radio buttons to select your scanner type (Bluetooth, Wired/USB, WiFi), a scanner/port dropdown, baud rate selector, and Connect/Disconnect buttons.
After connecting, the tab displays your connection status (green LED), ELM version (e.g., “v1.5a”), and the detected OBD protocol (e.g., “ISO 15765-4 CAN”). WiFi mode shows IP/port fields and a “Scan Network” button for auto-discovery.
Terminal Tab
A PuTTY-style terminal for direct communication with the ELM327 scanner. Type any AT or OBD command and press Enter to send.
Color coding:
- Blue [TX] — Commands you send
- Green [RX] — Responses received
- Red [ERR] — Errors
- Gray [INFO] — System messages
Features: Use ↑/↓ arrows to navigate command history. Click Export to save the terminal log to Excel. Click Monitor to toggle passive CAN monitoring (AT MA mode).
Dashboard Tab
The Dashboard gives you a one-click overview of your vehicle's diagnostic health.
Vehicle Info: Displays VIN, decoded year/make/model, detected protocol, and MIL (Malfunction Indicator Lamp) status.
Health Score Gauge: A circular gauge (0–100) that summarizes vehicle health. Green (80–100) = healthy, Yellow (50–79) = attention needed, Red (0–49) = critical issues.
Scan Vehicle: One-click button that reads stored, pending, and permanent DTCs across all modules. Results appear as summary badges (Stored, Pending, Permanent counts) and a compact DTC table.
Clear DTCs: Clears all diagnostic trouble codes and resets the MIL light. The “Open DTCs Tab” link switches to the full DTCs view for detailed analysis.
DTCs Tab
The DTCs tab provides a detailed, module-grouped view of all diagnostic trouble codes.
Summary badges at the top show counts for Stored, Pending, Permanent, and Total codes. A Clear All DTCs button is available on the right.
Module tree: DTCs are organized in a hierarchical tree view grouped by module (Engine, Transmission, ABS, etc.). Each module node shows its count. Expand to see individual codes with their type and description.
Color coding by category:
- Red — Powertrain (P codes)
- Yellow — Chassis (C codes)
- Cyan — Body (B codes)
- Blue — Network (U codes)
OBD Modes Tab
Access all standard OBD-II modes and manufacturer-specific modes in one place.
Standard Modes (01–0A): Select a mode from the dropdown. For Mode 01 (Current Data), the app auto-discovers which PIDs your vehicle supports and presents them as checkboxes. Select PIDs and click Read to query values. Results appear in a response table showing PID name, raw hex, decoded value, and unit.
Additional modes include: Mode 02 (Freeze Frame), Mode 03/07/0A (Stored/Pending/Permanent DTCs), Mode 04 (Clear DTCs), Mode 05 (O₂ Sensor Monitor with voltage display), Mode 06 (On-Board Monitoring with PASS/FAIL results), and Mode 09 (Vehicle Information including VIN and Calibration IDs).
Manufacturer Modes (21/22):
Graph Tab
Enthusiast+ Real-time PID graphing with up to 8 simultaneous channels.
Channel setup: Each channel has a colored indicator dot, a PID dropdown (populated with supported PIDs after connecting), and a live value display. Select a PID from the dropdown to activate a channel. Set to “Off” to deactivate.
Three view modes:
- Graphs — 4×2 grid of individual time-series plots (default). Each plot shows the last 60 seconds of data with auto-scaling Y-axis.
- Dials — 4×2 grid of circular arc gauges with animated needles, showing min/max/mean statistics for each channel.
- Merge — All active channels overlaid on a single plot for direct comparison.
Click Start Graphing to begin polling at 250ms intervals. Use Clear to reset all buffers. Export PDF generates a document with graph screenshots and data summary.
Command Sets Tab
Professional+ Import and execute batches of diagnostic commands from Excel files.
Import: Click “Import Excel” to load a command set. The expected format is 3 columns: Command (hex, required), Module (label like ECM/TCM/ABS, optional), Delay (milliseconds between commands, optional). Click “Sample Format” to download a template.
Execution: Click “Run All” or select specific rows and click “Run Selected.” A progress bar shows completion percentage. Results appear row-by-row in the results table with command, module, raw response, decoded value, status, and elapsed time.
Fault Summary: After execution, a summary panel groups detected fault codes by module for quick analysis. Click “Export PDF Report” to generate a branded diagnostic report from the results.
Advanced Diagnostics Tab
Professional+ For advanced users who need direct control over OBD/UDS communication parameters.
Configuration fields:
- Protocol — Select from 13 OBD protocols or “Auto”
- Header — Set the CAN/ISO header address (e.g., 7E0 for engine ECU)
- Receive Address — Filter responses by address (optional)
- Service — Select a UDS service or enter a custom hex command
- Sub-function / DID — Additional parameters (service-dependent)
The app automatically sends the required AT setup sequence (reset, echo off, set protocol, set header, set filter) before your diagnostic command. Responses show raw hex with color-coded interpretation. A request/response history table logs all commands for review.
Special Functions Tab
Professional+ Guided manufacturer-specific diagnostic procedures for 30+ vehicle brands.
How it works:
Example procedures: Steering angle sensor calibration, electronic throttle reset, DPF regeneration, brake/ABS bleeding, injector coding, oil service reset, transmission adaptive reset, and more.
Super Miner Tab
Developer+ Passive CAN bus capture tool for monitoring all traffic on the OBD-II bus.
How it works: Super Miner sends the AT MA (Monitor All) command to passively listen to CAN frames without sending any requests. This captures inter-module communication visible through the OBD-II port.
The circular buffer holds up to 50,000 frames. Click Export PCAP to save in Wireshark-compatible format (libpcap with DLT_CAN_SOCKETCAN encapsulation).
Vehicles Tab
Professional+ Maintain per-VIN customer records with service history tracking.
Left panel: A searchable list of all vehicle profiles. Search by VIN or customer name. Click “+ Add Vehicle” to create a new profile manually, or profiles are auto-created when a new VIN is decoded.
Right panel: Detailed form showing VIN, year, make, model, engine, customer name, customer phone, and freeform service notes. Below the form, a session history table shows all diagnostic sessions linked to this vehicle with date, port, command count, and DTC count.
Script Tab
Developer+ Two tools in a vertical split: the Python Scripting Console (top) and the Custom PID Builder (bottom).
Python REPL: An embedded Python console with a pre-injected obd namespace for direct scanner communication. Type commands at the >>> prompt and press Enter. Output is color-coded: blue for input, green for output, red for errors, cyan for info. Navigate command history with ↑/↓ arrows.
Custom PID Builder: Define custom OBD-II PIDs with name, mode, PID code, unit, min/max range, byte count, and a decode formula. A formula test dialog lets you enter sample bytes and verify the decoded result before saving. Custom PIDs automatically appear in Graph tab channel dropdowns.
Data Tab
Browse, search, export, and compare all recorded diagnostic sessions.
Summary badges at the top show total sessions, commands logged, DTCs recorded, and date range.
Left panel: Session list table with ID, start/end times, port, VIN, protocol, command count, and DTC count. Click a session to view its details.
Right panel: All command/response pairs for the selected session with timestamps, command descriptions, module names, raw hex, decoded values, status, and timing. A technician notes field at the bottom allows you to add freeform notes to any session.
Export options: Excel, CSV, JSON per session. Export PDF Report generates a branded scan report. Export Pack Professional+ creates a ZIP with PDF + CSV + VIN JSON. Compare lets you select two sessions (Ctrl+click) to diff side-by-side.
Settings
Settings Overview
Open Settings with Ctrl + , or from the File menu. The Settings dialog contains three sections: License/Profile, Shop Branding, and Application Settings.
License Activation
Profile section displays your current tier and expiration date. To activate a license:
.lic file onto the dialog.An Upgrade button opens the pricing page in your browser if you're on a lower tier.
Shop Branding
Professional+ Configure your shop's branding for PDF scan reports and customer exports.
- Shop Name — Your business name (appears in report header)
- Shop Address — Your business address
- Shop Phone — Contact phone number
- Logo — Browse for a PNG or JPEG image (recommended 200×100px). A preview shows below the path field. Click “Clear” to remove.
Branding data is stored locally in your configuration file and never sent to our servers.
Application Settings
- Auto-reconnect — Toggle automatic reconnection on unexpected disconnect (default: on)
- Baud Rate — Default serial baud rate: 9600, 38400, 115200, or 500000 (default: 115200)
- Theme — Switch between Dark (Tokyo Night) and Light themes
Window size and position are automatically saved when you close the application.
Reports & Export
PDF Scan Reports
Professional+ Generate professional, branded diagnostic reports in PDF format.
Report contents:
- Shop branding header (logo, name, address, phone — if configured in Settings)
- Vehicle information (VIN, year, make, model, protocol)
- Health score summary
- All DTCs grouped by module with color-coded categories
- Complete command log with timestamps and responses
- Technician notes
- Report generation timestamp
Generate from: Data tab > Export PDF Report, Command Sets tab > Export PDF Report, or Graph tab > Export PDF.
Data Export Formats
| Format | Contents | Best For |
|---|---|---|
| Excel (.xlsx) | Multi-sheet workbook: Commands, Fault Codes, Session Info tabs with styled headers | Detailed analysis, sharing with shops |
| CSV | Flat command log with all fields | Data processing, spreadsheet import |
| JSON | Structured session data with full metadata | Programmatic access, custom tooling |
| Branded scan report with vehicle info, DTCs, and command log | Customer handoff, print-ready reports | |
| PCAP | Wireshark-compatible CAN frame capture (libpcap format) | Network analysis, CAN bus research |
Customer Export Pack
Professional+ One-click export that generates a ZIP archive containing everything a customer needs:
- PDF scan report — Branded with your shop info
- CSV command log — Full diagnostic data
- VIN info JSON — Vehicle identification details (year, make, model)
Access from Data tab > Export Pack.
PCAP Export for Wireshark
Developer+ Export CAN frames captured by Super Miner in Wireshark-compatible format.
The export uses libpcap format with DLT_CAN_SOCKETCAN encapsulation. Open the resulting .pcap file in Wireshark for protocol analysis, filtering by CAN ID, and detailed frame inspection.
Access from Super Miner tab > Export PCAP after stopping a capture session.
Technical Guides
ELM327 Scanner Setup
A step-by-step guide to setting up your ELM327 scanner for the first time.
1234 or 0000. Two COM ports will appear — use the lower-numbered one (outgoing port).0100 — a response confirms communication.Reading & Clearing DTCs
Diagnostic Trouble Codes (DTCs) are fault codes stored by your vehicle's on-board computer when it detects an issue.
Reading DTCs:
Understanding DTC types:
- Stored — Confirmed faults. The vehicle has detected this condition multiple times.
- Pending — Conditions detected once but not yet confirmed. May clear on their own.
- Permanent — Cannot be cleared by the user. Require the vehicle to pass the related monitor test to auto-clear (typically 40+ drive cycles).
Clearing DTCs: Click Clear DTCs on the Dashboard or DTCs tab. This sends the Mode 04 clear command and resets the MIL light.
Live Data Graphing
Enthusiast+ Monitor up to 8 vehicle parameters simultaneously in real-time.
Using Special Functions
Professional+ Execute manufacturer-specific diagnostic procedures safely.
Python Scripting Console
Developer+ Automate diagnostics with the embedded Python REPL.
The Script tab provides a Python console with a pre-injected obd namespace for direct scanner interaction:
>>> obd.connected
True
>>> obd.protocol
'ISO 15765-4 (CAN 11/500)'
>>> resp = obd.send("0100")
>>> resp["raw"]
'41 00 BE 3E B8 11'
>>> obd.help()
Available commands: obd.send(), obd.connected, obd.protocol, obd.version ...
Available API:
obd.send(command, timeout_ms=5000)— Send any AT or OBD command, returns a response dictionary withraw,lines,error, anderror_messagefields.obd.connected— Boolean indicating connection status.obd.protocol— String with the detected OBD protocol.obd.version— ELM327 firmware version string.obd.help()— Show all available methods and properties.
Custom PID Builder
Developer+ Define your own OBD-II PIDs with custom decode formulas.
Located in the lower half of the Script tab, the Custom PID Builder lets you create PIDs that appear in Graph tab channel dropdowns.
Fields per custom PID:
- Name — Display label (e.g., “Turbo Boost Pressure”)
- Mode — OBD mode in hex (e.g., 01, 22)
- PID — PID code in hex
- Unit — Display unit (e.g., “kPa”, “RPM”, “°C”)
- Min / Max — Value range for gauge display
- Byte Count — Number of response bytes to expect
- Formula — Decode expression using A, B, C, D as response bytes
Formula examples:
A - 40— Single byte with offset (temperature)(A * 256 + B) / 4— Two-byte value with scalingA * 0.392157— Single byte with decimal scaling
Supported functions: abs, int, round, float, min, max, HEX2BIN, B(n). Use the Test button to enter sample bytes and verify your formula before saving.
~/.carpm-deepscan/custom_pids.json and persist across sessions. Changes are automatically reflected in Graph tab dropdowns.Passive CAN Capture with Super Miner
Developer+ Capture and analyze raw CAN bus traffic for research and reverse engineering.
Excel Command Sets
Professional+ Automate batch diagnostic scans with imported Excel command files.
Excel format (3 columns):
| Column | Required | Description | Example |
|---|---|---|---|
| A: Command | Yes | Hex command to send | 0100 |
| B: Module | No | Label for grouping results | Engine |
| C: Delay | No | Delay before next command (ms) | 500 |
The loader also accepts code-style wrappers like commands.add("18 00 FF 00") and extracts the hex automatically.
Vehicle Profiles & Customer Management
Professional+ Build a customer database with per-VIN service history.
Advanced Protocol Diagnostics
Professional+ For expert users who need to communicate with specific ECU modules using custom protocol parameters.
Reference
Keyboard Shortcuts
Feature Tier Comparison
| Feature | Free | Enthusiast | Professional | Developer |
|---|---|---|---|---|
| OBD-II Connection (BT/USB/WiFi) | ✓ | ✓ | ✓ | ✓ |
| Terminal | ✓ | ✓ | ✓ | ✓ |
| Dashboard & Health Score | ✓ | ✓ | ✓ | ✓ |
| DTC Reading & Clearing | ✓ | ✓ | ✓ | ✓ |
| VIN Decoding | ✓ | ✓ | ✓ | ✓ |
| Session Recording & Data Tab | ✓ | ✓ | ✓ | ✓ |
| Data Export (Excel/CSV/JSON) | ✓ | ✓ | ✓ | ✓ |
| 8-Channel Real-time Graphing | — | ✓ | ✓ | ✓ |
| OBD Modes (01–0A) | — | ✓ | ✓ | ✓ |
| PDF Scan Reports (branded) | — | — | ✓ | ✓ |
| Command Sets (Excel Import) | — | — | ✓ | ✓ |
| Advanced Diagnostics | Limited* | — | ✓ | ✓ |
| Special Functions (30+ brands) | Limited* | — | ✓ | ✓ |
| Manufacturer PIDs (Mode 21/22) | Limited* | — | ✓ | ✓ |
| Vehicle Profiles & CRM | — | — | ✓ | ✓ |
| Custom PID Builder | — | — | ✓ | ✓ |
| Customer Export Pack (ZIP) | — | — | ✓ | ✓ |
| Technician Notes | — | — | ✓ | ✓ |
| Python Script Console | — | — | — | ✓ |
| Super Miner (CAN Capture) | — | — | — | ✓ |
| PCAP Export (Wireshark) | — | — | — | ✓ |
| AT Command Reference (99 cmds) | — | — | — | ✓ |
* Free tier: Limited to 2 vehicle makes, 2 models, and 5 Special Function executions.
Need more help?
Can't find what you're looking for? Reach out to our support team.