I stopped into my local Ducati dealer a couple of days ago to check out what the newest technology has to offer. The salesman was explaining that the ECU's now have the ability to switch fuel/spark maps (hi/low). Pretty cool I thought to myself. Then another thought crossed my mind: why can't we (those of us with 1.6M ECUs) have the same thing?
Let's back up a couple of steps. I've been REing chips for the 1.6M computer for the last 1.5 years. Why? I like to see how things work. About nine months of that time was REing the UM222 chip. All this REing has showed me that there is room to add more spark/fuel maps, more code, etc. to the chip.
Now back to my original question. Why can't we have the same thing? Well because no one has made it.
My specialty is reverse engineering but I'm also a software engineer and can write code in many languages. One of those languages is assembly
I also have an extensive background in electronics. There isn't much I can't do when it comes to software/hardware and electronics (thank the US military for this ability).
My question I pose to you all, a brain-storming of sorts, is if you could design the ultimate 1.6M chip what features would it have?
A couple come to my mind immediately:
- multiple fuel maps
- multiple spark maps
- ability to disable trims (all of them or certain ones)
Surely there are more but those come to my mind immediately.
How would these features be enabled? The only way it could be done (with what we have to work with) is via software/hardware. The software part would be contained in the chip. Passing a certain byte combination would enable/disable each feature. Just like you currently send $AA and then another byte to enable diagnostic tests you would send some other byte (say $AB) and then another byte to enable/disable the feature (maybe $AB to enable and $AC to disable). The hardware part would require the cable to interface to the ECU and another microcontroller (basic stamp would be perfect for this or the propeller) or software running on a laptop to send the necessary bytes to enable/disable the features (my open-source 1.6M ECU software could easily be updated for this).
All of this is easily doable and I've already started writing the code for multiple spark/fuel maps. I'm using my own '99 996S as a test bed.
The microcontroller used in the 1.6M ECU has full serial duplex capability. This means it can be told to constantly spit out bytes so that another microcontroller (or laptop via software) can get constant information from the ECU (like the UM222's 'bogus' bytes that are sent out when you try to connect to it). This can be used to create a digital dash. A microcontroller can be used to poll the data (or interpret the data being sent) and display that data to an LCD screen or in the case of Parallax's Propeller chip can be used to provide an NTSC signal to drive a monitor.
The possibilities are really endless. All it takes is the code to make it happen and any external hardware.
I'm curious to hear what you all would consider the 'ultimate' 1.6M chip.