New J&S soft

John Pizutto, the designer of the J&S has made new software available to upgrade the units, based on findings of both me and Ross Kuhns.   We did some testing and John liked our feedback so much that he decided to make the necessary changes to the software.  

BTW, this is for the old style J&S (black case).  In the mean time, John has developed an entirely new J&S (blue case) that already has this software.  If you have one of these, there's no need to have the upgrade done.  If you still have the old style J&S, I urge you to get the upgrade!

Below is an overview of the how and why.  If you don't want to read through the entire page (the emails between John, me and Ross) scroll to the bottom of the page.


Here's a very nice message I got from John at J&S. Wow, talk about a vendor willing to work to make a better product! He's in the Bill C realm here. I'm going to send him my early model J&S unit after my SCCA autox this Sunday to get it modded and see how it works/evaluate. I've traded a few emails with him, I'd like the input from more knowledgeable people...what would be the ideal set up that he could run for all miatas? 10 or 20 degrees total timing out? He can mod mine to do either.

What else would you add/delete from the list?

Input is appreciated!



(*Tom Graham sent it to SCCOR I believe, he said Dick Bipes (of MSD Bipes mod fame) was excited enough to offer to stop doing his mods if it works.)

Dear Ross:

My name is John Pizzuto. I am the designer of the J&S SafeGuard knock control unit. I finally got Internet access last month and started reading the posts on the Miata forum. I see that some people are having trouble adjusting the sensitivity on the unit. We have been selling to the Miata market since late 1994. I'm distressed that some have apparently disconnected the unit. These are my babies. They are all "designer built" (I solder them myself). I also read about the "Bipes" mod to the MSD. Since the SafeGuard uses a Motorola 68HC11 micro controller with EEprom, it allows for program modifications.

1) Customer can now specifiy minimum RPM to begin listening. It is presently set at 1250 RPM. I saw in a post from Bill Cardell at Dealer Alternative that 3800 RPM would be his minimum.

2) Help out the knock sensor by taking out some timing before the engine starts knocking. Apparently, it takes more retard to make the ping go away than it does to prevent it in the first place. This phenomenom is called knock hysteresis.

Beginning at 4500 RPM, the new software retards one degree per hundred RPM until a maximum of six degrees is achieved at 5100 RPM if the Mass Air Flow voltage >TBD on a 1.8L, or <TBD on a 1.6L. (TBD means to be determined). This could be specified by the customer, or we could use the existing enable voltages of >2.75 volts for a 1.8L or <0.8 volts for a 1.6L.

The beta version of this was designed for a Subaru Imprezza. I used the throttle position sensor instead of the mass airflow meter. The TPS RPM Retard Enable has a soft turn on. It interpolates the RPM retard amount as the throttle moves between 2.3 volts and 2.5 volts.

case 1: RPM>4500 and TPS<2.3 volts = no RPM retard
case 2: RPM=4600 and TPS>2.5 volts = 1° retard
case 3: RPM=4700 and TPS>2.5 volts = 2° retard
case 4: RPM=4800 and TPS>2.5 volts = 3° retard
case 5: RPM=4900 and TPS>2.5 volts = 4° retard
case 6: RPM=5000 and TPS>2.5 volts = 5° retard
case 7: RPM=5100 and TPS>2.5 volts = 6° retard (max)
case 8: RPM>5100 and 2.3 volts<TPS<2.5 volts = retard varies with throttle from 1° to 6°

3) To prevent over retarding, we can reduce the maximum retard amount per ping from three increments to two increments. In the ten degree range mode, each increment is one degree. In the twenty degree mode, each increment is two degrees.

If we set aside the specific trip points for now, what do you think of these additions? If you like the idea, what settings would you like to see on your unit?

I'll re-program yours for free in exchange for your evaluation.

This should allow users to delete the MSD with Bipes mod, and hopefully smooth out the power curve on the dyno.

Since there are a few hundred units out there, I would have to charge a $25.00 shipping and handling fee. Turn around time should be an hour or less, unless each customer wants a different set of values. I don't know how easy that will be. It would be nice if we could come up with settings that most would be satisfied with.

From: "John Pizzuto" <

To: Ross Kuhns <

Subject: Re: J&S software mods

Date: Mon, 10 Jul 2000 18:54:13 -0700

Ross: With the exception of the 10°/20° range switch, I can add this to your old unit. The old ones are fixed at 20° of knock retard. If you want, I could fix it at 10° max control range. Remember, the RPM retard function is in addition to the knock control amount.

I designed the new ones so that switch number 1 is the 10°/20° range switch.

The software control strategy retards one, two, or three increments per ping, based on how big the detector thinks the ping is. In the 10° range, each increment is 1°. Double that for the 20° range.

At the same time, it is constantly trying to re-advance at the rate of one increment every twenty revolutions.

Let the word go forth. I have been holding back posting this info to the forum, thinking it was bad manners. Then I saw the post(ad) from Shiv and his TEC-II a few days ago. I decided that if I want to keep selling to the Miata guys I need to let them know about it.

I'm still new at this, so I think it's cool getting emails

John and Shirley Pizzuto

J&S Electronics


From: "Steven Searle" <

To: "Ross Kuhns" <, <

CC: <

Subject: Re: J&S software mods

Date: Wed, 12 Jul 2000 18:33:48 -0600


This is a great idea. I hope it can be done to the really early units (mine's about three years old). At the very least, it will allow me to run more static timing (currently I'm at 6 degrees BTDC).

Here's my two cents worth:

Leave the range at 20 degrees. On some days, my J&S is removing 14-18 degrees of timing.

I'm not sure what the best 'trip' rpm would be - probably at the onset of serious boost. To be safe, say 2,500 rpm. Others may know better.

The existing enable voltages should be fine, I would think.

Boy, I'm excited now. Congrats to John on his new 'surf'board. I remember talking to him several years back about how he should get a net presence. Now we'll all reap the benefits.

Steven Searle



Thanks for the input! Wow, taking out 14-18* is quite a lot. Are you getting any over heating with that?

How about your air fuel ratio? Do you have a monitor?

My 4.1 turbo used to take out that much timing my first summer, I was running lean.

I'm at 10* static timing running 1.8 injectors and a Walbro pump (it runs rich) but the J&S shows one blip now and then, I use the extra fuel to cool.

As to the start monitor rpm, I don't know what's best. Your Greddy probably makes boost a bit lower than my turbo, it's a pretty small turbo as I recall. I think I'll try to get Corky direct, see what he says.

I'm thinking trip at 3,500 rpm's, start taking a degree per 100 rpm's at 4,500 until 6degrees at 5,100 (as John suggested) that should stop that lean spot all the non FM ECU'd cars seem to hit at the hp/torque cross.





