Jeep SBEC PCM tuning (91-95)

Yes it will allow data log. Not sure but I think the neon fcc uses a true flash device while the sbec requires 12v to initiate programming.
 
Success! Modified Jeep SBEC now flash programmable without removal(verified byte for byte, & running Jeep)... Now to reseal it, finish mapping the ROM, adjust for oversize injectors, adjust for 2bar MAP, fuel/spark in boost, & WBO2...
 
nice! How did you modify the SBEC? More details!!!!
 
Had to rewire one of the chips on board (cut two traces & three green wires), remove the old eprom and install my new eeprom. I can post how to do it if there's interest. This particular picture is of the test board I did first, I wouldn't remove that much of the potting if I were planning to reseal it. I did that just to see what else was on the board and be able to poke at it.

IMG_20171109_173257543_HDR.jpg


This is a 356 SBEC from a 94 I believe. Identified most of the tables in the code and about half of the code.
 
sweet! So are you flashing it via the SCI connection? If so, how do you invoke the flash routine?

Great work on figuring out the tables, do you plan on using Mptune, or just modifying the tables by hand like a bad ass? :)
 
My original socketed ECU is acting up. I spent several hours socketing another one yesterday. It appeared to have gone well but the damn thing is dead too. I wish I could just flash one of these things and be done.
 
I did figure out the interface for flashing the original sbec with the 32pin chips. I don't have one to test the software on though. Let me see if I can find one locally or I could send you one redone already & tested. I personally wouldn't socket the memory chip but solder it into the board directly so vibration wouldn't kill it. Also if the board had a 87c257 chip originally you need to use the bb latch board.
 
