IMG_8903IMG_0955Freematics OBD-II Emulator MK2 is a device that emulates a 16-pin female OBD-II port with KWP2000, ISO9141, CAN bus and J1850 data protocols. It responds to requests for standard OBD-II PIDs (including DTC and VIN) from a plugged-in OBD-II compliant device. It simulates up to 6 active vehicle diagnostic trouble code (DTC) for Mode 03, 07, 0A respectively same as what a real car has when encountering a component malfunction or fault.

This product is useful for OBD-II related application development on desk. When coupled with external data source, it can also be used to provide a standard OBD-II port for vehicles that don’t have one and thus existing OBD-II device/software can work with the vehicle.

The emulator can be controlled by GUI software via a USB cable or wirelessly via BLE by Freematics Controller app available for both iOS and Android. It can also be programmatically controlled via USB or serial UART interface for further development.

Hardware Features

  • Standard 16-pin OBD-II female port (powered)
  • Implementing data bus (CAN, KWP2000, ISO9141-2, J1850 PWM, J1850 VPW) used in vehicle
  • Simulating OBD-II Mode 01 PIDs (0100-0163)
  • Simulating OBD-II DTC (mode 03/07/0A, up to 6 active DTCs)
  • Simulating OBD-II readiness monitors
  • Simulating VIN data (Mode 09)
  • Control by GUI software (via USB), iOS App (via BLE) or programmatically (via serial UART or USB)
  • Firmware upgrade via USB
  • Powered by DC 12-24V pass-through up to 5A

Following protocols are implemented:

  • CAN/ISO15765 500Kbps/11bit
  • CAN/ISO15765 250Kbps/11bit
  • CAN/ISO15765 500Kbps/29bit
  • CAN/ISO15765 250Kbps/29bit
  • ISO9141-2
  • KWP2000/ISO14230 Fast
  • KWP2000/ISO14230 5Kbps
  • J1850 VPW (optional)
  • J1850 PWM (optional)

Please note the emulator does not actively generate CAN signals without presence of OBD device.

The emulator has following sockets on its enclosure:

  • 16-pin female OBD-II port
  • DC input jack
  • USB port
  • I/O socket

The I/O socket (6-pin socket at the side or 4-pin socket at the end) provides an interface for serial TTL connection as well as DC power supply. This makes it possible for a micro-controller like Arduino to manipulate the emulator’s states and data in real-time via AT command-set. For 6-pin socket (legacy), the pin definitions are Tx, Rx, GND, 3.3V, 5V, 12V (left-to-right). For 4-pin socket, the pin definitions are Tx, Rx, GND, 5V (left-to-right).


PC GUI Software

An open-source GUI software is developed for configuring and controlling the emulator. The Windows binary can be downloaded here. Simply extract the downloaded compressed file and run FreematicsEmulator.exe to launch the GUI.

Freematics_Emulator_GUI_OBD_PIDs Freematics_Emulator_GUI_Readiness_Monitor

Android and iOS App

The emulator can be remotely controlled via BLE (Bluetooth Low Energy) by Freematics Controller available as Android App (click here to download the APK) and iOS App (search Freematics Controller in the App Store).

Getting Started

To start using the emulator with PC GUI, follow these steps:

1. Connect DC power adapter to the emulator

The emulator requires a DC power supply for powering itself as well as passing through to connected OBD device. If the connected device requires power surge over 1A, a power source with higher rating may be needed. The DC input socket is located beside the USB port.


2. Plug in USB cable and connect to PC

Driver is normally automatically installed on Windows 7/8/10. For Windows XP, please download the driver from here.


3. Open Freematics OBD-II Emulator GUI software and connect with the emulator

Run FreematicsEmulator.exe to launch the GUI software. Once the GUI is loaded, it will automatically attempt to connect with the emulator. Once connected, the Connect button will turn into Disconnect.


4. Plug in your OBD-II device (with OBD-II male connector) into emulator’s OBD-II female port

Now plug in your OBD-II device and it should work as if plugged in the OBD-II port of a real car. You can use the GUI to change the value of OBD-II PIDs, state of readiness monitors, diagnostic trouble code (DTC) and VIN.


To start using the emulator with Freematics App, follow these steps:

1. Connect DC power adapter to the emulator

2. Install Freematics Controller App

Download and install Freematics Controller App on your mobile device. The app is available for Android (click here to download the APK) and iOS (search Freematics Controller in the App Store).

3. Search and connect to the emulator

Once the App is launched, it will search for nearby emulator and found devices will be listed on screen. Tap Connect button to connect and the control interface will be loaded.

4. Plug in your OBD-II device

Now plug in your OBD-II device and it should work as if plugged in the OBD-II port of a real car. You can use your Android or iOS device to adjust the value of PIDs remotely.

Serial Control Interface

The communication between Freematics OBD-II Emulator and the host device (PC or mobile devices) is done by a pre-defined text-based command set. Our GUI software is just implemented on this. If you would like to develop your own GUI software or host control hardware, please refer to Freematics OBD-II Emulator Control Command Set.

Power Supply

The emulator is powered by a DC power source up to 30V. A power adapter rated at 12V/1A with 5.5/2.1mm connector (center positive) can be supplied as courtesy without warranty. It is recommended however to use a DC power supply with higher rating especially when you need to use some OBD-II devices requiring high power surge. A voltage adjustable power source is useful for emulating voltage change in real cars. Please also note the input voltage bypasses to the OBD port pin 16 (battery power pin) and is unfused unless the power supply is fused.


Shipping List

  • Freematics OBD-II Emulator MK2 x 1
  • USB Cable x 1
  • DC Power Adapter (5.5/2.1mm) x 1





You can quickly place your order from this page with optional accessories for your selection.