Subject: FW: miata j&s software mods

Date: Fri, 14 Jul 2000 03:18:34 +0200

Here's some thoughts I had with John on the subject, what do you think? I don't know if the dips can be reprogrammed, but with the MAP, there's no need for the 2dips which set 1.6 or 1.8, so this leaves room for 2 possible parameters with 2 settings... for example number of max RPM retard (6 or 10 or so), trip RPM (3500 or 3800 or so), start RPM retard (4500 or 5000 or so)... or 1 parameter with 4 settings


Wow Frank, didn't know there was a MAP possibility. That sounds idea, albeit, on the edge of my ability to deal with.Are you going to do some testing of your airflow meter voltages?

I'd like one of the switches to be able to switch the unit between 10 and 20 total degrees timing (one light is either 2 degrees or 1 degree) I'm not sure what would be the best one for me, and a dip switch option would be nice.

Max retard options would be nice too. Either a total 6 or 10 degrees as you suggested sounds usable.

I know John wants to come up with one mod he can do for all the systems, simple and effective. From a marketing standpoint, that would be the best. I'd wager the majority of users don't really know much about the J&S, so giving them many options that they know nothing about generally just confuses customers and makes trouble. But that's the marketing person in me, I'd just like some boost induced retarding for now.


Stay in touch,







Subject: miata j&s software mods

Date: Wed, Jul 12, 2000, 2:32 PM


Hi John,

I am VERY interested in the mods you discussed with Ross Kuhns. I only wish you had thought of this earlier as I bought an msd about 4 weeks ago ... together with the Dick Bipes mod. I just installed it last weekend, in series with the J&S. Oh well, we can't win them all, can we....

Anyway, I would still prefer to use the J&S as the sole ingnition module so I'm glad you are willing to reprogram the units. I suppose I can always try to sell the modified msd. The only thing I'm worried about is delays ... 

<snip> private part of mail </snip>

... so can you give me a *realistic* turn around time and of course the costs involved (including shipment)

Frank Devocht


<snip> private part of mail </snip>

Where do you want the RPM turn on point to begin listening? It is currently set at 1250 RPM. It's easy to change. The RPM retard turn on point starts at 4500 and maxes out at 6° 5100 RPM.

If you need different points and amounts, email me so I can change the code for your unit before it gets here. We don't want another accident.

Thanks for using our unit

Ship by mail to:

J&S Electronics
P.O. Box 2199
Garden Grove, CA 92842-2199

or by UPS or FedEX to:

J&S Electronics
13925 Parkway Dr.
Garden Grove, CA 92843

John and Shirley
J&S Electronics


Thanks for getting back to me so quickly, and for offering to do the mod free of charge. I really appreciate it. I'm going to finetune the 'bipesed' msd this weekend and I'll just use these settings for the J&S. I think the 4500 starting point would be about right, but I'll let you now the exact numbers.



Yet another question. Would it be possible to make the unit 'see' boost? I mean, when there's no boost, there's no need to take out the preventive timing at 4500 up rpm. Suppose I wasn't using much boost and going into the high revs, the unit would take out timing unneeded. Actually similar to an unmodified MSD. I was already planning to put a 4psi pressure switch into the MAF voltage wire, so the device doesn't take timing out under 4psi, but this wouldn't prevent it from taking out it's programmed timing ... or could you program the unit so it doens't take out any timing when the MAF wire is connected to 12V (in case of my 1.6), not even the 4500 up rpm timing?



That's the way I designed it. The RPM retard is modulated by the throttle position sensor. I know you don't have one, but bear with me while I explain it.

I originally did this for a Subaru project turbo for Sport Compact Car Magazine. I designed it to start taking out 1° of timing per hundred RPM and max out at 6° at 5100 RPM. That car uses both a hot wire mass air meter and a throttle position sensor. I got the same thought that you did, so I guessed at what would be a good turn on point. I decided somewhere in the half throttle range. If the TPS is greater than 2.5 volts, then you would get the full calculated RPM retard. If the TPS was less than 2.3 volts, you wouldn't get any. If the TPS was somewhere in between, then you would get a proportional amount. For instance, at 2.4 volts and above 5100 RPM, you would only get 3°. And at 2.35 volts above 5100 RPM you would only get 1.5°. Etc.

The Miatas only have an airflow meter to work with, and on the 1.6L it works backwards. The voltage decreases with increasing airflow. The code that I translated over to the Miata software doesn't have the modulation effect. It's either all of the calculated RPM retard or none. I have it set to allow RPM retard if the air flow voltage goes below 0.9 volts. That is also the point that I allow the unit to start listening for knock. I don't have any data on the airflow meter. That's just a number I picked a few years ago doing tests in customers cars. If you want a different turn on point for either the knock

retard or RPM retard, let me know. I'll try to make it proportional if I have time before your box gets here. It might be a little tricky. Let's say it begins at 0.9 volts and is maxed out at 0.6 volts and is porportional in between. I should be able to invert the numbers or something like that.

Any more ideas? You might think of something I haven't. You could also install a 2 bar MAP sensor. I just bought one the other day from the GM warehouse for another project. I paid $47. I have the mating connector, too. It requires 5 volts and ground to make it work, and puts out an increasing voltage with boost. 0 psi is somewhere around 2.5 volts. I have the data somewhere. To steal 5 volts from your unit, I would have to carve through the epoxy with dental tools. I could also piggyback a 5 volt regulator to the circuit board and have three wires coming out to the map sensor. Then you wouldn't need to connect to the air flow meter with the yellow wire. You would be reading boost!

Thanks again for your interest
John and Shirley
J&S Electronics

yes, problem is that the miata's TPS is only a on-off switch at WOT ... to bad. Don't think it would be possible to fit a real TPS, would it?

I haven't really thought about what would be the best way to trigger the device. I wonder what the AFM signal would do if I were to go uphill WOT at low RPM in a high gear, something which can induce knock, but might not activate the J&S because the AFM isn't wide open. Or suppose I'm cruising at high speed. Then there's no need to activate the J&S, although the AFM might be wide open. These are just a few reflections, I don't know if the AFM really reacts this way. It might just work perfect.

None the less, I think it's a better idea to use the GM MAP instead of the AFM signal. This provides a whole range of possibilities!

You could program the unit to activate RPM retard at 0psi and take out 1° for every pound of boost, up to 6° or so, with RPM above 3800 RPM ... and activate knock retard above say 4psi or so. And then there's the 1.6 / 1.8 dip switch I could use for some other function, right? ... wow ... I *really* need to think this one over carefully!

I'm gonna do some testing ASAP!



Software reads switch four to select 1.6L/1.8L mode. New software could free it up if you were to specify 1.6L or 1.8L.

