Fiat Coupe Engine Management - Star Trek and the USB Microwidget

Photo of microwidget

Microwidget circuit diagram

Fiat Coupe to USB adaptor

The Coupe to USB adaptor - AKA 'microwidget' is an inline adaptor to allow a laptop user running Windows 2k or Windows XP (it is as yet untested with Vista but should work) to interrogate the ECU on the Fiat Coupe. With suitable software, the ECU can be interrogated to obtain running data (intake pressure, temperatures, throttle position etc), any current or stored error information, or commanded to perform hardware tests or to clear fault codes.

The microwidget should act as a generic K-L line to USB line converter: the USB serial chip appears to be able to handle any Windows baud rate above 300 baud where the outgoing line is the L line and the incoming K line. A link is provided so that systems where everything happens on the K line (e.g. the Fiat Coupe 20v/vt) can be communicated with.

Update 14/08/09

I am no longer making the microwidget. It's too much hassle, and similar devices are available on eBay and similar places designed for OBDII scanners. I now recommend a common adaptor usually advertised as working with VagCom - look for 'audi/vw/seat/skoda' compatibility and '409.1 kkl' - this refers to the version of VagCom that works with it.

It's necessary to make the proper connection to the Fiat/Lancia/Alfa connector - you'll need to pick up the K, L, ground, and power lines. Most of these come with a 'free gift' that brings out those connections. Or drop me a line and I can make one up for you.

This device has a permanent connection such that any write to the K line is immediately echoed to the L input line - so the software has had to change slightly to accommodate this. With this device, you should use this version of Star Trek. It's should unzip to startrek 409.1 kkl.exe and requires no further installation save the FTDI installation below.

Please note that this software is not compatible with the existing microwidget unless the microwidget is modified to connect the K and L lines together. If you have an original microwidget, use the original code below.

As with the original version, connect the USB adaptor, start Startrek, select the USB port from the drop-down, and select the appropriate engine choice - it will start reading data from the ECU at that point. I recommend connecting to the USB port, the ECU port, and the +12v supply in that order before starting Startrek.

Windows Drivers

It's important that the correct drivers are installed on the PC before the microwidget is plugged in, or Windows will install default drivers.

The latest drivers are available from the chip manufacturer, FTDI, here: FTDI driver page. It is important that the FTDI installation instructions are followed; the system should load two drivers rather than one which might be expected.

Star Trek software

The Star Trek software is a *very* rough and ready application that can use the USB microwidget (or earlier serial versions) to display running sensor and engine values and current error messages for the Fiat Coupe 16v NA and 16vt only. It will also work with other engines in the Fiat/Alfa/Lancia range which use the same ECU. It will not at present work for the Coupe 20v/vt Bosch ECU nor with the Hitachi ECU used in the 1800 16v.

The code, such as it is, is released under the LGPL licence. The executable can be downloaded here: Star Trek executable.

This: Zipped package. contains zips of two variants of the circuit - one for USB as illustrated above and one RS232 serial - as well as circuit board layouts. You'll need the Eagle CAD software to view them; it's free.

If you try and run the code without any serial ports - as many modern laptops - it will politely decline. Only available serial ports are listed in the drop-down box - choose your preferred port there. Insert the microwidget and try again. The program waits for you to select an engine variant before it starts polling the ECU - please note that the 20v and 20vt options are stubs for later expansion.

Star Trek software - the console version 31/08/2009

This is a much simplified version of the startrek graphical code. It's designed to run in a console rather than as a windows GUI application, so all the output is in text, coloured where appropriate. It offers the same functionality as the original startrek, but with a couple of additions: it displays the ECU ID bytes and the spares code, and decodes the immobiliser status byte.

The code, as before - is released under the LGPL licence. It's available here: Star Trek console version.

To use it, open a console (start/run/cmd) and move to wherever you stored the exe file (there are no library dependencies) and then just type the programme name and the serial port number - you may have to use the device mangler to find out where your serial port has been assigned.

Once again, it assumes that you have a 409.1 KKL adaptor but it's quite happy to work with a discrete level adaptor or the microwidget; just link the K and L lines together.

I've done this mainly to simplify programme flow; it should enable anyone trying to work out what's happening and how the data is obtained and converted to do so a lot more easily than the convoluted programme flow that the Windows GUI API forces.

Comments

In experimentation this morning, I have noticed that the ECU reports errors from the cam and crank sensors and the throttle position sensors if the connectors are removed. (Removing the crank sensor or the ICV connectors will stop the engine; it will work with others removed.) It did not produce errors for the ICV or lambda sensor disconnection, and I don't know why. The documentation claims that errors are produced, but either they're not, or my code is broken; I don't know which. I haven't yet tested the temperature sensors; they're a bit hard to get to!

Copyright © 1995-2007 Neil Barnes - 31 August 2009