The 32 pin sbec's use 28f256's, which are flash programmable. The one I tried to socket yesterday had a 28f256. I'm not sure what killed it, I did a very clean job unsoldering, no broken traces, no lifted pads, no missing SMT components... I'm wondering if using a nylon brush on the thing caused ESD.. I wish I had just sent it to you..... :( The rom is fine, I can read it with my chip programmer. I even loaded the later ECU's code on the earlier board revision and the truck ran fine...

Went to the junkyard to grab another one today, but as luck would have it, i found a v8 SBEC-II but the 2 I6 93-95 jeeps there were already missing their computers...frustrating, but the search continues!

I did hack off the 60-way connector from one of the jeeps (felt bad doing it even though it would never see the road again), also grabbed a TPS with harness and a SCI port connector. I'm sick of plugging/unplugging for my truck to test. Probably going to build a bench setup as well. I read there is an arduino library that simulates crank/cam signals, so I'm super interested in trying that out, even if just for the fun of it.

It would be so awesome to just be able to flash the sbec boards without modifying them!!! I really hate removing the potting material and unsoldering. I'd be more than happy to send you a spare, once I get my hands on one or to assist with any testing you'd need help with.
 
Last edited:
So upon much closer inspection of the board, I found why it stopped working after the work I did yesterday, the soldering iron tip damaged 3 traces on the back side of the board. I discovered through some continuity testing. Luckily there were some nearby via's i could solder to so that I could reroute those traces. I did so and viola! the board works! I dont think i'd trust this board for other than bench testing purposes at this point though. I'm sick of getting stranded due to my soldering work. :)

That being said, if you want to borrow it to test your flashing routine on a newer, 32 pin SBEC-II, I'd be happy to send it to you. I also did confirm that the older 28 pin boards (which have a different board layout) for which my tune was written for will work with the newer 32 pin boards. I flashed over my tune and it started right up! Woot!

Let me know if you want to grab this SBEC for testing. My end goal here is to just flash a unmolsted SBEC and use that to run my tune. I can PM you my contact info if interested! In appreciation for your efforts, I'm going to work on mapping out all the memory locations for MPScan we can datalog/run gauges off of SCI.

Side note: it appears these boards are built with blank roms soldered into them. The back of the board has every needed pin routed to pads that are used to flash the rom while in the board. Pretty cool! I used these pads to check continuity to find my problem.
 
It's a bit more than just ckp/cmp. I sent you a pm btw. My sim will use 3 processors, 1 to interface USB, 2 to process I/o. Everything will be automated and measurable. (Using pic microcontrollers, 18f4550 usb, hadn't decided for the i/o yet, though I could probably do it all with just the 4550 but don't want have to worry about USB messing with timing signals)

As far as the programming of a stock ECM, my interface will do it, just some code change and a couple transistors. (Which can also be used for sci/drb comm) hadn't got to coding/copying it yet.

I plan on using a chipped sbec in my DD xj, but I'm soldering it directly into the board and repotting it to keep the elements out. The one pictured above is bench only for sure, though I wouldn't worry about patched traces if it's repotted since it'll keep the patches from moving around. If you notice, I've got wires soldered to traces.. aka green wiring(referencing pcb trace color). Potting compound isn't cheap though. If I had a flashable stock SBEC though, I'd go that route.
 
Last edited:
Thanks, I got your PM, I'll give you a ring later this week!

Question, now that I got a 60 way connector. I got the board to power up and respond via SCI. I'm trying to figure out how to bootstrap it. I apply 12v on the receive line along with the ignition on then remove the 12v. Trying to use Mptune to see if I can read or ID the rom. No dice yet. I do have a protection diode on the Rx line to prevent the FTDI cable from frying.

Should Mptune be able to read the rom out? Or is it not configured for Jeep SBEC-II's? It does seem to support the TIII Sbec-IIs, I cant imagine the hardware is too different.
 
That's correct procedure. I don't use mptune presently since I don't want to update my shop PC to use .net framework. I can email you my program but it's a work in progress and meant to use DTR in the com port to turn on the 12v on rx but will work without it. Also check if you have the wires backwards. Pink is rx. Green is tx.. that's from memory though. I'll double check when I get back to the shop. I'm also assuming you got the PCM power and ground wires correct. I can hear a high pitch sound from mine when it's on.
 
That's pretty brilliant using the DTR line to apply 12v, I assume youre going to use a relay or transistor to switch it on? I'd love to try out your program, I'll be your gunea pig!

So I am able to power on the ECU no issues, I got the power/grounds figured out and the ignition wire that turns the ECU "on" as well as Rx/Tx and Ground for SCI. I do hear the high pitches noises and I can communicate with it through SCI using MPscan. (I pull back battery voltage correctly using MPscan's DRB function).

I messed with it for a while last night using MpTune's reading/chip ID/flashing routine, I just dont know if the problem is that it's not bootstrapping or if MpTune's routines dont jive with our Jeep specific SBEC's. I should probably ask on Turbo-Mopar but I feel like Wowzer's sick of my n00b questions. Haha.
 
SCI_Prog - Google Drive

The link should work. Lmk if it doesn't. Download all the files (you really only need readme.txt, the exe, main.bin and dump.bin, the others work with BB board or one modified like mine with the at28c256)

Try it out. Let me know if it works for you. I'd be interested in a copy of your bin. I'm 3/4 done with the PCM bench simulator, then I'll be able to test out the cal I've been working on, though the basics are done (fuel, spark, etc), what I'm interested in doing is adding another fuel and spark map to handle boost, so I need far more than just average tuning for a stroker, etc. That's plainly possibly at this point. Possible future mod might be an auto tune on the fuel map, possibly knock sensor as well (assuming I can find a free input, I could make a separate knock detection board with a digital interface to the PCM to retard timing, but I'm getting off track and way into the future. {Heck, if there's enough code space, I could make it save the retard, which I'm pretty sure there's plenty of code space left, at least in my 356 cal, and removing non-essentials would free more.. }) one short term goal was to fix cruise control because it turns off if rpm changes more than 750 rpm because it's a manual cal & I have an automatic.
 
Thanks man! I'll download it and give it a spin tomorrow. I appreciate you setting me up with it. One thing that's got me confused is Rob Lloyd mentions you need +12v to flash on boostbutton (perhaps for his flash boards?) and then +20v to flash on a bunch of threads on turbo-mopar. The 28f256 datasheet mentions +12v to flash, unless I misread.

You got some interesting concepts for sure! I may eventually do a stroker or FI, so it's nice to know there's the option. Right now I just want to run the tune I have and also have a cal set up in Mptune to tinker with for fun/to learn. Those are my ultimate goals. Figuring out tables is above my head so I'm excited about your efforts. It's great youre so familiar with HC11 assembly. It really opens up possibilities. I'd love to see the cool stuff youre doing.

I was thinking about an knock sensor retrofit device this morning, but my solution was more janky than what you mentioned. So the DRB is able to retard timing up to 6 degrees total. Not sure that would be enough, but you can do it on the fly with the engine running/under load via SCI Bus. My idea would be to tie a knock sensor to a micro controller/MPSCILink of some sort that when it detects knock, it just commands via SCI using whatever command the DRB provides to retard timing. My idea is a ghetto-tastic solution but something that crossed my mind. Your solution seems way more elegant :)