Software could read switch three. Right now it is only used for the self arming mode. Switch three is connected through a 150k ohm resistor to the A/D converter pin that measures the mass air voltage. If the mass air wire is not connected and the switch is up, the A/D thinks it is max airflow. Ditto if the switch is down. Remember the mass air meters work backwards from each other between a 1.6L and a 1.8L.

I have been going over my RPM retard code, and I think I know what I need to do to change the start/stop points and the amount. I am working on a version for Dick Bipes that starts at 3500 RPM and maxes out at 8° of retard at 4000 RPM.

I don't think I want to get into coding a bunch of options. Tell me what you want and I'll see what I can do. I can't donate all my time, though.

John and Shirley
J&S Electronics


Yet another question: what is the difference in software/possibilities between the old units and the new ones? I've read something about setting max retard or so?



I haven't gotten a reply from John yet on the subject of the dip switches. So I don't know if they are hardware of software programmable.

I think I'm gonna have my unit custom programmed to accept the GM MAP. None the less, I'm gonna do some testing with the AFM voltages. Maybe it's possible to use it after all instead of the MAP... saves me $47 to spend on some other miata goodies :-)

I'll let you know how I get on ... in the mean time, I hope I get a reply from John.




The old units are fixed at 20° max retard. Switch 1 on the new units controls 10°/20° selection. I can make yours either, but not both. Switch 1 on the old ones is used to erase the program prior to loading new code.

John and Shirley
J&S Electronics

Hi John,

I've been thinking about your soft a bit more and I've come up with some more questions. I hope you don't mind all my boring questions, but I just want to fully understand the way the unit works to be able to give you the best possible feedback. I've been playing around with the J&S for a while now and I'm just trying to help you improve the product.

My old style unit can take out a max of 20°. Does this include the preventive timing of, say, 6° (so only 14° left when detecting knock) or is it capable of pulling out an extra 20° on top of the 6° it already pulls out, with a total of 26° ... if so, I think that's a bit too much ... I don't think someone is ever gonna need it. So I suggest to subtract the preventive timing from the max retard. Thus, with a preventive timing of 6°, the unit can only pull an additional 14° with knock. On the new units, I suggest you do the same, in 10°mode, it can only take out an additional 4° of timing under knock. The monitor would indicate the preventive timing taken out, so that the full scale amount of the 10th led is still 20° (or 10°)

Am I correct in thinking that in 20° mode, the unit always takes out 6° per ping? (3increments of 2° in 20° mode) and that in 10° mode it takes out 3° (3 increments of 1°)?

I think this might be too much at the time. Like you already suggested, 2 increments are more then enough IMHO.

To summarize, this is what I've been thinking of for the new software:

1. start listening from 3800 rpm up only, at Bill's suggestion.
2. on the new unit there's a dip to select 10° or 20, right? At 10°, make it take out 6° preventive timing and in 20° mode make it take out 10° preventive timing. This starts at 4500rpm with 100rpm increments. Although, this 4500rpm might be a bit too high in my opinion. I would need to do some testing to figure out the correct number.
3. when there's a ping, make it take out 2 instead of 3 increments.
4. enable the soft start option like the impreza, depending on MAF voltage. I'm willing to do some testing on my 1.6 to give you numbers. The 1.8 numbers would have to be provided by somebody else... maybe Ross Kuhns has a 1.8

On MY unit (ahum), could you reprogram all of the above + reprogram switch four to select 10° or 20°? Would my unit then be exactly the same as the new ones?

I especially am interested in point 4, the soft start thing. For my unit, I would connect this to the GM MAF you mentioned. That way, I can fine-tune it according to boost by using a voltage divider in the yellow wire. Correct? If this is possible, am I correct in thinking that although I have a 1.6, it would have to be permanently set in 1.8 mode (enabling the unit >2.75V what coincidentally is about right to have it activated only when the GM MAF detects boost, because the GM MAF gives 2.5V @ 0psi)

Again, sorry for asking so many questions, I *really* appreciate you answering them.

PS, I hope I explained everything ok, it's hard to express yourself in an other language ...

Frank Devocht

Good stuff Frank, keep it coming. Here is an email from Dick Bipes that he sent to the SSCOR and John. I think he's right, and you made reference to it, getting full retard by the typical miata lean spot around 4-5K is GOOD.

I still have to go through your email. Pulled my J&S last night, it's ready to ship.


*I have a 1.6 engine by the way!

From: "Dick Bipes" <>
To: "John Pizzuto" <>, <>, "Tom Graham" <>
Subject: Re: SSCOR Fwd: J&S software mods
Date: Tue, 11 Jul 2000 21:35:44 -0500

John, welcome to SSCOR! I'm the Bipes MSD mod guy.

Although producing the Bipes mod has been a fun hobby business, I'd be happy to go out of business if a better product at a reasonable price were available. I think a better product would combine the 2-dimension (RPM and boost or throttle) 'preventative' retard of the Bipes MSD mod plus the safeguard knock sensor capabilities of the J&S. Throw in the adjustment capability of the new JR or the Split Second, and you'd have a winner in my book. Yup, even I would buy one!

From you description, it sounds like you have the platform for this better product, and given the capability the price would be right. Here are my suggestions.

1) Definitely inhibit retard at a higher RPM than 1250. Based on my experience, I would recommend you start to allow some retard at 3500 RPM and allow full retard at 3800 or 4000 RPM. The Miata engine appears sensitive to knock at 4000-5000 RPM, so I think you want to enable full retard in that range.
2) I agree that you want to take out timing before knock happens. I like the idea of programmed retard based upon RPM and boost (or in your case throttle opening). For the Miata, I think you need to lower the RPM curve from the Subaru scale. As I said above, I think we Miata folks need to begin retarding at about 3500 and have full retard by 4000 RPM.
3) You should consider providing some user adjustment. I think this is necessary because of the many variables (engine, carbon buildup, base timing, amount of boost, octane) we SSCOR folks are introducing. I would suggest that if you have only one user adjustment that it be the maximum amount of programmed retard. (You would interpolate programmed retard values per this maximum.) This value should be >6 degrees (maybe 10 or 12), to accommodate those of us running higher boost. We want to set our base timing to 10 or 12 or even 14 degrees, and to do so we need to program out more than 6 degrees when under boost or WOT at more than 4000 RPM. (For example, I'm presently running 8 psi boost, and have backed off to 10 degrees base timing with my MSD pulling out 6 degrees. If I could pull out 8 degrees total, I'd set by base timing back to 12 where I had it. We want that base timing advanced to get that low-end torque.)

Do you have a spare analog input to that microprocessor? If so, then the only additional hardware required might be a potentiometer. If the Miata volumes aren't big enough for you to mess with this, would you consider permitting someone like me to provide an add-on box to mate with your analog input? There's got to be a way to do this!

