EcmSpy - The Idea behind
Frankfurt, June 2009

After almost four years of development the developers decided to shut down the ECMSpy project. Various reasons led to this decision, including the increasing drain on the developers' time. Exploring the ECM and learning how it works has been lots of fun, very informative and allowed us to better understand how it works and where some of the commonly known flaws lie.

It's my heart's desire to thank all contributors, translators, information-diggers for their much appreciated help. Without your support this project would not have been possible.
Gunter

Frankfurt, July 2007

The idea for this project has been developing for some time. I was alerted through a posting in the german XBORG forum, where a freely programmable ECU for the Buell was announced. Naturally this turned out to be some expensive software to modify the Buell ECM, which had to be purchased.

At the beginning of the same year I had bought my Buell and wondered whether it would be possible to establish communication to the Buell's ECM without using expensive tools. At that time it was my goal to get as much information out of the ECM, to sufficiently supply a MegaSquirt ECU with all the data required to gain control over the fuel injection system and swap the Buell's ECM with a MegaSquirt ECU.

Unfortunately this approach failed because of the simple fact that the MegaSquirt-II's firmware did not fully support V-type engines at that time. So I began thinking about programming my own firmware, not for the original MegaSquirt but for a descendant of it, the MegaSquirt AVR. I had worked with AVR microcontrollers before and started to write the first parts of my own software.

All the maps and lists needed were unknown, so I had to find a way to get this data. Therefore I designed a "Buell simulator", which copied the most important signals of a Buell well enough that the original ECM could be attached to it and did not react with an error. Naturally no driving conditions could be simulated, but it was sufficient to monitor the injector pulses and measure them in relation to the engine's revolutions and throttle position.

Then the idea came to me, why not use my measuring equipment to find out how to directly communicate with the ECM, as some other software did so too. To my excitement it turned out that a simple serial connection was used to exchange data between a PC and the ECM. At the next step I started to decode the contents of data sent from the ECM. Now the two years experience I have with fuel injection controllers and the software used in them paid off, because within a few weeks more than half of the runtime data (temperatures, number of revolutions, injection duration etc..) had been discovered.

After some time I became aware, that I would need some support because such a project would be too large to run alone, apart from the fact that I would never be able to write software for a PC. For this reason I started enquiring in the XBORG forum in order to recruit some helpers and to check the demand for such software. Since then approximately half a year passed by and the results are respectable: the EcmSpy team increased to six developers and the software both for the PC and PalmOS PDA is available for download. Some future plans include some hardware modules, which will to be used as datalogger and display.

Lots of thanks to all developers and supporters, who worked on their parts with a great amount of devotion and dedication. As always some important work takes place in the background, as some web space had to be obtained and the ecmspy.de domain had to be registered. Werner, the admin of the XBORG forum, provided us with all that and therefore I want to thank him sincerely. Lots of people unmentioned put efforts into the development and improvement of our little tool and I would like to express my gratitude. I wish and hope that all our work pays off and the EcmSpy project will be helpful for all it's users.
Gunter