Freematics OBD-II Emulator MK2 is world's smallest OBD-II emulator with KWP2000, ISO9141 and CAN bus simulation. It provides an 16-pin female OBD-II port which is identical to that of a real car and responds to requests for standard OBD-II PIDs from plugged-in OBD-II compliant device. It emulates up to 6 active vehicle diagnostic trouble code (DTC) as if a real car has when encountering a component malfunction or fault. Request for VIN is also responded and the VIN can be altered.
The emulator connects to PC via USB cable and is operated via an easy-to-use software GUI. Secondary development is possible with serial TTL connector available for connection of interaction with Arduino or other embedded system with source of data (e.g. sensors).
Freematics OBD-II Emulator is practically useful and cost effective for OBD-II related application development on desk. Once extended with external data source, it can even be used to provide an OBD-II port for vehicles that don?¡¥t have a real one and thus existing OBD-II device/software can also work with the vehicle.

To learn more about Freematics OBD-II Emulator, please visit the following link.
http://freematics.com/pages/products/freematics-obd-emulator-mk2/
 
Getting Started
===============

Freematics OBD-II Emulator MK2 is as easy-to-use as the MK1. Instead of the physical dials and switches, a software GUI which has identical layout as the physical interface is provided and more flexibility and features as well as better adjusting precision come with this.

To start using the emulator, following these steps:

1. Connect the DC 12V power adapter to the emulator
2. Connect the emulator to PC via USB cable
3. Plug in your OBD-II device into emulator's OBD-II port
4. Start the Freematics OBD-II Emulator GUI software
5. In the GUI, click the Connect button
6. The emulator is then ready to go

 
Serial Control Interface
========================

The serial control interface is implemented as AT command-set containing following commands. The baud rate is 38400bps. All commands and responses are terminated with '\r' (ASCII: 0xd).

ATZ

    Function: re-initializing the emulator
    Response: the name and version of the emulator

ATR

    Function: restarting the emulator
    Response: the name and version of the emulator

ATE0/ATE1

    Function: turning off/on character echoing
    Response: OK

ATBUS [Protocol]

    Function: changing the simulated protocol (default is CAN bus 11-bit/500Kbps)
    Argument: a string that specifies the protocol which can be one of the following:
        CAN_11B_500K
        CAN_29B_500K
        CAN_11B_250K
        CAN_29B_250K
        KWP2000_FAST
        KWP2000_5BPS
        ISO9141_2
        J1850_PWM
        J1850_VPW
    Response: OK or Error

ATSET DTC=[OBD-II Trouble Code]

    Function: setting mode 03 DTC (up to 6 separated with comma)
    Argument: a code that identifies a malfunction or failure of a vehicle component (refer to this website)
    Response: OK or Error
    Example: ATSET DTC=P0105,P0106

ATSET DTC7=[OBD-II Trouble Code]

    Function: setting mode 07 DTC (up to 6 separated with comma)
    Argument: a code that identifies a malfunction or failure of a vehicle component (refer to this website)
    Response: OK or Error
    Example: ATSET DTC7=P0105,P0106

ATCLR DTC

    Function: clear all DTC

ATSET VIN=[Vehicle Identification Number]

    Function: setting the emulated VIN
    Argument: a 17-digit vehicle identification number
    Response: OK or Error

ATENABLEVIN

    Function: enable VIN

ATDISABLEVIN

    Function: disable VIN

ATSET [PID]=[Value]
ATSET [PID]=[A],[B],[C],[D]...

    Function: setting the value of an OBD-II PID
    Arguments:
        PID: a 4-digit HEX number specifying an OBD-II PID
        Value£º the value of the OBD-II PID in decimal or in HEX (raw data)
    Examples:
        ATSET 010C=2000 (setting RPM to 2000)
        ATSET 010C=0x31,0x64 (also setting RPM to 2000 with raw byte data)
    Response: OK or Error

ATGET [PID]

    Function: retrieving the current value of an OBD-II PID
    Argument: a 4-digit HEX number specifying an OBD-II PID
    Response: The raw HEX data of the requested OBD-II PID

ATACC0 / ATACC1

    Function: emulating ignition OFF / ON
    Response: OK
    Note: this does not emulate any voltage change caused by ignition switching
