TCI v11

WITHOUT Tachometer output


WITH Tachometer output


A programmable ignition is extremely valuable in repair work because it fits a wide range of bikes.
It’s especially useful if the original part has been discontinued or is overpriced.
And of course it is required if you want to tune your engine.


  • Wireless Programmable TCI.
  • Suitable for ONE or TWO* cylinders
  • For [2 strokes engines] and for [4 strokes engines with wasted spark*]

    * On 4stk engines with 1 pickup on the crankshaft, one spark occurs at the compression stroke and one at the exhaust stroke.
    Firing in the exhaust stroke is a wasted spark. Hence the name…

  • Easy programming via WiFi connection.
  • You need a simple web browser on any smartphone or laptop.
  • Compatible Windows, Android, Mac, Linux
  • 80MHz MicroController control unit
  • Firmware included
  • Non volatile configuration
  • One programmable ignition timing curve.
  • Rev from 10 to 30,000 RPM.
  • 0 deg advance from 1 to 500 RPM. (To avoid kickback)
  • Adjustable timing in 13 steps from 500 to 20,000RPM.
  • Hard rev limiter.
  • Legal Temporary rev limiter.
  • Live Display of RPM and Timing via Wifi.
  • 1 input for an inductive pickup (VR).
  • It is possible to use Hall Effect Sensor or Points (An external resistor is required)
  • Pickup polarity can be set to Positive, Negative or Automatic detection.
  • 1 output for an INDUCTIVE coil type from 1.5ohm to 5ohm.
  • 1 input for Kill switch.
  • 1 output for 12v Tachometer signal.
  • IGBT Coil driver
  • Coil current: Max 15A
  • Coil Over Voltage: Max 430v
  • Coil protection: shut off after 1sec if there is no pickup signal.
  • Power supply voltage: 12v battery (DC 10 to 16 volts).
  • Quiescent current 30mA
  • Protected against reverse supply voltage.
  • Dimensions: 100 x 60 x 25mm (3.9 x 2.4 x 1inch)
  • Plastic box potted for Electrical insulation, Protecting components from mechanical shock and vibration, thermal shock or moisture.
  • 15cm(6”) 1.5mm2(16AWG) wires soldered with 6.3mm automotive female connectors.
  • Made in France.


If there is one separate pickup:
=> This TCI works.
If there are 2 separate pickups (one for low RPM and one for High RPM):
=> This TCI works and uses only the High RPM pickup.
If the engine works with Missing Teeth:
=> This TCI will NOT works

* Twin-cylinders at 360° crankshaft angle:
The engine works with WASTED spark.
If there is ONE twin coil:
=> This TCI works.

See: TCI compatibility

Remember that ignition coils are different from TCI to CDI systems.
– CDI coils have low inductance and an impedance of around 0.5-0.8ohm
– TCI coils have higher inductance and impedance of around 1-5ohm
(1ohm for electronic ign. 3ohms for transistorized ign. 5ohms for points ign.)


Click here for more info
A pickup (aka: VR, Variable Reluctor, Reluctor) is a sensor with one signal and one ground line.
It consist of a wire coiled around a magnet. When a ferrous object passes by the magnet, the magnetic field is modified and a voltage pulse is generated in the coil, resulting in a sine wave.

– 1 input for inductive pickup with 1 signal per crank revolution.
– Pickup must put out 3 to 30Vac
Points, reluctors, Hall sensors, optical sensors can also be used as long as they give only 1 pulse per revolution. They may need an additional pullup resistor.
– 3 wires digital Hall effect sensors need an external pull-up resistor. The default voltage output is equal to Vcc (+5v to 24v). When a magnet passes in front of the sensor, the output voltage goes low and the ignition will detect the RISING edge meaning the trigger moment will be when the magnet LEAVE the sensor.

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

Pickup Position
Even if it seems instantaneous, the flame front take some time to expand and ignite all the air+fuel mixture in the combustion chamber.
It becomes critical at high rpm. That’s why the ignition box should fire the spark a few degrees before the piston reaches Top Dead Center so the mixture explode just when the piston begin to back up.
Generally engines need to be ignited around 30 to 40° BTDC (Before Top Dead Center)

It’s the ignition box job to calculate the timing according to the RPM. It makes the calculation as soon as it detect a pickup signal.
Therefore if the box need to ignite the engine 40° BTDC, the pickup signal MUST trigger the box BEFORE 40° BTDC.
So the pickup position must be at the very least 40° or 42° BTDC.
Due to mechanical constraint, manufacturers put the pickup at different position, Yam XT600 was 36° btdc, Honda often uses 72°…

As the ignition box has been triggered way before it needs to fire the engine, the box just wait until it’s time to fire.

How to calculate the Pickup Position?

Pickup Polarity

Check the polarity of the pickup (Negative then Positive/NP or the opposite PN) with a Needle galvanometer (in milliAmp position) while kicking.

For a better understanding, this video can help.

Hall Effect Sensor
The ignition can use 3 wires Hall sensors.
Models : Hamlin 55100, Allegro A1101-A1104, Allegro old 3141-3144, Honeywell SS495, SS49E etc…
Pullup resistor: 370ohm (270 to 1200ohm)

Temporary Legal Rev Limiter:

