DC-CDI v7


CHARACTERISTICS.

  • DC-CDI
  • Easier start when cold
  • For SINGLE cylinder (and SOME TWO cylinders).
  • Advance curve is in EEPROM and is freely modifiable
  • Rev until 20,000 RPM/330Hz
  • Pickup position can be freely set from 0 to 360°
  • Accurate (0.15°/8000RPM).
  • Need a 6 or 12 volts battery
  • Current drain: 2mA to 1.5A
  • Power: 40mj
  • No need of HV source coil on the stator
  • Autotest jumper
  • Kill switch connection
  • Dimensions: 91 x 58 x 28mm – 67g

WHAT DO YOU NEED?

PCB, DC-DC Converter, Electronic components
and Programmed 16F1827 PIC microprocessor
(Source code is not available.)
Everything is provided within a KIT in the SHOP section.
Schematic Hardware Version V7R7C9
Components view

Placement
Create the ignition timing curve Excel file v79r25c1
To program your own advance timing map. PICKIT3 software
To burn the 16F1827 PICKIT3 programmer
Wiring Connect the DCCDI to the bike

HOW DOES IT WORK?

At idle and low RPM, the PIC generates maximum delay before fire a spark a few degrees ahead of TDC. That way, there is no or little advance at low RPM.

As the RPM increases, the more the advance would increase ahead of TDC accordingly.
The PIC follows your ignition map programmed in EEPROM.

Pickup signal must be > 2 volts in order to be detected by the PIC

A pulse is available at pin 1 and trigger the SCR.
The pulse length is adjustable from 500us until 5ms or can be automatically adjusted.


DC-DC Converter

The microprocessor drives a on-board 15 Watts DC-DC converter to raise the 12Vdc from the battery to 200Vdc.
– Better startup when engine is cold.
– A DC-CDI can be a substitute to a faulty stator (charging coil).
– When no pickup signal is detected, DC converter stops and goes in sleep mode. (2mA)
– Power selectable:
    – 40 millijoules (40 mJ) with R7.
      Transistors need heatsinks if this unit run at 10.000rpm longer then 1 minute.
    – 50 millijoules (50 mJ) without R7 resistor. (video) Always add heatsinks!
– HowTo wire the DC converter to the PCB?
– Some measurements done on scope.


PICKUP

– 1 input for inductive pickup with 1 signal per crank rev.
– Pickup must puts out 3 to 30Vac
Points, reluctors, Hall sensor, optical sensors can be used as long as they give only 1 pulse per revolution.

– This CDI works with 1 pickup and 1 reluctor (the metal strip on the flywheel) [A,B].
– This CDI works with 2 pickup and 2 bars [E,F].
– This CDI DOES NOT work with 1 pickup and multi-pulses pickup (ie 2 reluctors on flywheel) [C,D].
– This CDI DOES NOT work with 1 pickup and missing tooth flywheel [G].

How to calculate the Pickup Position?


Pickup wiring.

Click here for more info...
 
Variable Reluctance coil (VR)

PIC processor ONLY detect the positive going edge of the trigger pulse.
That mean the FIRST pickup pulse coming to the processor MUST be Positive!

– If this is the case (like Yamaha, Kawasaki most often) connect the pickup to J10 input and close JP2 solder pad in PN position.
 
– If your pickup gives out a NEGATIVE first pulse, (like Honda, Suzuki, Zongshen, KTM most often), the timing will be bad…
There are 2 solutions:
1) Just invert the 2 wires that come from the pickup to the CDI if none of them are internally connected to GND!
or
2) connect the pickup to J9 input and close JP2 solder pad in NP position.
(This way Q2, Q3 transistors will reverse the first Negative signal so it becomes Positive.)
 


HALL EFFECT SENSOR


Most often, Hall sensor output are default HIGH, going LOW when a magnet pass in front of them.
To use an Hall sensor with ACCDIv79 or DCCDIv79 you need to invert the signal with one NPN transistor then connect to JP10 (JP2 solder pad in PN position.)


CDI Programming

 
The PIC that comes in the KIT embeded a protected software, but the EEPROM zone is Read/Write allowing you to write your own ignition timing into the internal data EEPROM.
You can change the advance timing by yourself as often as you want!

Just draw the new curve in the excel sheet, write datas in the PIC’s EEPROM using a programmer then restart the CDI.
That’s all done!