If you can accommodate a second user adjustment, I would suggest that it be the RPM set point for inhibiting/allowing retard. But the most important and only required adjustment in my view is the maximum amount of programmed retard.

4) I'm not knowledgeable regarding the amount of timing to retard per ping, so I have no comment.

John, if you can modify your software to add the programmed retard you described per the set points we need, and accommodate the user adjustment that I described, I think you would have the best product available, hands down. As I said, I myself would like to add a few more degrees retard and add the protection of a knock sensor (I've already experienced a couple of bad tanks of gas). I have a microprocessor development system in a box behind me (waiting for winter and some time!), but if you could do this that box will stay on the shelf. (Can you tell that I'm excited?)

I've included the SSCOR in this reply because I think many of the members will have good comments to add. Of course you can also contact me privately if appropriate.



The programmed RPM retard is in addition to whatever knock retard there is. The way it's programmed now, it doesn't show up on the display. I'm beginning to like what you're suggesting about making the programmed amount part of the total and visible on the display. It means throwing out the code that I just wrote, though.

SECURITY ALERT!  SECRET INFORMATION TO FOLLOW: On the first ping, the knock controller retards EITHER one, two, or three increments, depending on how big IT thinks the ping is. In the 20° mode, that would be 2° or 4° or 6°. As it gets farther and farther retarded, the software decreases the amount until it's only one increment per ping.

No problem to make it start listening at 3800 RPM or wherever.

If you are going to use a GM MAP sensor, your unit would have to be programmed to be a 1.8L. That would free up switch #4 for 10°/20° selection. Using a voltage divider on the GM MAP sensor won't work. It would change the onset as well as the amount.

Don't worry about your English. I didn't know you spoke another language.

Still working out the rest of your suggestions.

John and Shirley
J&S Electronics

Oops, sorry that I'm asking you to rewrite the code ... it's just suggestions ...

I don't understand why I can't use a voltage divider. Suppose the GM MAP gives 3.5V at 3psi boost, I could lower that voltage to <2.75 so that the J&S won't be activated, no? I don't understand what you mean by 'onset' and the amount.

I can't comment on the secret information part. It's to fuzzy for me to figure out how IT determines how big the ping is. I trust you now pretty good what you're doing. I suppose the sensitivity knob has something to do with it. The 1,2 or 3 increments sound pretty good.


John, something to keep in mind also when programming the unit is the fact that the unit will be used on both turbo engines and superchargers. So it might not be a bad idea to have an adjustable RPM where it should start listening. Fact is that the Sebring supercharger at 6psi boost generates a higher intake temp than a turbo at the same boost. Even an intercooled turbo at 9-10psi would generate lower intake temps. What I'm trying to say is that a turbo would typically have a higher start point than a supercharger and would need to have more timing taken out then a turbo...

OK, I'll try to shut up now untill you've got it all worked out.  Let me know how you're gonna do the soft.


Intersting stuff Frank. I can't decide whether to program the unit for 10 or 20 total degrees...I've seen it go well into 16-18* total timing being taken out (my unit works very well, I recall you've had some problems). But all that timing out was back when it was running lean, now it runs too rich, but little J&S interference.

So 20 degrees would be better protection, but I have it going pretty well now, 10 degrees would be more desirable.

What's the soft start option like on the impreza?

Oh, if you really want, here's SSCOR info...just in case. I know what you mean about the powerlist, I'd love to get an ECU one of these days and know what they're talking about! My friend Tom Graham subscribes to both lists, and more, but he lives off his inventments and has lots of time! Seems to be some worthwhile discussions there.

take care,

*your English is fantastic, originally I had thought you were an expatriot :)

site is



All depends on which boost levels you're running of course, but with 6° preventive timing already taken out, I doubt that you'll need another 20°. As I understand it, the preventive timing is NOT part of the 10/20°, but on top of it. So, at the 10° setting, you'll actually have 6° + 10° retard possible which is more than enough I think.

My unit is also taken out 16-18°, but since there's the hysteresis problem, it's actually taking out too much timing. With the 6° preventive timing already taken out, you'll have less ping already. So if figure you won't need an additional 10-12° to take out when the unit detects ping.

Of course, I have no hard data on this, it's just what I *think* (or hope :)

I suggested him to make the 6° part of the total amount the unit can retard, and that you can also see it on the display. In that case, it would be a good thing to have a 20° range after all. The 10° option could be a bit too little in that case.

I suggested to John to free up dipswitch four to select 10°/20°. He said he could do it. This would of course mean he has to program the unit to work on a 1.6 only, but to me, that's of no concern. You might consider doing the same. But than again, it might be better to use the 6° + 10° mode and use the switch for an RPM setting.

There's so much things to take into account and that's why I'm not rushing into things. I want to think this over very carefully before deciding what I want.

The soft start option, John has explained in one of his first mails. I'll include it here:

The beta version of this was designed for a Subaru Imprezza. I used the throttle position sensor instead of the mass airflow meter. The TPS RPM Retard Enable has a soft turn on. It interpolates the RPM retard amount as the throttle moves between 2.3 volts and 2.5 volts.

case 1: RPM>4500 and TPS<2.3 volts = no RPM retard
case 2: RPM=4600 and TPS>2.5 volts = 1° retard
case 3: RPM=4700 and TPS>2.5 volts = 2° retard
case 4: RPM=4800 and TPS>2.5 volts = 3° retard
case 5: RPM=4900 and TPS>2.5 volts = 4° retard
case 6: RPM=5000 and TPS>2.5 volts = 5° retard
case 7: RPM=5100 and TPS>2.5 volts = 6° retard (max)
case 8: RPM>5100 and 2.3 volts<TPS<2.5 volts = retard varies with throttle from 1° to 6°

I would like to see something like that implemented with the AFM voltage or GM MAP which leaves yet some more room for individual settings. John said he COULD do it, but he has not clearly stated that he WOULD do it. Is he going to do that with your unit too? Now, it enables the unit when the AFM voltage is <0.9 volt.

I don't have time to check the voltages out this weekend (going on weekend trip), but I'll do early next week or so.

On important thing is the difference between AFM voltage and the GM MAP voltage. The first acts as a 1.6, and the latter as a 1.8 so he has to take that in account when giving up dipswitch four.


Hi Frank,

Oh, I was understanding it the other way, that the 6* was a portion of the total 10 or 20* taken out, I probably need to re-read.

I'd like adjustable rpm control (and have the unit set for a 1.6 and 10* total) but more adjustment than just 2.

John posted this in miataforum when somone asked about adjustable rpm:"Silverstreak: I'm open to suggestions. It might not be a bad idea to have an adjustable RPM and amount like you say. The only problem is I can't seem to make a potentiometer appear with software."