Click here for more info
If the Kill switch is switched ON then OFF once during the first 30 seconds after the engine starts, a Temporary Rev Limiter will allow a maximum of 3500RPM for the current run.
After 30 seconds, Kill switch will operate normally and stop the TCI.
The TCI runs without restriction after the bike has been stopped and restarted by the Master Ignition Key.
In countries where 50cc motorcycles are highly restricted, the bike appears to be legal in the event of a control…
It can also be useful if a rookie rider is trying out the bike.

Live Display of RPM vs Timing via Wifi:

For diagnostic or tuning purpose, it’s possible to live view RPM and Timing in degrees BTDC on a remote PC connected through Wifi: Video
Because of the impact on CDI performance, please disable this function when you are done!

Ignition timing

Draw the ignition timing curve into this XLS sheet.

Rev Limiter:

The last RPM value you enter is the “rev limit” that stop all sparks.



How To setup

Please Print and follow this procedure: Setup Ignition box.pdf


– For test only. If “Auto-Spark” mode is set to 1,2,3 or4 during Setup then once the TCI is powered on, it automatically drives the coil at 300 to 10,000RPM without the need of any pickup.
0 = disable. Useful to test the ignition box, coil, sparkplug(s).


– Only for testing purpose. This function will fire a spark as soon as a pickup pulse is detected, bypassing the advance timing.
/!\ Don’t use the function on a running engine with pickups or hall sensors otherwise the spark will append way too soon and could damage the piston !!
But with points and mechanical advance system, TCI is acting as a simple Transistorized Ignition.

Diagnose with LED.

Click here for more info
– If the box is started in RUN Mode: The Led will turn steady ON until a pickup is identified.
The led blinks in time when a pickup signal is detected.
The led turns off when the Maximum RPM is achieved.
The led turns off when the minimum RPM is achieved.

– If the box starts in SETUP Mode : Led blinks 3 times before flashing once every 5 seconds.
The led flashes briefly when data arrives through WIFI.


Why CDI coils don’t work with TCI ignitions?


Click here for more info
A 1959 Simson 425S 250cc 1cyl 4stk converted from Magneto to TCIv10:

Scope trace:



Click here for more info

  • Version v11r0c0:
    • First version

  • Version v11r1c0:
    • [soft.] Improvements

  • Version v11r2c0:
    • [soft.] Improvements

  • Version v11r3c0:
    • [soft.] Improvements
    • [soft.] User can choose RPM in AutoSpark mode

  • Version v11r4c0:
    • [soft.] Display RPM/Timing on Wifi

7 thoughts on “TCI v11”

  1. Hello, I have a problem with TCI V10. On low speeds it works fine, but on higher speeds (>3000rpm?) there are no sparks.

    The Eprom parameters are:

    0 500
    4 5
    8 1300
    12 14
    16 3800
    20 31
    24 9000
    28 30
    32 0
    36 0
    40 0
    44 0
    48 0
    52 0
    56 0
    60 0
    64 0
    68 0
    72 0
    76 0
    80 0
    84 0
    88 0
    92 0
    96 0
    100 0
    104 0
    108 2
    112 70
    116 0
    120 4
    124 0

    1. Hi, Send me the result of the “U” (dump) command to
      If it really stop all sparks then 2 possibilities:
      – Legal rev limiter is enable (max rpm = 4000)
      – There are 2 pickup pulses per revs and the TCI thinks it’s 9000rpm when it’s 4500. (write 4000 at 29, does it changes the rpm where it cuts?)
      Just enable the console output “C” command with a PC connected to the USB port and read the ignition output. compare rpm to real rpm, look for any messages etc…

      Addendum: Silvio, I noticed this could happen with noisy pickup, long pickup wires, wires that go along to noisy wires such as ignition coil, spark plug cable etc..
      Electrical noise can be detected as false triggering and fool the TCI. Just add a 330 to 470ohm pulldown resistor between pickup input and ground close to the TCI

  2. Hi Thierry,

    This is a very nice device for all of us old motorcycle lovers.

    I plan to use the edge of the advance mechanism as the reluctor ( the fixed part ). I will end up with a ‘wasted spark’ system, with the module firing twice per revolution ( this is a two stroke motorcycle )

    Do you have some recommendations for common inductive pickups to use? I need something small to fit under the timing cover on my 1973 Yamaha. 25mm or less in length / height would be necessary.


    1. Thanks Ted,
      For the improvised reluctor I cannot tell. Shape, size and position is of the most importance.
      I tested this inductive pickup: it works OK.
      All simple analog CDI must use an inductive pickup but digital CDI/TCI have their own processor in it that can make timing calculations on it’s own and can use a large variety of sensors.
      Meaning you can use a small Hall Effect Sensor with this TCI (ie: Honeywell SS495, Hamlin 55100, SII S-57P1, A3144 etc)

  3. Thanks Thierry!

    Any chance you might go to the next level and add a MAP sensor onboard, or as an optional input? We could have 2D maps. At a premium, of course ( I am a programmer – we have to eat too ! )

    1. Hi Ted,
      Ha haha. I’m afraid 2D maps is above my level that’s why there are no TPS or MAP input.
      Also the hardware part is challenging if you want to deal with different external MAP sensors.
      Plus it’s already the Megasquirt territory.

      1. I’ve been getting a little inspired looking at the ESP32C3.

        A few years back, somebody stripped down the Speeduino code to make a spark only ‘Sparkduino’ fork.
        That seems like a good idea. I haven’t looked to see if MAP or TPS was left in it.

        Your TCI is already a huge improvement over the mechanical system. I’m very grateful for it!

Leave a Reply

Your email address will not be published.