Lotus Elan M100 ALDL diagnostic software 'ElanScan'

What it can do:

The software uses a Comm port to communicate with the ECU. At the moment when 'talking' is enabled the software sends 'mode 1' requests at intervals determined by the acquisition timer. The definition file for decoding the data is 'M100 ALDL protocol.ini' in the windows folder. Each parameter has a name, position (byte offset), size (in bytes), scaling factor and offset. Feel free to play with it, if it all goes horribly wrong just delete it and a new one will be generated. When logging is enabled the data is logged to memory at the acquisition rate (I'll probably allow logging direct to disc in a future version). When data is present it can be saved as an 'ecu' file two parameters can be plotted, the data can be exported to Excel by OLE (this is SLOW).  Multiple data files can be loaded at once and compared. I reckon its pretty intuitive......

The rate at which data can be acquired is limited by the communication speed - 8192 baud in this case. Each mode 1 request is 4 bytes long, the mode 1 reply is 63 bytes of data and 4 framing bytes, each byte is sent using ten bits (1 start,8 data,1 stop) so that's 8192/710=11.5Hz (87ms period). ElanScan can manage 100ms no problem (and maybe a ms or three fewer).

I'll stick in the usual disclaimer here. I make no guarantees to the utility or reliability of the software. If you use it you use you use it at your own risk.

If you have a version already installed delete the 'M100 ALDL protocol.ini' file from the windows folder.  This allows a new, updated, parameter description file to be created. The new version might choke if you don't (and it won't show the up-to-date parameter list)...

Here is the download:

ElanScan_Beta (
The latest version is still a beta because I haven't tested it on the car yet. Moved ini file to user profile area

Version Added crop to selection and copy selection to new dataset commands.
Version Recovered from cobbled together backups after a corrupt version was syncronised over the good. Its also been modified to add features:(since its recovered from backup the build number have gone down compared to some versions out there) Added more gauges, added audible warnings, added tab delimited file save, accelerated excel export, fixed serial port number read from registry and probably some other stuff too.

ElanScan (
Version Modified comm routines to be tolerant of time gaps in data stream. Reduces communication errors significantly in some cases.  
Version Fixed bug with graph print (pretty fundamental error in the graph draw routine as it turned out), added default type to PROM dump dialog, re-built to include enhancemen]ts in the COMMS code I made for something else (i.e. it probably won't work any more :) ).
Version Remembers your COMM port, serial port set up more elegantly (but you won't notice any difference as a user), corrected MAP calculations (thanks to Gary Harris), added DRP - distributor reference pulse - (again thanks to Gary) - not sure about this one I can't see why it doesn't scale linearly with RPM - & it works in Windows 95.
Version Error codes complete (guesses), injector duty cycle added, wastegate duty cycle calc corrected
Version Changed live display methods - hopefully addressing problems reported
Version Fixed a couple of bugs (around starting and stopping talking/logging). Added optional gauges (manifold pressure & RPM) for use during tuning. Enable in Setup and they'll appear when 'Start talking' or 'Start logging' is pressed.
Version Improved memory management, added more calculated parameters (acceleration,power,gear - they are pretty approximate but seem to be about right), graphing of individual bits now allowed, more stuff I can't remember right now. Its still changing rapidly, treat as an alpha version (keep the old version handy!)
Version Parameters updated (changed my mind on quite a few), graphing bug fixed.
Version Tree view replaced table (breaks out bits), resizeable control dialog, comments edit, status bars (x,y coordinates, instructions), WOT cable support....
Version Sets RTS and DTR high
Version Fixed another file loading bug & added function key control of buttons.
Version Now the distance calculation works again...
Version Oops - logging was broken in 21.... Fixed now (I hope)
Version Fixed a file loading bug, added a calculated distance parameter.
Version Added comparison feature. Improved(?) interface, updated parameter table (many parameters are speculative, be critical)
Version Added data browsing and cursor feature, updated parameter table.
Version Added APM support (laptop doesn't standby/suspend, unless battery power is critical, when logging), fixed various bugs, gave up on real time graphing (too time consuming)

If you use Windows 95 and can't see the graphics on the buttons get the latest version of  Comctl32.dll.