AC-CDI Honda XR400

This AC-CDI is End Of Live

[ARCHIVE] ADAPTATION to fit a Honda XR250 / XR400R

Done by



  • Based on AC-CDI PIC16f84 v5.4
  • For single.
  • 1 advance curve.
  • No kickback.



Andrew has build a AC-CDI for his 2002 XR400R.

Mains changes are:

– He uses a 2.2uf 380v capacitor and the same configuration of the rectifier diodes of the original cdi.

– No battery is used and the cdi is directly powered by the 200Vac alternator rectified.
He uses a high input voltage linear voltage regulator from SuperTex called LR8 that source 20mA max, strengthen by a NPN high voltage transistor MJE340 (about 300v / 500mA)

– He modified the code to disable the SCR triggering by the processor if revs are below 1400rpm.
At idle and kickstart, only +Ve pulse is used, no calculations, so there is no more kickback.

– XR400 pickup supply a negative first pulse.
As my cdi requires a positive going pulse before the negative going one, the trigger signal is inverted by 2 transistors.
The circuit has been tested on real life and give much better result than using a optocoupler.


Advance curve
For Honda
Source code Excel sheet




Here are the changes to fit a Honda XR400 :



To replace

C11 = 2.2uF 200V
C7 = 1000uF 16V
R8 = 680

To add

T2,T3 = BC548b
T4 = MJE340
IC2 = LR8
D1,D4,D5,D7,D8 = 1N4004
R = 10k,10k,15k,4k7

8 thoughts on “AC-CDI Honda XR400”

  1. Hey,

    Just reading your XR400R CDI mods.

    Would you know what I would have to modify in the CDI to get rid of the 900RPM cut out.

    This is in the CDI so that you have to kick it hard before it sparks to stop kickbacks.

    I have put on an electric start but only spins at 700 – 800rpm and so will not start the bike.

    Can I remove the 900RPM limit somehow.



    1. In the PIC 16f84 source code of this page, there is a limitation at 9000 RPM but there is not limitation at 1100 RPM

      The adjustable range is only between 1100 to 9000 RPM
      Over there will be no more sparks, below the CDI do provide a spark, but the delay between the pickup pulse and the spark is hard-coded, not adjustable by the excel file.

      The lines that handle low RPM are functions bigfv line 376 and maxret line 446
      with a hard-coded value of 30h, don’t hesitate to tune this value until the engine start easily with the electrical starter.

    1. This version is 5 years old and is End Of Live. Consider using ACCDI v7 instead.
      V5 had a CLOSED firmware (max RPM is hard coded) and obsolete PIC.
      V5 has a OPEN eeprom (allowing your to change some parameters) inside an available PIC

Comments are closed.

Shopping Basket
Scroll to Top