Here are both the A/T cals I got from my socketing adventures.

Here's a 948 cal (50 state emissions) from a Late 95

https://www.dropbox.com/s/g4jnhit9ue...26948.BIN?dl=0

here's the older 310 cal (fed emissions) from a early 93

https://www.dropbox.com/s/f0m5ja79bz...0jeep.BIN?dl=0

I'd be curious how much is similar to the 356 cal. Let me know what you see when you get a look!
 
I actually ended up writing a program to find the 3d still have to go through the code to find out what data feeds them, but when I get it opened up I'll see if it's similar. The 781 cal reuses just about everything byte for byte from the 356 but locations are different. I'm considering creating a pattern matching disassembler later on to try to automatically process new cals and could also use any multiple sources to compare..

About programming voltages:
12v bootstrap (only used at power up)
20v program stock ECU, applied after sending data, until write competes.
My EEPROM modification doesn't require program voltage.
 
Sweet! I was able to bootstrap the ecu finally and get it to dump a bin with your program, worked a charm.

The only thing is I didnt have a protection diode so it was a bit tricky swapping the voltage for the Rx pin but I did get it after many tries. To protect the Rx line from the 12volts, I need a zener diode and a resistor right? What value resistor do would I need?

I did try to upload, it seemed to just hang when trying to send data.

I'd love to get this thing to program a stock unmodified sbec. Once I get the protection on the Rx line I'll mess around with the 20V for programming.
 
What I would do is similar to the schematic in the readme file. Use a pair of fets to activate program voltage and disable tx. I'm not sure if the ftdi board has DTR and RTS or not. Yes you could use a resistor and zener for interface protection. It will just hang in program mode because it expects a reply from the EEPROM chip I'm using in mine. I'd need to alter both the program and the code it downloads to the SBEC in order to do the stock flash module. I'm glad it works on more than just my setup to dump at least.
 
Last edited:
I think the FDTI cable has RTS and CTS, but not DTR. I'll try to see if i can build the setup schematic, would be cool to try.

Ultimately it would be great to flash a flashable stock ecu. You cant beat an unmodified ECU for reliability IMHO.

If youre willing to take on the coding to get stock ecu's working, I'd gift you a flashable SBEC II for your troubles, I'm watching the local boneyards for some. :)
 
Sure, just wait to build it til I test it out.. that or I can fab a second one when I get it ironed out and just mail it to you. The patent outlines what's necessary, basically send a data block, activate prog volt then wait till the PCM reports programmed those bytes, turn off volt, repeat till finished. I forget what each control line is without looking but DTR/RTS is one side and DSR/CTS is the other side. (Goes back to days of terminals and computers, where one is DCE and one is DTE, which signifies if it is input or output on certain pins, but for my purposes, as long as there are a total of 2 output control lines(should have RTS/CTS & DSR/DTR), it will work, but if it doesn't I have USB microcontrollers I've been using for my interface and sim).. I've got the board nearly complete for the Sim but need to write up the code now (50% done). I'm about ready to do it in stages (ckp/cmp, verify its "running", add map/tps, verify, add CTS/IAT, instead of doing it all at one time and troubleshooting everything at once) at least I've got the interface working to simulate a drb so I can use it to verify the CTS, IAT, TPS, MAP, RPM. Plus that lets me verify code in the SBEC by seeing the code used to send it to drb a which gives me verification that I've got the memory correctly labeled, which in turn verifies my identification of the code routines.

So no, I'm not just recalibrating the PCM for different cam, displacement, etc, but reengineering it to alter the inputs and calculations to accommodate the 2bar map and boost.

@Mac5005