Draw the advance curve

Click here for more info...

 

  • Use the Excel sheet (in download section above) to define the timing curve for your bike:
    • Only change the yellow cells.
  1. Enter the pickup position (which is slightly more than the max timing advance your bike uses) in cell F5.
  2. Select the number or cylinders (cell O24) and the number of strokes (cell O25)
    (select 2 if the engine is a 4 strokes with wasted spark)
    The pulse coming from the PIC that trigger the SCR can be adjusted from 500us until 5ms or in “AUTO” mode (cell O28).
    Except for specials needs or lazy SCR, leave the default value of 0.5ms.
  3. Select the maximum RPM by changing the variable TIMER1 in cell B9.
  4. Play with prescaler value in cell O26 AND with TIMER1 value (cell B9) until the excel sheet displays the whole RPM range you want and the advance values don’t strike “Out of range” errors.
  5. To manipulate the points of the curve, type in the advance you want for each RPM in column F.

If you run into “Out of range” Warning messages column M, try to:

  • Change the advance values column F
  • Change the RPM range cell B9
  • Use another prescaler value cell O26
  • Use another step value in cell L5

Play with those steps above until the curve fit in the excel sheet.
Any Excel Errors will result in a faulty HEX file that will not work !
Warning are not critical, but you won’t get the exact timing you want.
Excel Error are critical.