I've got my unit out, ready to send, it doesn't sound like John is having any luck with the miata tps.

Have you gotten any further?


You best ask John about the timing, you might be correct ...

Anyway, I'll put it this way: 10° TOTAL timing seems a bit too little to me.

I don't think it's possible to have multiple rpm settings ... only thing he can do is to use your dipswitch 4. That's what I'm gonna have him do on mine.

Gonna try to do some testing with the AFM tomorrow (Sunday). I doubt it that John is gonna implement the soft start thing though.


Hi Ross and John,

I just did some testing of the AFM voltage. I don't know if my readings are representative for all 1.6 cars, but this is what I have found on my car:

BTW, I have my base timing at the factory 10° and outside temp is 20°C (68°F). I have tried to induce knock at various speeds and various rpms/gears. I found that when knock occurs, it's always at voltages well under 0.60V. I was not able to induce knock above 0.60 volt. Since things are happening really fast when knock occurs (boost and high rpm) and since the typical DVM is rather slow (3 readings a second), I suspect that the voltage when knock occurs is even lower (0.5 to 0.55V). So, I would think that even with base timing at 12 or 14°, I would say that there's no knock above 0.6V. The J&S starts listening when the voltage on the yellow wire is 0.9V (1.6 engine). On my car, I found that this is at the transition from vacuum into boost. Regardless of speed/rpm/gear, the transition of vacuum into boost is around 0.9V, give or take a few tenths. So, this means that the unit activates when going into boost (or even earlier when going WOT) At about 3psi, the AFM voltage is about 0.75 to 0.80V. Even at this voltages I found it to be *impossible* to induce knock. I really had to drive *very* gentle to not have the voltage drop under 0.75V. So, I conclude that the factory setting of 0.9V is a bit too high and I would have it set at 0.78V, which still provides a big safety margin. In practice, this would mean that the unit activates no later then about 3psi. If John would consider programming the soft start thing, I would say that the transition would have to be between 0.78V (going into boost) and 0.6 V (knock might occur), maybe a bit sooner to be on the safe side.

case 1: RPM>4500 and AFM>0.78 volts = no RPM retard
case 2: RPM=4600 and AFM<0.60 volts = 1° retard
case 3: RPM=4700 and AFM<0.60 volts = 2° retard
case 4: RPM=4800 and AFM<0.60 volts = 3° retard
case 5: RPM=4900 and AFM<0.60 volts = 4° retard
case 6: RPM=5000 and AFM<0.60 volts = 5° retard
case 7: RPM=5100 and AFM<0.60 volts = 6° retard (max)
case 8: RPM>5100 and 0.60 volts<AFM<0.78 volts = retard varies with throttle from 1° to 6°

I don't know how outside temps affect knock, this would have to be tested and the voltages would need to be adjusted accordingly.

Ross, did you already ship your unit to John? If not, would you want to do the same tests as I did and compare results? I suppose temps are a bit higher in your region than overhere.

John, what do you think about these voltages, do they compare to your findings?

BTW, John, what does the sensitivity knob do? Does it simply lower the amplitude of the knock signal? or does it have an affect on the software?




Thanks for the TPS readings. I thought it would be a good idea to turn on at the onset of boost. If no knock ever ocurs there, then maybe it is too early.

I'm a little amazed that Silverstreak and the others didn't get my hint. SOFTWARE ONLY. How do they expect me to add adjustments for RPM and retard amount to existing units?

The sensitivity knob adjusts the signal level presented to the A/D converter. The larger the signal, the easier it is to cross the "threshold of hearing", and the more it will retard.

I haven't worked on the software yet to make the RPM retard appear on the monitor. I think it's a good idea. If you want it to be in addition to the knock retard, I can do that now, but it won't show up on the display.

John and Shirley
J&S Electronics



I don't think that it is likely to have knock at the onset of boost, simply because a normal aspirated engine normally has no knock at 0psi either. I see your point about turning on at the onset of boost, this is probably the safest possible setting. Maybe my setting (3psi) would turn out to be too dangerous in less than 'normal' situations (high altitude, high temp, etc), although I doubt one can have knock at 3psi.

I think Silverstreak eo were talking about a possible 3rd generation unit. I know making a brand new unit with additional dips or trimmers is not an option to consider, I wouldn't anyway. But one cannot deny that what they say makes sense. Your unit would definitely be the best thing on the market if only it would have an adjustable start rpm and adjustable preventive retard! The only thing you could do, IMHO of course, is to adapt the current software to take the best possible advantage of the existing dipswitches, even if it means having to make separate software for the 1.6 and 1.8. With dips 3 and 4 freed up, the user would already have 2 possible settings for start rpm and amount of preventive retard. I think that's better than nothing. I don't entirely understand the function of dip 3 so I'm not sure you can free that one up, you wrote:

"Software could read switch three. Right now it is only used for the self arming mode. Switch three is connected through a 150k ohm resistor to the A/D converter pin that measures the mass air voltage. If the mass air wire is not connected and the switch is up, the A/D thinks it is max airflow. Ditto if the switch is down. Remember the mass air meters work backwards from each other between a 1.6L and a 1.8L."

Does this mean that if you reprogram switch 3, that unit cannot read the AFM voltage anymore?

Heck, you could even reprogram switch 2, 'cause I understand that most people just leave it in retard all mode. After all, if one cylinder has knock, the remaining cylinders are probably close to having knock also. Also, an MSD has no retard one option either.

With 3 switches, you already have 6 possible settings ... still not perfect, but getting there... ;-)

How is the preventive timing programmed right now? I thought you said it was in addition of the maximum retard, thus in 20°mode, the unit takes out 6° preventive, with the possibility of an other 20° to take out, for a maximum of 26° possible. Do I understand this correct?

Are you considering to implement the soft start option?

Good luck and happy programming :-)



I've been out at a training seminar all week, just got back. Swamped in paperwork, emails, orders, and voice mail. I had pulled the J&S and had it boxed and ready to go, but got too busy to send it John. 
I have an SCCA race this sunday, so I'll have to re-install for it, then send it out. 
I'll check the voltages this weekend if I can, Frank, can you give me an easy rundown of where, what you tied into, so I do the same and we get comparable results?
Let's get these puppies sorted out!




I just measured the voltage on the yellow wire of the J&S. (acutally between the yellow and the black one since you need earth somewhere ;)
I found it to be the easiest way. It's a bit hard to keep an eye on boost, rpm and DVM all at the same time, but it's possible.



John and Frank,

I did a bit of testing this weekend, I was harried, so it wasn't the of the highest scientific order. I got similar results to Frank (you're right Frank, very hard to watch 3 things at once). The weather here was mild for this time of year, low 70's, so no data on warmer temps. 
John, I'm mailing the unit out today. I'm not sure exactly what specs you want to try out, but I'm happy to test.

