Subaru FreeSSM – Complete DIY ECU and TCM Management

Subaru vehicles from MY1999 onwards, including the Legacy, Liberty, Outback, Baja, Impreza, Forester and Tribeca can be analysed using a Subaru Select Monitor (SSM). SSM is an OBD based tool that allows configuration and customisation of the Engine Control Unit (ECU) and Transmission Control Unit (TCU), which is great for diagnostic and tuning purposes.

SSM typically exists as a very expense piece of hardware found only at dealerships, however thanks to a few creative developers there is software available online known as FreeSSM. Combined with a specific OBD Cable, you can customise and tweak your own vehicle at home using a Windows computer!

In this post we’ll discuss the features found within FreeSSM, and what we were able to see and do on our MY99-00 Subaru Impreza WRX (Manual Gearbox – No TCU!)



Installation is relatively straightforward, the software and drivers are included with your purchase of an OBD cable from AutoInstruct. We recommend using Windows XP due to the age of the software. Newer systems should work, however updated drivers may be required.

  1. Insert the CD
  2. Install the included drivers and FreeSSM
  3. Open FreeSSM and in the Preferences, select the correct COM Port (Can be found within Windows Device Manger, under ‘Ports’)
  4. Plug in the OBD Cable, turn the ignition to ON. Click ‘Test Diagnostic Interface’ to confirm operation.

Note: The last known release of FreeSSM was in 2010 (v1.2.5), as found on SourceForge. As a result the software is dated, and comes with no support or any further details. Use with caution, it is probably best used on older Subaru vehicles.

Main Menu:

Here you can see the the Main Menu of FreeSSM. The key items we’re looking for here are the Engine and Transmission Control Units.

The Help button does not seem to function, so you’re on your own!

Subaru FreeSSM Tutorial

SSM Main Menu

Engine Control Unit:

After clicking into the Engine Control Unit, we start to see the basic readout collected by FreeSSM. Being an older vehicle we don’t have every feature supported, however it does know there’s a 2.0L DOHC Turbo under the hood!

Most importantly we can see the current and historic trouble codes, which are usually cause for a Check Engine Light (CEL).

Subaru FreeSSM Tutorial

Engine Control Unit (ECU) Screen

Measuring Blocks:

Measuring Blocks consist of all the values FreeSSM can read from the ECU. The list is extensive, and can vary between vehicles. Some values like switches are simply ‘On / Off’ whilst others are voltages and so forth.

This screenshot was taken with the engine off, so the values are mostly zero / ambient or similar.

Subaru FreeSSM Tutorial

Measuring Blocks Screen

System Tests:

If your ECU supports any System Tests, these will appear here, and can be useful for finding issues and testing connectivity. In our vehicle we were only able to test the Immobiliser Communication Line, which was a pass!

Subaru FreeSSM Tutorial

System Tests Screen

Clear Memory:

The last button allows us to clear the ECU Memory. This is useful for resetting your ECU after hardware changes, or trying to troubleshoot issues. The memory reset will perform the following:

  • Clear all Diagnostic Codes
  • Reset all non-permanent adjustment values
  • Reset all Control Unit learning values

Simply click ‘OK’ and follow the steps of power-cycling the ECU.

Subaru FreeSSM Tutorial

Clear Memory Screen

Transmission Control Unit:

Unfortunately our vehicle has a manual transmission, so we don’t have a TCU to access! If we are eventually able to test this we’ll post the details here.