Custom CDI unit for KLX250S

The reality is that even though the KLX250S and the KLX300R have essentially the same engine, the performance is quite different. Sure the displacement is a big differentiator. But it's relatively easy to open up the KLX250S in terms of displacement, fuel and exhaust systems.

However, there's still something holding the bike back: it's ignition timing. Here are the two ignition timing specs:



10 deg before TDC at 1300 rpm

25 deg before TDC at 5000 rpm

rev limiter kicks in around 10,500 rpm, kills spark around 11,000 rpm



5 deg before TDC at 1700 rpm

40 deg before TDC at 3000 rpm

no rev limiter

I got a used KLX300 CDI off of ebay and played with it to see if it would work on the 250. No go - mainly because the 300's CDI is A/C powered and the 250 CDI is D/C powered. There are other differences too, but I concluded that this just wasn't going to work.

So I got the bright idea, why not just design and build my own? So a couple months ago, I started an investigation and I now have a programmable CDI that's working on my bench setup (I'm real close to testing it on the bike):


Over on the left is a drill press with a junk KLX300 flywheel and coil pickup, I'm assuming that they're pretty much the same as the KLX250S. Can't go very high in the RPM range with the drill press, but needed to see what the pulse off of the coil looked like. I'm typically using the pulse generator for getting the higher rpm pulse. On the right foreground in a KLX250S coil and plug. The o'scope shows the pulse going into the PIC (Programmable Interrupt Controller).

If you're still with me and you want to follow this project, I'm going to post updates here

Good job. You are way beyond my knowledge and skills with that project, but that kind of stuff is always interesting to me. From what I understand the 94-96 KLX250 also has a different ignition timing than the KLX300 and the new KLX250S. I don't know if it is AC or DC. One of my riding partners has a 96, I will have to check into that one day just for curiosities sake. Is that a new KLX forum? I have not seen or heard of it.

The older KLX250 has a AC powered CDI. There's is a non-US KLX250SR (?) CDI that has a DC ignition that can be made to work that has a different timing curve. This project is currently mostly an experiment and learning vehicle; it brings together a couple of hobbies.

no pic

Wow, thats awsome! :):smirk:

Follow the link in the first post for my web log - there's some pictures there.

...or better yet, how about a video?

I still need some calibration and tuning work to do on it, but I have a fuzzy dream of making this into a real product.


Have you come up with a way to trigger the spark only on the compression stroke or will it spark twice per the 4 cycles? I stalled on a FI project because of that.

Ride on


Have you come up with a way to trigger the spark only on the compression stroke or will it spark twice per the 4 cycles?

I have not. It is very common to have the wasted spark on the exhaust stroke. (My ZL900 Eliminator had a wasted spark system) I wracked my brain trying to figure out how to eliminate the wasted spark because I was concerned about having to beef up the AC power supply too much.

In my design the voltage on the capacitor begins tapering off around 7000RPM, but it appears that it may be sufficient at higher RPMs -- I'm not there in my testing yet.

If there were another sensor on the camshaft, then getting rid of the wasted spark would be easy.

Good stuff, Dan. Yeah, the 'SR' CDI is no longer made, so whever one pops on Yahoo Auctions over here in Japan, there's some mad bidding! That CDI had the most aggressive curve of anything built for the KLX250. I'm running a J2 series CDI on mine. It has a more aggressive curve than the 250S and there is no rev limiter.

The only way I know of to get the connectors you speak of is a specialized harness that sells for about $150.00! I looked at one to try to find some part numbers, but there were none that I could see.

Have you come up with a way to trigger the spark only on the compression stroke or will it spark twice per the 4 cycles? I stalled on a FI project because of that.

Ride on


How about a sensor in the valve cover pointing down to pick up one of the cam lobes?

How about a sensor in the valve cover pointing down to pick up one of the cam lobes?

If one of the lobes was pointing up at the right time, a proximity sensor might work.......Good Idea!

Ride on


Bear in mind that I'm a mechanical type. Couldn't you use an exhaust cam lobe coming up to indicate the firing stroke is coming up and the crank to actually trigger the injection and spark?


Maybe the intake would be better since it points straight up well before it opens its valve while by the time the exhaust valve is straight up the intake is already starting to open.

I would be more inclined to put something on one of the camshaft gears. Since the cam shafts rotate once for every two crank revolutions, it really doesn't matter whether the "sensor" is aligned with a particular position of the lobe.

I imagine the best solution would be to use the same pickup coil that's mounted next to the rotor and somehow "embed" (or mount) a small magnet on one of the camshaft gears.

Just theory. I don't plan on doing this for my project and will keep and account for the wasted spark on the exhaust stroke.

Rather than keeping a web log in multiple places, I'm keeping an abbreviated logbook here:

...but here's a short update:

Got the kill function working and took the bike for a short ride (first time with the custom CDI) -- throttle response seems improved but there's still work to be done -- having some issues beginning around 7000 RPM.

I know you are way past this point and I'm not sure if you have thought about this already, but why not just use a AC/DC converter to make the 300 CDI work???

I think that you mean a DC to AC converter. I actually tried something simpler than that, pulling two phases off of the generator (before the rectifier) and using them for power. That didn't work either since how the generator was ground referenced and how the kill function works -- it'll blow the fuse every time and did.

Myself and another guy worked independently on trying to get the KLX300R's CDI work work on the KLX250S, neither of us were successfull. If there is a proven solution, I would be really interested in hearing about it.

The DC to AC converter idea might work, but if it did then you would still be "stuck" with the programmed timing of the KLX300R's CDI unit. ...and that's something that might have to be built too.

Have you try to open an existing Klx 250 and 300 cdi box too see how they did it? Maybe it would be easyer than trying to built one from zero? just modding an existing one to get the desired timing curve?


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now