Take care,


From: The Samett Family <>
Subject: j&s mods for sebring/miata
Date: Wed, Aug 9, 2000, 8:45 PM

 I last read your discussion with dick bipes in mid July on reprogramming/augmenting your unit. what is the state of things now?



Here's a letter I just sent to Mike Kornby:


I'm programming Ross Kuhns' unit, using Dick's recommendations:

8° of RPM retard, starting at 3500 RPM, and all in by 4000 RPM, and modulated by the mass airflow voltage. Nothing happens on this 1.6L version if the MAF voltage is greater than 0.85 volts. The full programmed value is permitted if the voltage is less than 0.67 volts. Variable amounts of the programmed value are permitted if the voltage is between these points.

The RPM retard is in addition to the knock retard, but does not show up on the display.

Since we know it is going on a 1.6L, we can free up switches 3 and 4. Since it's an old black box, it does not have the 10°/20° range selector. Switch #4 has now been programmed for that. Switch #3 might be used to bypass the RPM retard, for a back to back comparison on the dyno. Don't know yet.

As far as making it user adjustable, I don't see how I can do it on existing units, unless you want to make the switches do something different. Switch #1is the programming switch on the old units, so that leaves three switches to play with, giving eight possible combinations.

If you had enough knobs and switches and dials to play with, would your goal be to never allow the knock controller to activate? Was my control system that bad?

I sold hundreds of these to O.J. in '96 and '97 before Moss took over the sales end. I'm only about ten minutes from his shop, and I saw quite a few Dynojet runs over there with our unit. I remember one session where we made back to back runs with the unit on and advanced timing, then without, with reduced timing. Top end power was the same. You can only get so much power with a given fuel. The area under the curve was fatter with the J&S unit, though.

The Dynojet has software that let's you run a "drag race" between two cars, using the two curves just run. The run with the J&S and advanced timing beat the other setup by three car lengths.

I guess what I'm saying is let the thing work, just help it out with some generic RPM retard.

John and Shirley
J&S Electronics


I went over the July archives on the J&S. I think there is a simple answer to the mass airflow vs. boost question. (Engineers, keep me honest here...):

If we assume that the mass airflow sensor measures (the equivalent of) airflow at atmospheric pressure, then, assuming that the Miata engine is a simple air-pump,

[airflow] = RPM x (14.7 + [boost]) 14.7 psi = 1 atm

then, [boost] = [airflow]/RPM - 14.7

with the engineering/empiric measurement 'first-order fudge factor', 

[boost] = k([airflow]/RPM - 14.7) = k[airflow]/RPM - y

That is, boost and airflow are related by a linear relationship with each other (for a given RPM which is separately mapped) and should be interchangeable when used by a ignition retard system.



I reviewed Bob Paauwe, Dick Bipes, and John Pizzuto's July postings, as well as John's letter to Mike Kornby and did a "thought experiment" regarding possible J&S maps for all to comment on.

Summarizing Dick's comments:

  1. 6' total retard is inadequate; 10-14' better.
  2. Miata engine is sensitive to pinging in the 4-5K rpm range. Retard should kick in at about 3500,   and be done by 4000.
  3. The 'ideal' timing at low-RPM is 14'TDBC, at High-RPM/Boost is 0-4'TDBC.

Bob Paauwe's J&S was programmed as such, with only 6' maximum retard when no pinging is detected:

AFM   | PING  |3000|3500|4000|4500|4600|4700|4800|4900|5000|5100|5200+|
> 0.8 | no    | 0° | 0° | 0° | 0° | 0° | 0° | 0° | 0° | 0° | 0° | 0°  |
> 0.8 | yes 1 | 0° | 2° | 2° | 2° | 2° | 2° | 2° | 2° | 2° | 2° | 2°  |
> 0.8 | yes 2 | 0° | 4° | 4° | 4° | 4° | 4° | 4° | 4° | 4° | 4° | 4°  |
> 0.8 | yes 3 | 0° | 6° | 6° | 6° | 6° | 6° | 6° | 6° | 6° | 6° | 6°  |
> 0.8 | yes 4 | 0° | 8° | 8° | 8° | 8° | 8° | 8° | 8° | 8° | 8° | 8°  |
< 0.8 | no    | 0° | 0° | 0° | 1° | 2° | 3° | 4° | 5° | 6° | 6° | 6°  |
< 0.8 | yes 1 | 0° | 2° | 2° | 2° | 2° | 2° | 3° | 4° | 5° | 6° | 6°  |
< 0.8 | yes 2 | 0° | 4° | 4° | 4° | 4° | 4° | 4° | 4° | 5° | 6° | 6°  |
< 0.8 | yes 3 | 0° | 6° | 6° | 6° | 6° | 6° | 6° | 6° | 6° | 6° | 6°  |
< 0.8 | yes 4 | 0° | 8° | 8° | 8° | 8° | 8° | 8° | 8° | 8° | 8° | 8°  |

Notice that retard Decreases under boost from 4700-5000 RPM going from a no->yes ping condition. This is counter-intuitive to me.

If it is better to prevent than to treat pinging, then a more aggressive map seems reasonable. It could be applied to the "high air flow/boost" condition (<0.8 AFM) with the map adjusted for yes and no ping conditions. The two following maps should allow base timing of 14'TDBC for maximum low-end torque, with adequate retard at higher RPM. I changed the ping response under boost as well.

Map #1: 12' max retard, increasing by 3' every 500 RPM

AFM   |  PING |3000|3500|4000|4500|4600|4700|4800|4900|5000|5100|5200+|
> 0.8 | no    | 0° | 0° | 0° | 0° | 0° | 0° | 0° | 0° | 0° | 0° | 0°  |
> 0.8 | yes 1 | 0° | 2° | 2° | 2° | 2° | 2° | 2° | 2° | 2° | 2° | 2°  |
> 0.8 | yes 2 | 0° | 4° | 4° | 4° | 4° | 4° | 4° | 4° | 4° | 4° | 4°  |
> 0.8 | yes 3 | 0° | 6° | 6° | 6° | 6° | 6° | 6° | 6° | 6° | 6° | 6°  |
> 0.8 | yes 4 | 0° | 8° | 8° | 8° | 8° | 8° | 8° | 8° | 8° | 8° | 8°  |
< 0.8 | no    | 0° | 3° | 6° | 9° |12° |12° |12° |12° |12° |12° |12°  |
< 0.8 | yes 1 | 0° | 6° | 9° |12° |12° |12° |12° |12° |12° |12° |12°  |
< 0.8 | yes 2 | 0° | 9° |12° |12° |12° |12° |12° |12° |12° |12° |12°  |
< 0.8 | yes 3 | 0° |12° |12° |12° |12° |12° |12° |12° |12° |12° |12°  |
< 0.8 | yes 4 | 0° |12° |12° |12° |12° |12° |12° |12° |12° |12° |12°  |