When done:

  • Adjust the advance for low RPM with the help of the multiplier value in cell I2 of the Excel tab named “advance_at_lowRPM“.

    If the maximum RPM become too low, raise it with cell B9 and so on…
    Play with prescaler value (cell O26) and multiplier value (cell I2) to change the low RPM range.

  • Once your timing curve is drawn, copy/paste the Intel 16Hex data located in cells Q1 to Q51 from Excel tab “Advance_curve” into a text file, then change the extension from .TXT into .HEX
  • See Video


    PROGRAM YOUR IGNITION MAP

    Click here for more info...

     
    Case 1 You bought a preprogrammed PIC from me.
    The 16F1827 PIC sold with KIT comes with a timing example in its Eeprom zone.
    Before writing your own data, I suggest to test your DC-CDI with the “Autospark” feature (JP1 jumper close).
    If everything works, then fill out the Eeprom zone with the timing you want.
    Don’t forget to UNCHECK “Program Memory Enabled” to avoid wiping out the Firmware!.

    See video
    (This video had been done with a 16F1847. For a 16F1827 just select the right PIC but the process remain the same.)

    Case 2 You bought the PIC Firmware from me and burn a virgin PIC.
    In PicKit3 the loading order is critical!
    Load FIRST the Eeprom file THEN the Program file/Firmware.
    Check that Configuration = 3F04 3713
    See video

    • Use PICkit3.1 ONLY to burn the chip (No IC-Prog or PICkit2 here! They don’t support this PIC.).
      Use a serial/USB programmer then insert the PIC into its socket on the DC-CDI board:
    • or use the ICSP connector to program the PIC 16F1827 in situ with PicKit.
    • (More info on ICSP in comment section)

    Some guys seem to run into issue with Pickit3, here are some info that could help you to Troubleshoot Pickit3


    Accuracy

    • Error in degree:

    RPM limitation:

    Above the last RPM value on top of the XLS sheet, there are no more sparks.
    Below: If RPM goes over 10653, sparks stops.
    Rev limiter


    LED

    Click here for more info...
     
    – At startup, Led D4 flashes 3 or 4 times and goes off meaning that PIC software is OK.
    (if it doesn’t flash, something went wrong with the power line…)

    – When PIC input pin10 is high [>2.4v], led D4 (pin18) is on. So LED D4 pulse with the pickup.
    If D4 LED always stays ON, that mean either:
    – CDI is in “Autospark” mode.
    – or pin10 is always high! => Measure pin10 and try to lower R9 value from 10Kohm to 1.8Kohm or less according to your pickup…


    Jumpers

    Click here for more info...
     
    JP1: AUTO SPARK
    – Hook a ignition coil to the DC-CDI, with its sparkplug connected to a solid ground.
    – Put a jumper ON so RB2/pin8 is connected to ground.
    – Power on the DC-CDI
    – LED blinks 3 or 4 times and stay steady ON when the PIC self generate sparks at 3000RPM without the need of any pickup.
    See Video

    Please note that:

    • Soldering R2 is mandatory!
    • JP1 is tested once at boot time! So if you move the jumper, reboot the CDI.

    JP2: PICKUP TYPE
    – If the pickup gives a Positive first pulse, then connect it to PN input and close JP2 in PN position.
    – If the pickup gives a Negative first pulse, then connect it to NP input and close JP2 in NP position.


    JP3: PICKUP SENSITIVITY
    – open (default) : Low sensitivity. For pickup that gives 6 to 50Vac.
    – close: High sensitivity. For pickup that gives 5 to 20Vac.


    Troubleshooting

    Click here for more info...
     

    Reset diagnostic
    After a reset:
    – If led blinks 3 times it means that +5v has been cut (CDI has been powered off.)
    – If led blinks 4 times it means that a RESET occurred (Manual or due to parasitic transient/aka EMI)

    EMI
    Electromagnetic Interference comes when external high dV/dT append nearby the processor.
    – Only use ignition coil designed for CDI (not for TCI!)
    – Use 5K to 20Kohm spark cap noise eliminator
    – Use shielded sparkplug wire
    – Ground shift: Sparks induce high current in the ground line. If gnd trace or wire are too narrow, ground level will raise up. Use a separate strong ground wire as close as SCR’s cathode as possible. Don’t use a unique ground path for microcontroller AND ignition coil!
    – Add a filter across the SCR (snubber, varistor, Ferrite bead choke)
    – Search for bad solder joint
    – Use a good power rail strong and stable, can need more caps on it. (100uf + 100nf + 10nf)
    – Add 100nF decoupling cap to power supply pins as close to the PIC as possible
    – Add 100nF between reset pin (MCLR pin4) to ground
    – Lower R1 pullup resistor to 4.7k
    – No floating pins. Ground any unused pins if they are at low state.
    – Use the last firmware
    – Shield the circuit: Enclose the PCB inside a metallic box connected to ground.

    Troubleshoot.pdf

    Before asking for help…

    See Troubleshooting section at ACCDIv79 page


    PHOTOS.

    Click here for more info...
     


    Signals at 300rpm 600rpm 8400rpm


    VIDEOS.

    Click here for more videos...
     
    How a pickup works?

    Honda CY80 converted from Magneto to DCCDI running until his pickup breaks!

    On the bench, measuring DC converter transistors at 52°C



    VERSIONS

    Click here for more info...
    • Version 7.9R17r1c0:
      • [hard.] PIC 16F628 at 4MHz.
      • [hard.] Prototype with a hand crafted transformer.
    • Version v7r2c0:
      • [hard.] PIC 16F1847 at 16MHz.
      • [hard.] Prototype with a complete DC converter.
      • [soft.] Bug corrected under 500rpm.
    • Version v7r3c1:
      • [soft.] Major improvement at low RPM (Works from 42RPM).
    • Version v7r4c0:
      • [soft.] Alow pickup position from 0 to 360°.
      • [soft.] Bug fix when 100us steps
    • Version v7r5c0:
      • [hard.] PIC 16F1827 at 16MHz.
      • [soft.] Power of DC converter: 20mj.
    • Version v7r6c0:
      • [soft.] Sleep mode if no pickup detected. (only 2mA)
      • [soft.] Power of DC converter: 50mj.
    • Version v7r7c0:
      • [soft.] Accuracy increased
    • Version v7r7c1-c2:
      • [soft.] Bug fix at 450rpm
      • [soft.] Improvements
    • Version v7r7c3-c4:
      • [soft.] Bug fix between 470-1000rpm
    • Version v7r7c5:
      • [soft.] Change HV generation
    • Version v7r7c6:
      • [soft.] Fix HV generation
    • Version v7r7c7:
      • [hard.] Add D8, change R13
    • Version v7r7c8:
      • [soft.] Free version increased to 50 trials
      • [soft.] improvement to avoid false detection of pickup pulses
      • [soft.] improvement to deal with slow rising/falling pickup signal at low RPM

    • Version v7r7c9:
      • [soft.] Bug fix
      • [soft.] Add a reset diagnostic

    • Version v7r7c10:
      • [soft.] Error fix at low RPM

    • Version v7r7c11:
      • [soft.] Error fix in Autospark function

    • Version v7r7c12:
      • [soft.] Add a debug function
      • Works with hardware v7r7c8 with SMD parts.

    • Version 7R8c0:
      • [soft.] Major correction of advance timing at low RPM to ease kick start
      • [soft.] Now 160 RPM values are adjustable (+66%)
      • [soft.] Lowest RPM is now 100 RPM
      • [soft.] Use different step value for low and high RPM to avoid too many XLS warnings
      • [soft.] LED blinking at startup can be disable to speed up the start
      • [soft.] First measurement of RPM can be disable to speed up the start
      • [soft.] Add an operational hysteresis to filter noisy VR pickup
      • [soft.] Add Debug diagnosis with LED
      • [soft.] Better detection of slow pickup signal
      • [soft.] Better protection against EMI
      • [soft.] Correction: RPM now changes when 4stk is selected

    • Version v7r9c1:
      • [soft.] Better accuracy at 400rpm
      • [hard.] Add a 1.5A Polyswitch fuse.
      • [hard.] New hardware v7r7c9 with SMD parts.

    • Version v7r9c2:
      • [soft.] Correction of a faulty Tacho output
      • Works with hardware v7r7c9 with SMD parts.


    86 thoughts on “DC-CDI v7”

      1. Thanks for your interest.
        Actually I had some problems with the prototype… It worked but wasn’t reliable enough (EMI, Heat…) that destroyed a few PICs and Mosfets over the time!
        Now I’m using another converter and the results are good and stable.
        10 firsts PCB have been ordered and I expect them to be here end of October to release a first shot of 10 Kits.

    1. Hi thierry,

      “…Oct the 30th. Hitch! The oversized DC converter destroys SCR… I have to change the schematic and order new PCB That slow down the release to December!”

      You are living an unpleasant situation.
      Hang in there, you will find the solution.
      Best regards.
      Sylvain.

      1. Hi Sylvain,
        I finally found a software workaround to calm down the DC converter!
        It’s also possible to add a 10ohm 0.5w resistor in series with D1.
        That reduce the max rev to 13000RPM too.

    2. Necesito un tci para una moto suzuki gsx 400 fws es 4 tiempos 4 cilindros con 2 captores y 2 bobinas dobles ocea con chispa desperdiciada 1_4 y 2_3 tira al mismo tiempo se puede hacer con un pic o necesito dos? Gracias saludos , abrazo desde Argentina..

      1. Please use ENGLISH ONLY.

        When everything is double (1 pickup+1 coil for 2 cyl) you could use 2 separate TCI.
        But TCI IS NOT CDI
        software and hardware are different.

    3. Hi Thierry,

      I have two questions:
      First, concernig my programming device.
      Is it still compatible with winpic800 ? I dont see this pic in supported device…
      Second, concerning my hall sensor pickup.
      when no magnetic field detected, the output is high and low when detected, the signal is inverted with classical pickup.
      Should I provide a signal inverter (transistor) or not necessery it will work well.

      Regards,
      Sylvain.

      1. Thierry,
        The answer at my question2 seems to be evident.
        If I refer the schematic, I will have to install neither the transitor Q3 nor the diode D6 and link the Q3 emitter pin hole with Q3 collector pin hole.
        Do you agree with that ?

        Sylvain.

          1. Thank you Thierry, 16f1827 is supported.
            About my hall sensor, I need to pullup the output, either with 5v or 12v.
            For this reason, I use R12 and remove R14 for 5v pullup.
            Although, I would have preferred pullup 12V in order to avoid an hypothetic 78L05 regulator overload…

    4. Many thanks Thierry,
      Let me know when your 16f1827 update will be available, if not I will invest in PicKit3.10 and purchase the kit shortly

    5. Hello Thierry,
      I am considering updating the electrics on my 1975 single cylinder 4 stroke Gilera using Chinese GY6 generator parts and your DC-CDI unit.
      Due to limited space in the engine casing it will be necessary to position the pick up sensor a long time BTDC, possibly as much as 250 degrees BTDC. Will your software/firmware cope with that situation?

      1. Hi,
        Download the XLS file above and try a 250 value for “pickup position”, even with a 100us step it will not work below 1500RPM
        (in one word it’s way too long for the PIC’s 8bits counter to wait from the pickup time to the spark)
        Unless I mod the code to add another step of 200us, that seem feasible if it doesn’t trigger other issues….

        1. Hi Thierry,
          Thank you for your speedy reply.
          Feel free to disagree but my experience suggests to me it is best not to get into modifying working code, as you say, it may well introduce issues that could prove difficult for me to diagnose . . . is the gremlin hardware, software, mechanical.

          I think it best I concentrate on re – engineering the trigger positioning to better suit your working code.
          I was hoping to get away with not removing the rivets that secure the magnet housing to the crank mounting hub. Along with the need to rebalance, when in use, there is substantial torsional vibration present at that joint that rivets are particularly good at accommodating. I don’t fancy re – riveting, likely to wreck the magnets, magnets do not like shock treatment. Maybe I can turn up some sleeve bolts….I’ll have a think about it.
          I’m getting old, it’s currently too cold for my old bones to tinker in the garage anyway.

          I will buy and build your cdi kit and spend the cold months tinkering with the mapping 🙂

          1. I agree but even so I have modified the code to DCCDI v79r4c0 and what append? ….. I found an existing bug in the XLS sheet !
            So a good from a bad!
            I have tested the code with pkp position at 250° btdc, step 200, advance 14° and found 12.7° adv with the scope. Not too bad !
            Of course the bigger is the step, the poorer the accuracy. Anyway it’s no big deal if you got 13° instead of 14° then asks for 15° 🙂

            1. Thank you so much for code change and testing. You don’t get that kind of help from Motec or Cosworth….well you do but only for lots $$$$$!
              As too the accuracy; I spent a lot of my working life building engines for race cars, starting in 1978! In those days most engines used kettering ignition (electronic ignition was in infancy and about as reliable as a politician), checking ignition timing with a strobe light on a dynamometer at 6000 or 7000rpm was a waste of time, timing marks would jump and scatter around maybe +/- 5 degrees or more on all cylinders. Accuracy to 1 degree is a marvel and more than adequate. This old Gilera I’m restoring originally used points with centrifugal advance and no doubt scattering ignition.

              I have now ordered the dccdi kit, looking through the parts list, can I just check, what wattage are the resistors?

            2. Sure thing! But guess which is profitable at the end of the month? 🙂
              well, using a scientific lingo, accuracy is poor but precision is high. You get 13° instead of 14° but always get the same value. So no scatter, no jerk around. That’s the most important, indeed.
              Partlist is now updated, except one all res. are regular ones.

    6. hi Thierry,
      on this moment I ordered a AC/CDI with you ,,, hopely quickly delivered. The n i can start my first steps on the xt600 1984. Who had no iginition included anymore.
      – If i want to use this more advanced one, is there a version coming soon that is even better as this great board ? 🙂
      – if I decide for this board is it possible to get it already programmed with the XT600 curve in it ?

      i’m able to programm and solder, but not really interested in this moment . 🙂

      regards
      marty

      1. Not yet. I have to release first ACCDI v10 which is under tests then I plan to start from this base and add a converter to it for a DCCDI v10 but it wont be before quarter 3 or 4.
        It will be great if you want to play with the timing but it’s not what you seem to want to do…

        Yes I can enter a XT600 curve in the eprom or any other timing curve you want. (Use the Excel sheet).
        Just remember it to me if you order…
        BR
        Th

    7. Hi Thierry,
      I just ordered one of these for an SV650. It says that this will work for 2 cilinders,
      but will this work for a V-twin engine as well ?

      Best regards,
      Herman

      1. Hi Herman,
        Please don’t oversimplify!
        The link For ONE or TWO* cylinders brings you to a PDF which explain that it ONLY works on Synchronous 2 cylinders at 360° thanks to an evenly spaced firing.

        Is the SV650 a 360° engine? Lemme google that for you…
        https://en.wikipedia.org/wiki/Big-bang_firing_order


        and the answer is NO, it’s a 270-450° fire timing.

        I can try to clarify even more, but if you want to deal with the heart of your engine, you must be familiar with that knowledge…

        followup on PM pls
        Regards,
        Th

    8. Hi Thierry
      About the DC-CDI V7
      I have read your linked spreadsheet about the cdi compatibility.
      I have a four stroke single cylinder classic motorcycle- but I only have camshaft sensor from old magneto position. ( I have no easy access to crankshaft for fitting a sensor) Do I understand correctly that the DC-CDI V7 will not work in my application??
      Any other dc-cdi solution I can use.
      Kind regards. Mike

    9. Hi Mike
      More or less, that’s why I used orange instead of red color….
      On a electrical POV cdi doesn’t care, he’s got one signal, compute delay, send a spark. that’s it!
      As the trigger is on the camshaft, there is twice less pulses. But you can fool the cdi with the XLS file giving it advance value at 5000rpm for a REAL 10000rpm.
      But but but, there is another thing, it’s a 4cyl with distributor, right?
      That mean spark frequency is 2 time more then on 1cyl!
      So IF i’m not mistaken, all in all both cancelled (1/2 * 2) and you can use a CDI for 1cyl. (5000rpm will be real 5000)
      Don’t take my words for it, do the figure or better do measurements before going further !
      😉
      Th

      1. Hi Thierry
        Do we have a chance to buy a complete kit for DC – CDI V7 ??
        Or maybe a completed circuit board ??
        Kind regards
        Mike

    10. I just received the CD converter that I asked for on February 6 but the printer circuit board v7,9r19 that I asked for on January 29 has not arrived, could you tell me why it does not reach me.
      Thank you so much

    11. To get information about orders, please write me a PM directly at frtransmic@gmail.com
      This comment section here is about the blog only.

      I sent a note 12days ago: on the 31 January 2020 at 14 h 52 min to inform you when I posted the order.
      Here is the receipt I got from the Post Office: http://ovh.to/Y1TpGrc
      It’s in normal letter without tracking and I suppose it’s into the hand of French or Spain post office…..
      Regards

    12. Hi Thierry
      I am using DC CDIV7R6C0 and the assembled board works fine on autospark. and with the default timing curve as delivered.
      My motorcycle is a Vincent Comet – 500 cc single cylinder 4stroke -( 1 cyl so no distributor)
      BUT… it is a special built bike and I have choice to mount the hall sensor on camshaft or crankshaft … both available.
      However — its an old timer bike , idle speed 750 RPM and max speed 4000 rpm.
      I would like if possible to have the advance speed range 700….4000 rpm only in the advance map from 5 to 35 degrees crankshaft advance.
      I am having trouble to get a smooth curve at these low speeds and when I test with dynamic strobescope the spark timing is very jumpy and erratic.
      Could you perhaps suggest a proposal for such low speed motorcycles ?
      Kind Regards
      Mike

      ps I also want to buy more product and have emailed frtransmic@gmail.com seperately

      1. Hi Mike,
        And where did you choose to fix the hall sensor?
        Ref: https://transmic.net/fichiers/doc_cylinders_strokes.pdf
        camshaft is rotating 2 times less and the CDI will be fooled as it see the engine running 350-2000rpm and you wont be able to set so low rpm in XLS
        Here’s an XLSwith:
        Pkp position : 35° BTDC on crankshaft
        91-480rpm : 0deg
        480 – 960rpm: 4deg
        960 – 4200rpm: I used this Comet timing : http://www.pazon.com/files/PDV1-advance.jpg

        Th
        PS: thanks but sales are frozen now due to the events…

    13. Good day Thierry.
      Why are you using a symmetric triac in V7R2C0 (and in a V7R6C0 a rare triac BT157, with the possibility of forced off state)? Not enough ordinary triac like bt151?

      1. SCRs are unidirectional devices as opposed to triacs, which are bidirectional.
        You suggest using a triac BT137, but write that scr is faster and better …

        1. >and in a V7R6C0 a rare triac BT157,
          Call a spade a spade!
          BT157 is a THYRISTOR or a SCR, it’s not a TRIAC.

          >You suggest using a triac BT137, but write that scr is faster and better
          No. That’s what versions are used for!

          In old V7R2 I used a TRIAC then I noticed that scr is faster and better so in V7R6 I use a THYRISTOR.

    14. version 7.9r2c0
      I see BT137 in the schematic, but I don’t understand why to use it
      but it probably doesn’t matter

      I created a HEX file with curve code, made an import in PICkit 3 v3.01 and do not see any changes in the EEPROM section.
      All cells – FF
      You do not know why this is happening?
      Program memory disabled.
      EEPROM Data enabled.
      pic16F1827 selected.

        1. [closed]
          you were trying to burn a 16F1827 with the HEX for 16F628.
          Be careful to use the right XLS file
          (Excel for ACCDI/16F628 and DCCDI/16F1827 are different)

    15. In your latest version of the DC-CDI is it acceptable to use a BT137-600E in place of the BT157-800R for D7? The latest BOM shows a BT157-800R is needed. My PCB is marked DCCDI v7r6c0.

        1. Thank you. I found a couple of BT157-800R SCR’s and ordered them. I may not need the faster switching because my maximum rpm is only 5,000, but I think I would rather use the faster item.,

    16. Hi Thierry, hope you are doing well. I’m still a little confused about attaching the Pickup. I have some ABS magnetic pickup sensors that require no power and put out a positive first pulse like your Yamaha, Kawasaki scope photo shows. One puts out 2.5V (300-400 rpm) to 13V (5000 rpm) and another puts out 4.3V (low) to 26V (high rpm). Are either of these ABS sensors safe to use as the Pickup, or will the higher voltage damage something? Also, do I wire the Positive lead of the Pickup to PKP-TP1 and Negative to Ground or do I wire Positive to H (pkp_HI)? If I hook to PKP-TP1 do I remove Q2, Q3, R11, and R12, or can I leave them soldered in place? Thank you for making such a nice PCB.

      1. Hi Keith,
        What bike do you have?
        Talking about voltage, both pickup will work. no risk of overvoltage as it’s limited by R13 + D5.
        TP1 stands for Test Point N°1 it’s a output for measure/debug, not an input! Don’t connect anything to TP1 !!
        You have to connect one pickup between GND (J7 or J8) and PKP_HI (J9)
        As it’s Positive first, don’t use Q2,Q3,R11,R12
        If you already soldered the inverter stage: Q2,Q3,R11,R12 no big deal! Just invert the pickup connection too (pkp_hi and gnd) so Positive first will become Negative first but Q2,Q3 will invert everything again and you gets out Positive first at microcontroller input. Make sense?

        The key is that you have to figure out which ABS pkp is for idle, which for high revs and use the latter.
        Pleasure.

        1. Thank you for clearing that up I will make the first pulse negative by switching the two pickup wires. This is going on an old Kohler boxer twin used in a generator application. I will use the higher voltage pickup so starting is easier (pull rope). What was confusing to me was the Schematic showed a point labeled PKP TP1 so I thought the PKP was one of the pickup inputs. Now I realize it is a test point for the pickup. Another question; will I get a hotter spark if I remove R7 (don’t care about high rpm limits)?

            1. Thank you. I’ll just bypass R7 to test if there is a big difference in spark intensity. If there isn’t, I’ll run with R7 in place. I’ll also check the temperature of the DC generator running with and without R7. What specific part of the DC generator should I be most concerned about?

    17. Unit appears to be working OK. Steady, visible spark. Thank you very much. I decided to check some voltages so used the Troubleshooting guide. I removed the PIC, then checked for a short between TP2 and Ground. I did not have a dead short, but 64.7 K resistance. Is this normal or should resistance be zero? I also grounded pin 2 of DC unit to check for high voltage. Got 415V DC. Reason for troubleshooting was expecting several hundred volts between TP2 and Ground when unit running. I get 87 volts AC in Autospark and 123 volts AC at 500 rpm dropping to between 60 and 70 volts AC at 2000 through 4000 rpm. If this is normal, OK, just did not expect voltage to drop as rpm went up.

      1. For sure the voltage drops as rpm goes up as it takes a few millisecond to restart after each spark. The more the rpm the less time to reload!
        Seems pretty low indeed… I got 220Vdc on Autospark mode but it depend on the multimeter.
        Only True-RMS multimeters are able to accurately measure non-sinusoidal ac waveforms with irregular patterns, squares waves…

        1. Thank you very much! You were correct about the multi-meter. Says RMS on meter but obviously not true RMS. On oscilloscope I got 217V on Autospark dropping to 197V at approx 5000 rpm. All is good! Now to program my new advance curve. Do you sell a programmed PIC separately in the event I damage this one during programming? Thank you again for such a nice kit.

    18. I’m having difficulty sourcing the F1 polyfuse for the dc-cdi pcb. Is a 2.2A trip 16V fuse with 1.1A hold current OK?

    19. I have assembled the DC-CDI and it is sparking well in auto spark mode, but I am not getting a spark with a manual trigger i.e. a jumper lead to ground. Is there a lowest frequency for the CDI to spark?
      I have R9, D5, D6, R13, R14 (linked to 12V) in place for points. I measure 3.4 volts at TP1 with the jumper lead disconnected.
      I’ve programmed an EEPROM straight line advance curve just in case a blank EEPROM will not operate correctly?

      1. >Is there a lowest frequency for the CDI to spark?
        Yes, a manual pulse wont work. The processor need a even rhythm to compute the time between pulses and to know the timing to apply.
        >I have R9, D5, D6, R13, R14 (linked to 12V) in place for points. I measure 3.4 volts at TP1 with the jumper lead disconnected.
        Seem perfect.
        >I’ve programmed an EEPROM straight line advance curve just in case a blank EEPROM will not operate correctly?
        Sure! A blank EEPROM won’t do much !

        1. I have this firmware installed Firmware_DCCDI_16F1827_V7.9R7C6
          The auto sparking is working fine, but I haven’t been able to produce functional EEPROM settings and would appreciate some further guidance. My target motorcycle is a 1973 Gilera 50cc 2 stroke.
          I’ve tried a few different settings with the spreadsheet curve_adjust_DCCDI_v79r5c0.

    20. Bonjour Thierry,
      Comme expliqué, la fabrication du transformateur semble relativement complexe. N’y a-t-il pas d’alternatives toutes faites dans le commerce ? Les transformateurs flyback semblent pourtant monnaie courante.
      Merci

    21. Hello Thierry.
      i have some questions to you.

      1º- it´s necessary programme main formware every time we programme eeprom, or it´s necessary programme once?

      2º in my case i´m using a pit bike magneto+stator on yamaha bike. My pickup position is +/- 130 degree.
      2.1- if i use 130 degree with 10 degree advance the cdi don´t work good, even on test mode (3000rpm) the pulse from coil is very slow. If i use 120 with 10 advance the test mode is ok.
      2.2- let´s think my position is 120 and i will increase advance to compensate the difference from 120 to 130. if i change advance from 10 to 50 (all cells 10 or 50) the spark point don´t change almost nothing, i´m using timing strobe to check timing.

      Thank you

      1. Hello Filipe,
        1) No. just check the “EEprom data” tick and uncheck the “program memory” tick
        2) First upgrade the firmware to the last version. I will send you Firmware_DCCDI_16F1827_V7.9R7C8 by PM.
        BR

    22. On DC-CDI is there a best Ohm value for the ignition coil primary? Looking to use a two-wire secondary coil on Kohler 2-cylinder engine. I have a 0.5 Ohm coil and a 1.6 Ohm coil at present. Would a 3.0 Ohm coil be better? I’m looking for reliability and do not want to create a problem for the DC-CDI unit with the wrong primary resistance. Thank you Sir

    23. I have your DC-CDI v7r6c0 ignition kit that is working fine on a Kohler 2-cylinder opposed engine. I notice you now offer a v7r7c8 kit. Does the new kit offer a hotter spark, or just some SMD features?

    24. Bonjour Thierry, c’est tu possible de se parlé en privé car j’ai pas mal de questions pour toi sur la construction d’un DCCDI pour une appli particulier.

    25. I am using your DC-CDI v7r6c0 ignition on a Kohler Twin. Will the tachometer output circuit provide a useable signal to a Tiny Tach? Usually the Tiny Tach input wire is wrapped around a spark plug wire several times. I wanted to try soldering the Tiny Tach input wire directly to the DC-CDI tach output, but do not want to damage my DC-CDI. If this is not a good idea, what tachometer will work with your DC-CDI? Thank you.

      1. Tiny Tach seems pretty accurate. Low cost Ebay clones are too lazy (2seconds of update rate)
        Both use an antenna wrapped around the spark plug wire and the signal captured is surprisingly high: 100Vac, so if you connect the Tiny tach input to 12V DCCDI tach output, it wont read anything but wont damage the DCCDI. If you really want to use low voltage input tach it seems that Stack Tach SHOULD work as it can use : Hall effect sensor (5 to 16v) or even 5v square signal directly from an ECU.

          1. I have a 4-digit, 12v digital display tachometer that uses a Hall sensor as a pickup. I will try that on the DC-CDI. Thank you very much. I also look forward to your OLED tachometer.

    26. Do you sell the gray box shown in the DC-CDI photo to house the unit? The box shown for the AC-CDI does not mention fitting the DC version Thank you..

    27. Just received my Ignition Timing Meter. Thank you. When testing the DC-CDI do I hook the pickup connector in parallel or series with the pickup wires on my engine?

    Leave a Reply

    Your email address will not be published. Required fields are marked *