This section is devoted to my automotive-related electronics projects. Many of my older projects reside on my MiniMopar Resources website, all of which are rather out of date and some are incomplete. I hope to have a chance to organize them soon, but that depends on how much time I have to tinker with them. All of my current projects are documented here.
Mopar ECU Calibrations
- Blueberry – for 1987 Turbo II electronics, based on Geoff Allan’s “Blueberry” calibration.
- 1987 “Super 60” – based off of a very early (circa 2002) 1987 Turbo II calibration.
09/16/2008: Version 60.17 (based on “Blueberry60”) – Add timing back to AdvanceFromMapWarmFull so that retard window is from 2.5 – 10psi. Also add a couple of degrees before and after that. Scale FuelMonitorScaling down instead of up (duh) to try to match observed mileage. Set StartFuelCompBaro back to stock to try to address insufficient fuel at cold start. Change AdvanceFromRpms under 1500 back to original BB60.
07/07/2008: Version 60.16 (based on “Blueberry60”) – Revert ColdEnrichmentFuelCurveA back to stock since AIS changes seemed to address part of lean startup conditions. Remove more timing from AdvanceFromMapWarmFull to widen range down to -2psi.
07/03/2008: Version 60.15 (based on “Blueberry60”) – Increase boost goals/limits to 21psi. Fix lots of missing TBL entries and re-enable staging mod. Get rid of “2bar/3bar” table names to permit easier comparisons to Turbonator and stock cals. Revert AIS tables and FuelLeanoutFactorOffThrottle back to stock. Bump FuelMonitorScaling to compensate for observed fuel useage discrepencies. Retard timing between 0 to 15psi up to -10 degrees at 6psi in AdvanceFromMapWarmFull for improved turbo spool.
To use any of these calibrations, you will need to get the necessary equipment and modify your Engine Control Unit (ECU). There are basically two ways to go about putting a calibration onto an ECU. You can either use a socketed EEPROM (electrically erasable programmable read-only memory), which must be removed and programmed outside the ECU, or you can modify the ECU so that the EEPROM can be erased and programed remotely (“flashed”), which requires the necessary software and cables. The ECUs actually come from the factory with EPROMs, which must be erased with ultraviolet light. The ability to flash the ECU is especially useful if your ECU is a SMEC (single module engine controller) or SBEC (single board engine controller), which are located behind the battery and have electronics that are buried is potting material. If you have a logic module (1987 and earlier), it is located in the passenger compartment behind the passenger-side kick-panel and is not potted.
If you intend to use removeable EEPROMs, you will need an EEPROM programmer. If you intend to use EPROMs (which I sometimes do), you will need an EPROM eraser. I own a Needham’s Electronics EMP-10 programmer and a Datarase II EPROM eraser. If you plan to flash your ECU, then you will need a cable and interface, as well as somewhat more extensive modifications to the ECU. The interface is available as a kit from Chad Clendening. The modifications needed to flash a SMEC were documented by Graem Schmidt in his very useful document.
There is a nice variety of software forming around this effort. They are listed below:
- D-Cal – a very nice graphical calibration utility by Derek Beland
- ChEM – the original graphical calibration utility by Geoff Allan
- SMECFlash – utility by Chad Clendening needed to flash a SMEC via his serial interface
Obviously, some modifications are needed to your ECU to facilitate installing custom calibrations. If you plan to use the removeable EEPROM method, you will only need a 28-pin socket and some extra EEPROMs (or you can just reuse the EPROM you already have if you have an eraser). You will then need to desolder the EPROM from the ECU board and solder in the socket. If you are not skilled with a soldering iron, then I would recommend finding someone who is. The boards are double-sided and can be tricky to work on without damaging the traces. If you are planning to flash the ECU, then you don’t necessarily need a socket, but I would recommend one just in case the EEPROM gets fried. See Graem Schmidt’s document for additional details about the modifications needed to flash a SMEC.
For the socket, you should at minimum get a low-profile, machined pin socket such as Digikey ED3628-ND or A409-ND. Preferably, you should get a low-profile ZIF (zero-insertion force) socket, such as Digikey 3M2803-ND or A347-ND. The ZIF socket makes extraction and insertion much easier and safer for the chip and the ECU board, though probably isn’t necessary if you plan to flash. If you have one of the Mopar Performance ECUs, then you might get lucky as they are sometimes already socketed.
The EEPROM you need depends on the model year ECU that you have. The 1984 electronics are probably not suitable for custom calibrations. They apparently use bipolar PROMs (similar to PALs) and little has been done to understand them at this point (though that doesn’t mean it is not possible). The 1985-1986 electronics use a pair of 16kx8 EPROMs (one for the code and one for the calibration tables), but they do not have a hardware timer and it doesn’t take much to upgrade to the 1987 electronics, which were the best from the Logic Module era. These are the devices used on the various modules:
- 1985-1986 Logic Module: pair of 8kx8 EPROMs (27C64)
- 1987 Logic Module: 16kx8 EPROM (27C128)
- 1988-1989 SMEC: 16kx8 EPROM (27C128)
- 1990-1993 SBEC: 32kx8 EPROM (87C257)
The 27C/87C series EPROMs require an ultraviolet eraser to clear them. The 28C series EEPROMs are erased by the programmer itself. The 128 kilobit size has been obsoleted by most manufacturers but it can be replaced by the 256 kilobit parts, which have the same number of pins. Therefore, the part you want to get for 1987-1989 electronics is the 28C256, 150ns, industrial temperature (-40 to 85^C) EEPROM, Digikey AT28C256-15PI-ND. If you don’t plan to flash your ECU and have an ultraviolet EPROM eraser, you can get the 27C256 EPROM equivalent for about one third of the price (Digikey FM27C256QE150-ND). Since the 1987 logic module only uses half of the 256 kilobit part, you can connect the A14 pin (pin 1 on 28C256 or pin 27 on 27C256) to a switch that either grounds or raises it to 5V and program two, seperate calibrations in (i.e. street vs race or new vs previous cal).
08/30/2007: Version 60.14 (based on “Blueberry60”) – bump FuelFullThrottle point 2 down to 5800uS. Too lean during decel still, so move point 1 of FuelNoThrottle right and up 2 ticks to -14.2psi @ 10.00uS. Move ColdEnrichmentFuelCurveA point 4 from 58.8^F @ 1.19 to 58.8^F @ 1.21.
11/11/2006: Version 42.02 (based on “Blueberry42”) – this was an initial attempt to tune Blueberry42 for the Daytona with the same tune as the legacy calibration below. With winter approaching, this calibration was abandoned and the legacy calibration from the CSX was used instead.
09/28/04: Version 1.4 – had some mechanical issues that had me chasing my tail. Ended up undoing a lot of changes and putting them back. The accumilated changes include an unscaled AISBaroCompensation table, some changes to the AIS off idle position, changed all the boost tables to 21psi, took some fuel out of the fuel baseline, added some fuel to cold start table C, grabbed the non-MP no throttle fuel table and fine-tuned it to reduce exhaust popping and funny behavior in high vacuum, slight tweaks to starting fuel, and kicked the whole PEFTBL up by 10%.
06/29/04: Version 1.3 – added some advance on the in the mid and top end and backed-off on the high-boost advance. Put a tad more fuel in the PEFTBL.
05/25/04: Version 1.2 – extended the cold side of a fuel enrichment curve a bit further, as it seemed like it still wasn’t rich enough around 80^F. Also the RetardFactorFromBarometericPressure was scaled up again to try to cover the 0-2 psi range with a bit more spark.
04/30/04: Version 1.1 – extended the cold side of a fuel enrichment curve to hopefully address a slight instability I noticed during “cool” startup. It seemed like it wasn’t rich enough long enough.
Disclaimer: The projects described in these web pages may use dangerous materials, and components. This material is intended for advanced electronics experimenters only and may cause your vehicle to be suitable for off-road use only. The author assumes no liability for damages incurred through the use or misuse of the information provided herein. This information is provided "as is" and without warranties as to performance of or any other warranties whether expressed or implied. No warranty of fitness for a particular purpose is offered.