Map #2: 12' max retard, increasing by 5' every 500 RPM

AFM   |  PING |3000|3500|4000|4500|4600|4700|4800|4900|5000|5100|5200+|
> 0.8 | no    | 0° | 0° | 0° | 0° | 0° | 0° | 0° | 0° | 0° | 0° | 0°  |
> 0.8 | yes 1 | 0° | 2° | 2° | 2° | 2° | 2° | 2° | 2° | 2° | 2° | 2°  |
> 0.8 | yes 2 | 0° | 4° | 4° | 4° | 4° | 4° | 4° | 4° | 4° | 4° | 4°  |
> 0.8 | yes 3 | 0° | 6° | 6° | 6° | 6° | 6° | 6° | 6° | 6° | 6° | 6°  |
> 0.8 | yes 4 | 0° | 8° | 8° | 8° | 8° | 8° | 8° | 8° | 8° | 8° | 8°  |
< 0.8 | no    | 0° | 5° |10° |12° |12° |12° |12° |12° |12° |12° |12°  |
< 0.8 | yes 1 | 0° | 6° |12° |12° |12° |12° |12° |12° |12° |12° |12°  |
< 0.8 | yes 2 | 0° | 9° |12° |12° |12° |12° |12° |12° |12° |12° |12°  |
< 0.8 | yes 3 | 0° |12° |12° |12° |12° |12° |12° |12° |12° |12° |12°  |
< 0.8 | yes 4 | 0° |12° |12° |12° |12° |12° |12° |12° |12° |12° |12°  |

Which map is superior should be dependent upon: how sensitive the Miata engine is sensitive to rapid changes in timing (too rapid retard would give a SOTP torque drop in the mid-RPM range), vs. how aggressively timing needs to be taken out to prevent pinging. I have noticed 6 psi car tinkles in moderately hot 80-85'/moderate humidity at 10'TDBC/93 octane with octane boost added (108 brand).

To take this idea further requires a J&S which I don't have. Can somebody take the baton from me? What do you think? Any alterations suggested? Anybody willing to test this out?

One further idea: if possible the response to the air-flow meter signal could be changed from just on/off. More retard could be added the higher the flow. This would make the map more complex and Einstein said "Keep things as simple as possible, but no simpler."


From: Dick Bipes []
Sent: Friday, August 11, 2000 2:58 AM
E Samett, MD;
Re: SSCOR Fwd: J&S software mod musings...

IMHO, proportionally mapping the amount of retard to the amount of boost or to the amount of airflow is overkill.

When I drive, I almost always have either nearly full boost or no boost. If I depress the accelerator much at all, I get significant boost. In fact, while running the many experiments I have done (such as measuring the amount of retard introduced by the MSD at specific boost levels), I tried to drive the car and maintain a mid-level of boost - say, 3 psi. It's really hard to do! If you have a boost gauge, try it sometime.

In the real world, the amount of time spent at partial boost is minuscule. I think that it is sufficient to use either boost or airflow as a 'switch' to trigger retard. Retard to RPM is a different story.

>Summarizing Dick's comments:

>1. 6' total retard is inadequate; 10-14' better.
>2. Miata engine is sensitive to pinging in the 4-5K rpm range. Retard should kick in at about 3500, and be done by 4000.>
>3  The 'ideal' timing at low-RPM is 14'TDBC, at High-RPM/Boost is 0-4'TDBC.

It depends upon the boost and base timing I suppose, but I think that 14° of programmed retard is a bit too much.  I'm presently running 8 psi and 10° base timing with the MSD's 6° of retard, and I get a little bit if ping under the most adverse conditions.  I'd like 8° of programmed retard so I can get back to 12° base timing (might sneak it up to 14°).  Then, for those rare adverse conditions, I'd let the knock sensor pull out more.

I agree with John and Shirley of J&S:

>I guess what I'm saying is let the thing work, just help it out with some generic RPM retard.


"E Samett, MD" wrote:

> I reviewed Bob Paauwe, Dick Bipes, and John Pizzuto's July postings, as well as John's letter to Mike Kornby and did a "thought experiment" regarding possible J&S maps for all to comment on.


Based on these and other more recent comments, Here's a different map with my understanding of how things work.

AFM   | PING  |3000|3500|3600|3700|3800|3900|4000|4500|5000|5500|6000+|
> 0.8 | no    | 0° | 0° | 0° | 0° | 0° | 0° | 0° | 0° | 0° | 0° | 0°  |
> 0.8 | yes 1 | 0° | 2° | 2° | 2° | 2° | 2° | 2° | 2° | 2° | 2° | 2°  |
> 0.8 | yes 2 | 0° | 4° | 4° | 4° | 4° | 4° | 4° | 4° | 4° | 4° | 4°  |
> 0.8 | yes 3 | 0° | 6° | 6° | 6° | 6° | 6° | 6° | 6° | 6° | 6° | 6°  |
> 0.8 | yes 4 | 0° | 8° | 8° | 8° | 8° | 8° | 8° | 8° | 8° | 8° | 8°  |
> 0.8 | yes 5 | 0° |10° |10° |10° |10° |10° |10° |10° |10° |10° |10°  |
< 0.8 | no    | 0° | 2° | 4° | 6° | 8° |10° |12° |12° |12° |12° |12°  |
< 0.8 | yes 1 | 0° | 4° | 6° | 8° |10° |12° |14° |14° |14° |14° |14°  |
< 0.8 | yes 2 | 0° | 6° | 8° |10° |12° |14° |16° |16° |16° |16° |16°  |
< 0.8 | yes 3 | 0° | 8° |10° |12° |14° |16° |18° |18° |18° |18° |18°  |
< 0.8 | yes 4 | 0° |10° |12° |14° |16° |18° |20° |20° |20° |20° |20°  |

The AFM signal is used to determine if we are under boost or not (this is for a 1.6L engine). > 0.8 volts means we're not under boost < 0.8 volts means we are. The voltages are different for a 1.8L engine.

The PING column indicates what the knock sensor is detecting so "yes 1" means that it detected 1 ping, "yes 2" means 2 pings.

In this chart, the knock sensor "turns on" at 3500RPM, it doesn’t even listen for pinging below that. The sensor is configured to decrease timing by 2 increments each time ping is detected and 1 increment = 1 degree of timing. Up to a maximum of 10 degrees. I assume that there is a fixed interval of time that the pings need to occur for this to

happen. Maybe John can jump in and clarify.

The top half of the chart is what would happen under cruise, with maybe a bad batch of gas.

