Instructions
We've been working on this diagnostic tool for quite some time with the goal of making remote vehicle diagnostics simpler and more accessible for everyone. Our main idea was to help technicians and enthusiasts use their existing aftermarket diagnostic tools to connect to vehicles remotely — just as if they were sitting in the workshop next to the car.
The system is entirely software-based, but it also supports optional hardware devices that enable more advanced communication with the vehicle using CAN bus technology . With the complete setup, you can work over CAN bus , Ethernet , and even perform EEPROM read/write operations on certain modules through Bench mode.
At the moment, the system operates in a peer-to-peer mode — which is why port forwarding is required. This architecture ensures minimal latency and direct communication between the two sides. In the future, we plan to introduce a subscription-based server platform that will handle the connections automatically, making setup much easier.
Our goal is to provide a reliable and flexible solution for workshops and independent technicians who want to diagnose, code, and program vehicles remotely without complex configurations.
--SETUP--
When you first launch the app, it will ask for an ID and a password . These credentials are sent by email to the address associated with your PayPal account after purchase. If you don't see the email, please check your spam or junk folder as well.
You'll need to enter these credentials into the app. After that, you can change your ID once and only once to whatever you prefer. Make sure it's something meaningful, because your clients will need this ID to configure their own app and establish communication with you.
To change your ID, go to Settings → Change ID .
Inside the app click “ Settings“ , there's a status box showing your network status. If it says “Windows UPnP OK” , that means everything is set up correctly and you don't need to do anything else. If it doesn't, you'll see the IP address and port numbers that need to be added to your router's port forwarding settings. You may also see information about the server UPnP or the 1237 port — these are used for CAN bus communication. You can safely ignore them when setting up your network.

To make sure the application can communicate properly over the network, your router needs to allow access through specific ports. There are two ways to set this up, depending on whether your router supports UPnP (Universal Plug and Play) .
Option 1 – Enable UPnP (Recommended)
The easiest way to get started is by enabling UPnP on your router. This allows the application to automatically open the required ports without manual configuration.
How to enable UPnP:
- Open your router's web interface . You can usually do this by entering your router's IP address in your browser - for example,
192.168.0.1or192.168.1.1. - Log in with your administrator username and password.
- Go to a section such as Advanced , Network , or NAT Forwarding (the exact name depends on your router model).
- Find the UPnP setting and switch it ON .
- Save the changes and restart your router.
After that, start the application. If everything is working correctly, i nside the app click “ Settings“ and you'll see a message saying “UPnP OK” — this means the connection was set up automatically and no further steps are needed.
Option 2 – Manual Port Forwarding
If your router doesn't support UPnP, you can still make the application work by setting up manual port forwarding .
Steps to set up port forwarding:
- Open your router's web interface (for example, go to
192.168.0.1in your browser). - Log in with your admin credentials.
- Look for a section named Port Forwarding , NAT , or Virtual Server .
- Add two new rules with the following settings:
| Rule | Protocol | External Port | Internal Port | Device IP |
|---|---|---|---|---|
| 1 | TCP + UDP | 13000 | 13000 | (Your device running the app) |
| 2 | TCP + UDP | 15,000 | 15,000 | (Your device running the app) |
After saving the changes, restart your router. Once done, start the application — it will now use the manually forwarded ports if UPnP is not available.
Firewall Notice
Make sure that no third-party firewalls are blocking the app's network access. If you're using any, temporarily disable them or create an exception for the application in your firewall settings.
Connecting a Client
When the application starts and you reach the CAN Bus Device section, click the “Skip” button. This device is an additional feature of the app that will be available later through a subscription, so for now it can be skipped.
After skipping, you'll see a field labeled Client ID . When customer launches the application, their ID should appear in the list. Select the desired ID from the list to connect to that client.
Important: Do not run both applications on the same computer. Each instance must run on a separate device in order for the connection to work properly.
Communication Modes
By default, the application starts in BMW ENET mode. This mode requires no additional setup.
The application also supports VAG DoIP and BMW ICOM communication modes. You can switch between these modes in the Settings menu by using the corresponding toggle switches.
Make sure to select the correct communication mode that matches your connected vehicle before starting the connection.