Retuning fuel and spark is very much capable at this point. I just want to verify it works properly before pushing it out the door. (Thus the Sim, which can handle full fuel at idle and lean fuel at high rpm. And still run. Without blowing up. Oh and over advanced timing that would put a rod out the block.) ( Which I will probably do something silly like that because it's easier to see than a minor change, for diagnostic purposes)
 
I'm also considering a service similar to boost buttons to modify the ECU to be flashable, as well as the interface if there is interest. Not that I'm going to bother advertising.

I'm not really interested in tuning other people's stuff, more so than sharing the tools that I create to enable others to do it themselves.

If I do not use mptune to tune the PCM, I will probably go through and design my own (in Windows, unlike the dump/program app I posted) and easy to use but I'll probably charge a little bit for it, but only for the sheer time and effort involved in creating it... Though I may release it for free. It will be open source for sure though. Please Note: open source doesn't necessarily mean free. It would come with a licensed copy, IF I decided to sell it and not give it away.. maybe give away free with a donation request and stay closed source? I doubt most people would have any interest in the source anyway.. (unless they are like me and like to poke around and make things work how they want them to instead of how the person that wrote it thought it should.)
 
I'm also considering a service similar to boost buttons to modify the ECU to be flashable, as well as the interface if there is interest. Not that I'm going to bother advertising.

I'm not really interested in tuning other people's stuff, more so than sharing the tools that I create to enable others to do it themselves.

If I do not use mptune to tune the PCM, I will probably go through and design my own (in Windows, unlike the dump/program app I posted) and easy to use but I'll probably charge a little bit for it, but only for the sheer time and effort involved in creating it... Though I may release it for free. It will be open source for sure though. Please Note: open source doesn't necessarily mean free. It would come with a licensed copy, IF I decided to sell it and not give it away.. maybe give away free with a donation request and stay closed source? I doubt most people would have any interest in the source anyway.. (unless they are like me and like to poke around and make things work how they want them to instead of how the person that wrote it thought it should.)



On grand cherokees, a vast majority of them are already flashable since most were built during the end of SBEC-II production and use. Probably not so much on the YJ's though since those are built earlier, but I would think the grand cherokee ECUs would be interchangeable.

From what Ive seen on grand cherokees is only early 93's are not flashable. I'd be more than happy to pay you for a license on anything you put together and I think your ask is more than fair given the amount of skill and time is needed to make something like this happen.

It's awesome are building a sim to really put the code through its paces as well. There's a similar type of effort over on the M3 forums (my other car). A few very skilled individuals completely reverse engineered the e46 m3 ECU and wrote alot of software that makes tuning, modifying, changing the throttle mapping, and enabling/disabling a bunch of features very easy for the layman. They sell their software with a nominal license fee and I think everyone in the community is pretty happy to pay for licenses to be able to use that stuff. That particular ECU has a write lock (can be flashed 25 times and then its locked) and someone figured out how to get around that, it was a huge deal when that happened because up until that point, you can only tune a m3 ecu so many times.

Right now I think there's 2 people in the country that can modify/tune/know SBEC-IIs for Jeeps. Both require working directly with them, and with all due respect to the work they have done, it's somewhat difficult to work with them and its more or less completely a black box. Being that SBEC's are such a older platform, I'd wager to say they'd rather spend their time on something else. Opening up the ability to tune these ECUs, to the "masses" I think would be really great. I think the turbo-mopar guys are interested but since none own a jeep, its not really much of a priority.

One question for you, I've read alot of the tuning wiki over on boost button, since youre familiar with the Jeep SBEC code, is our code similar/identical to how the passenger car SBEC's work? (e.g. pumpshot, acceleration enrichment, pumping efficiency etc etc etc)

faq [Turbonator Tuning Wiki]
 
It's pretty different from the tm stuff. It's similar to the newer tm sbec2 but that isn't documented in there. I'm thinking about drafting a document on how it works, once I've completed going through the code. The biggest difference is that the pumping efficiency table is included in the fuel map, and that the fuel map is 3d, inputs are rpm and map. I haven't fully gone into the throttle enrichment yet, so that isn't adjustable yet, but the fuel and spark map are.

Is your grand an automatic? Yes the yj,xj, & zj ecm will interchange.
 
Back
Top