The bottom half of the chart is what happens under boost. The default map would kick in at 3500 and pull 2° for each 100RPM. This gives a maximum retard of 12° which should work well for 12-14° of base advance. During the time, the knock sensor is still listening and could pull up to 10° additional timing out if needed. Is this right, John? That seems pretty aggressive.

Another option might be to have it look like this (bottom half only):

AFM   | PING  |3000|3500|3600|3700|3800|3900|4000|4500|5000|5500|6000+|
< 0.8 | no    | 0° | 1° | 2° | 3° | 4° | 5° | 6° | 6° | 6° | 6° | 6°  |
< 0.8 | yes 1 | 0° | 3° | 4° | 5° | 6° | 7° | 8° | 8° | 8° | 8° | 8°  |
< 0.8 | yes 2 | 0° | 5° | 6° | 7° | 8° | 9° |10° |10° |10° |10° |10°  |
< 0.8 | yes 3 | 0° | 7° | 8° | 9° |10° |11° |12° |12° |12° |12° |12°  |
< 0.8 | yes 4 | 0° | 9° |10° |11° |12° |13° |14° |14° |14° |14° |14°  |

This is probably optimized for 10-12° of base advance. When it’s cool out, you get good performance, but under adverse conditions, the knock sensor is doing it's job and pulling out more timing.

There are 2 assumptions I've made that need to be verified.

1) Does the knock sensor behave that way so that the ping detection and base map are additive? John should be able to answer this.
2) Is 0.8V the right value for detecting boost?



For everyone, I just my reprogrammed J&S back from John.

Here's what mods it has from John:
Switch #4 is now the 10°/20° switch. The unit is fixed as a 1.6L.
Minimum RPM to begin listening is 3000 RPM.
RPM retard starts at 3500 RPM and maxes out at 8° at 4000 RPM.
RPM retard is in addition to the 10°/20° and does not show up on the display.

I'm driving it up to Mid-Ohio this weekend for the CART race (gotta love being in the media and free all access passes), I'll be "testing" it then on the backroads. Really looking forward to trying it, the best of the bipes/MSD and knock sensing capability...I'll report back to everyone next week.


From: E Samett, MD []
Sent: Friday, August 11, 2000 10:02 PM
To: Bob Paauwe
Subject: Re: SSCOR J&S software mod musings...

I'm reading the postings to: 
There is alot of great stuff there! (thank you)

1. My 'maps' had typos for RPM (oops) and used the assumption that retard listed was total retard as is the new idea, rather than independent retard values for ping and rpm detection. I like the idea of combining the two retard values together with a common limit. I also agree that the display should show total retard.

2. Dick's suggestion of 8' programmed retard and 12' base timing raises the question: Is there a disadvantage of 10' programmed retard and 14' base timing - ie, is 14' too touchy and sensitive to bad gas, weather, or driving conditions? 

3. Bob's two maps (below) seem consistant with the information posted. Both could be implemented along with Frank's suggestion of a 10/20' switch. This would be in effect a mild or aggressive retard option, and might eliminate the need for variable rpm-sensing retard maps for the turbo vs. supercharger crowd.

4. Regarding switch 2: A J&S using RPM/boost programmed retard should rely less upon the microphone to keep the engine ping-free. As more of a safety feature (bad gas, etc) it would be reasonable to have it retard on all cylinders, freeing switch 2 for more adjustments (rpm, total and slope of retard, etc)

5. I see Dick's point about boost being mostly an on-off condition. However in my little car, the amount of boost varies from 3-6 for any particular acceleration run - I don't think its a slipping belt or blow-by thing (any more), just how hard I'm driving. Therefore the boost-proportional retard would be helpful if not difficult to implement, but probably not required.

I can't wait to get one of these babies!

>Again this is all theory...

>If there is an available "switch" for the J&S, would it be a good idea to have two available maps - a conservative one for ideal conditions, and an aggressive one for adverse conditions (hot/lousy gas/ competition)???



"E Samett, MD" wrote:

> At 12:15 PM 8/11/00 -0400, you wrote:

> >I believe that there needs to be some means of adjusting the timing. 2 or 3 different maps would be very good.

> >Michael

> >1.8 8psi

> Can two maps be implemented as part of the 10'/20' switch - aggressive and mild?

I'm going to talk to John about this. I think I have a map (very similar to Ross's) that I would like. I consider this a mild/normal map:
- Turn on knock detection at 3500 RPM
- If AFM signal < 0.75 volts then retard 1 deg for each 100 RPM between 3500 and 4200 RPM (8 degrees out at 4200)
- Use only 10' mode (gives a max retard of 18' at 4200 and above)

So what would be considered aggressive?
- Turn on knock detection at 3000 RPM
- If AFM signal < 0.85 volts then retard 1 deg for each 100 RPM between 3000 and 3700 RPM (8 degrees out at 3700)
- Use 20' mode (gives a max retard of 28' at 3700)

Or should the ramp be steeper (2' per 100 RPM between x and y?


This is how the units are finally reprogrammed:

The new software does not begin listening until 3000 RPM (so it never takes out timing under 3000 RPM). The old black units will be set to 10° knock control range instead of their normal 20°.  With the 4°, 6°, 8° or 10° programmed retard already taken out, there's no need for a possible extra 20°, 10° is sufficient.  This also means that full display is 10° now, so 1° per LED.  The new blue units still allow you to select 10°/20° (this is not possible on the old units)

Switch 2 is still the retard all/retard separate select. 

Switches 3 and 4 select 4°, 6°, 8°, or 10° of RPM retard. RPM retard begins at 3250 RPM and is all in by 4250 RPM. 
The retard is over the full 1000 RPM span, regardless of the selected amount. In the 4° mode, it would be 0.4°/100 RPM, in 10° mode, it would be 1°/100 RPM.
To set the timing:

switch   3   4
         0   0 =  4°
         0   1 =  6°
         1   0 =  8°
         1   1 = 10°

(0 = down, 1 = up)

RPM retard is gradually turned on by the Mass Air Sensor. High RPM and low air flow will not cause any RPM retard.  Because switches 3 and 4 are normally used to select 1.6L or 1.8L, this function is no longer available.  You'll have to specify 1.6L or 1.8L when sending the unit to John.

Be sure to include your return shipping address. No P.O. Boxes please. Include a check for $35.00. This covers programming and return UPS Ground shipping. Include ten dollars extra for 2nd day air and twenty dollars extra for next day air. Please allow two days processing time.

Contact John at

Send your unit to:
J&S Electronics, Inc.
13925 Parkway Dr.
Garden Grove, CA 92843

Sending it by US Mail will delay your order, as we will have to make a trip to the Post Office and stand in line. Please ship by FedEx or UPS.