Virtual Network Adapter
The application runs a virtual network adapter in the background. By default, this adapter uses the IP address 10.10.1.1, which represents the vehicle's local IP address. This is the address that all diagnostic tools will recognize as the car's network interface.
The IP address of this adapter can be changed manually if needed. Some diagnostic tools only work with addresses in the 169.254.x.x range, so you can adjust the adapter's IP to match those requirements. Be careful not to set an address that conflicts with another network adapter on your system — if a conflict is detected, the application will notify you automatically.
Broadcast Mode
At the top of the application window, you'll find a Broadcast button. When enabled, this mode makes the communication available across your entire local network.
For example, if the main application is running on one computer, and another device is connected to the same local network, that second device can also connect to the vehicle through the network. In this case, the connection should be made to the IP address of the main computer on the local network.
If broadcast mode is turned off, diagnostic tools must be run on the same computer where the main application is running, since the connection will not be visible to other devices on the network.
WARNING: Only enable broadcast mode if you actually intend to access the car from another machine. If you run the tools on the same computer while broadcast mode is enabled, some tools may not function properly.
Car Detect
The Car Detect button is available only for ENET and DoIP communication modes.
When enabled, other diagnostic tools can automatically discover the vehicle — including its IP address , VIN , and MAC address — using standard automotive discovery protocols.
Client-Side Application


The same firewall rules mentioned earlier also apply to the client-side application. Make sure no third-party firewall or antivirus software is blocking the connection, otherwise the client will not be able to communicate with the main app.
In the client application, under the Change ID field, you need to enter the Main Application ID . This ID can be found in the top-right corner of the main application window. Once entered, the client app will be ready to connect and operate.
The vehicle must be connected via Ethernet using the appropriate adapter ( ENET , ICOM ). Connect the car either directly to the laptop running the client application, or to the same local network where that laptop is connected. As long as both devices are on the same network, the communication will work correctly.

Red arrow: ICOM found and connected — indicates that the car has been successfully detected and is currently connected.
Yellow arrow: KL-line status indicators (KL30, KL15, Status) — show the current voltages of the connected vehicle. Status also shows whether ICOM is reserved or released. ( Available only in ICOM mode )
Blue arrow: Live UDP/TCP communication graph — visualizes network traffic between the client and tool in real time. While you are trying to use aftermarket tools and a connection is established, it indicates that communication is active.
Green arrow: Current IP address of the car and the “Change IP” button — displays the assigned local car IP address. This is the IP you can use to connect aftermarket tools to the application. If you enable broadcast mode, this changes to 0.0.0.0 , which means you can connect through any local IP address available on the laptop.
On the left side of the screen, you can see the Voltage indicator. This value is reserved for the connected CAN bus device and has no functional meaning if you are only using the applications without the hardware. Next to it, you'll find the Ping display, which shows the current communication latency between the two apps — the higher the number, the slower the communication. If the text Connection lost appears instead of the ping value, it means that the connection has been interrupted, for example due to an internet outage or other network issues.
ICOM
- Reserve / Release – this button let you lock or free up the ICOM. This is especially important when using aftermarket diagnostic tools , as many of them only work when the ICOM is in reserved mode .
- Reboot ICOM – this button restarts the ICOM device. It's useful if the device becomes unresponsive or if there are network issues and you want to reset it without physically unplugging it.
If there are multiple ICOMs connected to the local network - for example, in a workshop environment - the application automatically detects all of them.
When this happens, a popup window appears in the main app where you can select which ICOM you want to use.
Each listed ICOM shows:
-
the device name ,
-
its IP address ,
-
the VIN number of the last connected vehicle, and
-
the MAC address ,
so you can easily identify the correct one.
Once you've selected and connected to an ICOM, the application will communicate only with that device until it's disconnected.