• Don't overlook our Welcome Package, it contains many links to important and helpful information about functions at VHT like posting pictures and sending PMs (private messages), as well as finding the parts you need.


Making spark, cave man with a smart phone

I can say it does not like starting at advance timing. My toggle switch is not well marked and I have made the mistake about 5 or 6 times. The reaction varies, mostly it will not start, and can give a unhealthy knock or kick. Once started at non-advance timing I can switch it to advanced fairly quickly and it just idles a little fast, like 1.6k to 2k, and this is fine by me. When I end my ride I like to switch it back to non-advance to avoid getting it wrong next start.

I've got about 20 miles(3 rides) on the 2003 Ford Escape coils. They seem to work as well as the original coil.

So starting at that non-advance spot is vital. Running at non-advanced spot does not cause knocking, but gives poor acceleration, limit speed to 50 to 60 mph max.
I apologize if I was unclear, the lookup table would initialize retarding (from full advance) at 1rpm. But I see you're handling that via external switch at this time?

I'm thinking there wouldn't be much change in runability unless / until spark energy significantly increases. The change in idle speed is advance as you've noted. In the older 450's, their combustion chamber is very inefficient (which makes them so fun to tune) and much more responsive to not only spark advance but energy as well. It's interesting that the total advance is 34-38deg but reduces to around 25deg if a dual plug mod is performed. I'm surprised however, the CM's run more advance even with a more efficient / open combustion chamber.

Do you know the spark voltage on your Ford COP coils?
I'll give you a warning about the advance. Too much advance too early will result in pre-ignition "ping" which you won't hear over the engine. I would hesitate to go to full advance before 3,000 rpm and even that is early but given you only have 2 settings it'll have to do.
Results of "ping" are the piston top getting eaten away ending in a holed piston.
Hi Jays100, LDR,

Jay, I figured what you meant ;) I'm lately using the term non-advance to avoid the non-polite retarded term. I also have referred to it as starting/idle mark or 'F' spot I think that is a common marking. You mention spark energy. We have observed 12V TCI can give a spark of longer duration with a longer dwell. I have read that CDI gives higher secondary voltage with some possible benefits.

While I can pickup a trace of secondary, it's all a cheap setup so I don't have any faith of my ability to measure the magnitude of secondary voltage with the scope setup. I have come across testers and reference(Honda even) to using distance a spark can jump as some measure. I did play with this a little with my last experiments with the inexpensive DC-CDI's and the driving circuit with the schmidt logic oscillator. Just holding onto the electrode and pulling it back, not very precise. I would like to make a better jig for this. One thing that occurred to me is this could be a somewhat destructive test if you take it to the length where it stops sparking and can jump or arc where it is not intended to do so(damage coil).

And on that note we get to Jim's warning. Yes, thanks for the heads-up, I agree I am taking chances with damaging my engine. Hopefully my slightly warn CM400 engine is in my favor. I just finished a compression test comparison on the newer CM450 versus the older CM400. The CM450 measured 150 on both sides. CM400 got 135 on left and 140 on right passenger side.

I do hope to eliminate the switch and use the micro to read both spots and then provide a curve in between based on RPM. I believe that is a decent strategy, at least with the simpler CDI arrangement, trying to add dwell for a TCI setup will need some different ideas.

I will mention these DC-CDI's did not want to trigger on just the positive pulse of the bench circuit I drew, I coupled it with a 0.1uf cap and that worked. That doesn't correlate with my finding that I can use just a positive pulse from ground to trigger the AC-CDI in my bike. If one can assume this is routed to a SCR, a SCR datasheet indicates it needs a positive voltage trigger.
Last edited:
Next the term trigger will be verboten as per societal whims. I plan on continuing to use the term snowfkake come this winter.
I want to thank you guys for these discussions as I eat popcorn from the sidelines and try to soak up some learning in these areas.
To quote Rhett Butler "Frankly, my dear, I don't give a damn" about societal whims. I'll continue to use common English language in regards to mechanical devices.
Your gonna pull Frank into this ;) I'm more worried about Tom coming up from Florida and breaking my leg if I get too inappropriate on this lovely forum ;)
I'm more worried about Tom coming up from Florida and breaking my leg if I get too inappropriate on this lovely forum ;)

I usually aim for kneecaps.

But I'm not politically correct at times either, and frankly my dear I definitely don't give a damn.
Our goal here is inexpensive(less than $50) electronic ignition with advance timing curve upgrade for older points based bikes.


So here are some pics of a grinder being used as a bench test setup.
It is arranged with speed control using a variable transformer I have,
but I'm sure a common light dimmer would work as well.
It's nice because it is about the size of a small cam rotor
and it can get up to 12K rpm speed. I need this as a test jig
as using the bike itself can be somewhat of a hassle.

I hope to arrange a general system to provide electronic ignition
upgrade for old points based bikes. I'd like it to be as cheap and
flexible as possible, like parts costing in the $20-$30 range.
This stuff should not cost $100's of dollars.

So for the moment I am looking at using these HALL sensors
along with tiny magnets.
They are nice and tiny, cheap, and convenient to use.
The magnets would be fixed to the CAM or rotor, the
HALL sensor(s) would be on a plate surrounding them.
They provide a nice digital output that can easily be shown
statically on an LED for adjustment.

Have put on about 150 miles with my discount Escape coils.
Second year on the the discount AC CDI with a switch from
idle to advance timing. I tried putting a micro in-between
and use only the idle signal, then calculate the advance point.
This was not a success, too much error gave me a jittery advance.
I believe the error was due to mechanics and not the software.
So the RPM(rotational speed) is not as regular as I thought it would be.
End result is a jittery advance that my bike did not enjoy.

But it was kind of a success, in that I was able to put a microcontroller
in-between, decode the coil input signal, and arrange an output to trip
the CDI. It worked solid at idle F mark. I arranged a switch to tell the
micro to use a calculated ADV point, that was jittery but did run, just
not well.

There are a few simple things I can do. Rather than just base it on
the one idle timing mark, I can add in the advance time and just automate
my switch, or better yet calculate a advance curve between the two. Since
the advance timing mark is so close it should be accurate compared
to a near full rotation base on just the idle mark.
I will hopefully do that as a next step.

What would be even better? Use a missing toothed gear appears to be the modern
solution. This gives many timing reference marks thru the entire rotation.
There are some negatives here, in that the missing tooth requires some
added speculation that may require a full rotation before initial start fire.
Some other drawbacks are that a more complex sensor is needed,
one with the magnet built in to sense a toothed gear as apposed to
a single magnet attached to a rotor. And these sensors are typically
bigger, harder to retrofit into a small space, and more expensive.
I believe this arrangement would be needed for TCI ignition with the longer
dwell time, but a simpler system should work with a basic AC/DC CDI.

A single pickup and mark system gives 2 reference points, a leading edge
and a trailing edge. So for example, points system these correspond to
start dwell and end fire. This strategy could be used to provide a mark
at the advance and idle mark(leading and trailing edge). And you could provide
this with non-contact hall or reluctor arrangement along with a long magnet.

I'm trying to come up with a general solution that could be applied to other bikes,
in particular the need for retrofit to modernize older points bikes.
These older bikes are less likely to have a starter motor and rely on kick start,
with limited room for sensors and more need to fire immediately on start attempt.
So it's important that they can react fast at start time. This requires simplicity,
like a signal dedicated to this F mark. Adding in the ADV mark point as a leading
edge or second measure will provide good timing for the advance.

All for now, thanks!
So I am still plugging away at the ignition moderernization act for old bikes.
Here are some printouts from my micro running ignition at idle
on the bike I collected tonight during the thunderstorm, in the
garage on the stand:

r:39340,41787,43909(4569) af:3493,3739,3964(471)
rc:197 re:0 ae:0 rt:8092941 adv:0 igus:0
r:39361,41080,43443(4082) af:3516,3675,3902(386)
rc:199 re:0 ae:0 rt:8096800 adv:0 igus:0
r:38898,40687,43110(4212) af:3475,3639,3889(414)
rc:199 re:0 ae:0 rt:8053959 adv:0 igus:0
r:39142,40472,43107(3965) af:3485,3619,3902(417)
rc:200 re:0 ae:0 rt:8080635 adv:0 igus:0
r:38814,40403,42327(3513) af:3452,3613,3787(335)
rc:200 re:2 ae:0 rt:8111200 adv:0 igus:0
r:38363,40556,43054(4691) af:3421,3626,3864(443)
rc:269 re:4 ae:0 rt:8073607 adv:0 igus:0

So the 3 numbers after the 'r:' are min,avg,max in microseconds(us)
of revolution timing on the crank. A value of 4000(4 milliseconds)
is 1.5K RPM. The number after 'af:' is min,avg,max in us
of the time between ADV mark and F mark.
The number in '()' is just difference of min, max so I can easily assess
deviation. The statistics print out every 8 seconds.
'r:' is rev count per statistic. If you do the math, the time between
ADV and F mark is around 32 degrees.

I'm not quite there yet, there is still some noise issues I'm trying to work out,
it's all breadboard, yada, yada. It's got to get to the point where I can drive
my bike with it reliably doing ADV work before I can say I have a viable solution.

Here's some pics to stimulate you. This is scope of ADV and F mark signals from
stock pulser coils on the CM400 crank. ADV is connector left front, F is connector
right front. I have been running this bike where I just switch from F to ADV once
I get it started with a mechanical switch, this goes to an cheap AC-CDI. Notice the
trailing F signal is chopped off, it's being consumed by the CDI.
Here is a pic of Advancer signal(connector right back). This is some coil built into stator.
It is used by stock CDI ignition to do advance somehow. Just disconnected on my setup.
Here is a pic of the high voltage supply(200-300v) charging up the CDI. I use the white wire,
the blue I just leave disconnected.
Here are a few pics of the micro breadboard I'm working with. Those are 3 opto-isolators I'm
using at the moment. The output has a transistor added where the trigger to CDI is generated.
Other two used for ADV and F inputs. There is a 5v regulator. There is a esp8266 D1-Mini board
as micro currently.
Here is a pic of a few cheap pulser coils I picked up to play with. I tried them briefly and
they generate a pulse on my grinder wheel with magnet. Interestingly they have a magnet embedded.
Maybe I can use it as a guitar pickup as well. Also you see a few custom wound ones I tried my
hand at before they arrived. They produced a signal, but somewhat weak(1-5v peak).
Also you see a 100k thermistor, I'm interested in trying these for reading engine temperature.
That would be a separate project.
The HALL sensors are cool, but I'm thinking that trying to use points contacts as input signals
would be cool since it would be an easier retrofit and any electronics are not going to survive
well in the hot CAM area for older bikes. But, I need to get this working well on my 80's bike
first, but I would eventually like to make something for older points bikes if possible.


Thanks for reading! Comments welcome, cheers.


  • 20230929_222229.jpg
    1.4 MB · Views: 2
Still plugging away at this micro-based smart ignition for old bikes.
It's a slow process. You slowly learn, build up better tools, fixtures, strategies.
I did have a successful moment tonight after many disappointments. Got the
bike running with the micro gadget between, and it ran reasonably good.

So noise can be a problem when you are producing spark. It can reset your micro,
or produce false input signals. If I fire between ADV and F this can generate some
false signals when I'm trying to read F for example.

Working with breadboards is a blessing and curse. Easy to change stuff, but subject
to flaky connections, etc. But it doesn't help rushing into a soldered circuit board if you
are changing stuff.

Working with the 2 pulse signals ADV(left front on connector), and F(right front on connector).
The strategy is to generate the CDI fire output between the two, as appropriate, based on RPM.

I removed my add on discount CDI and 2 escape coils and switch between ADV and F. That worked OK, and I drove it with that for
a while to prove it out. But for various reasons I wanted to remove it and go back to the original

So I did that, it did mess me up somewhat in that this required a much stronger trigger signal
than the discount CDI needed. To figure this out I tried various resistors from low to high
between the CDI and the pulse signal. You can run on just the F wire connected in this 4 wire connector.
So it will start and run with up to 200 ohm put in series here. It does not run with ohms much higher.
So the SCR in the CDI needs a rather strong pulse high to fire. From a little research they make SCR's
that trigger at various levels. So my discount one is newer and it just fired at a lighter signal, so
it took me a while to figure out I need to drive this old CDI really hard. I switched to using a PNP
on 5v with a 100ohm resistor, versus the NPN with 1K or more pullup(not enough drive).

So that was my last big hang-up, but it fired up and ran, and I got some recorded measurements.
I just added some ability to log to built in flash, and then collect it later. That's nice as
I don't have to haul my laptop out and hook it up while trying on the bike.

So I've got some statistic logs printing out to try and make sense of what is going on.
This is a little tricky as doing this extra work can interfere as it take's time to do,
and for ignition timing, it's all about accurate timing. But I need the information,
otherwise it's too much guess work. I've got a few LED's I can blink. I have one switch.
I have various test bench fake signal setups that are good, but ultimately it's working with
real hardware that is the goal.

The statistic logs is a moving target, it allows me to learn, or get to feel comfortable that
I can trust what I'm seeing, then adapt it to hopefully better needs.
So right now, the statistics are printed every 4 seconds. Minimums, Maximums and Averages for various
measures like time of rotation, time between ADV and F input signal marks. Right now I need to
determine how well my micro is doing the timing, and get some real readings of the bike and my fake
signals, see how they compare.

Sometime later I'd like to focus on starts. When it does not work, it's a big bummer and you only have
a second or two that you could collect information as no one wants to grind away on the starter. If you are
kick starting, that's even more limiting. It would be nice if you could save a log and be
able to tell if it is not getting the two input signals. Some traces that you could say, oh, it's not working
because of this. I turn on an LED on ADV mark, and turn it off at F mark. That has been helpful to determine
if the input signals are working.

In that 4 wire cable on a CM400 you can run with only the single F pulse wire connected. You don't get advancing,
but the CDI functions on just the F pulse signal going to the CDI. So to run with the micro between,
I connect up 2 wires(ADV and F input signals), and one output that goes to the CDI side F wire. I also
need power, I just clip on at the fuse box now. Also need a ground.
Note that ADV and F signals are similar enough to points start of dwell and end(fire) that it should hopefully
be applicable. Or adding HALL sensors and one magnet.

The switch I use similar to how I used to without the micro where it simply switches from using F to using ADV.
But with the micro between, it's slightly different as it switches from 'just fire at F time' to fire somewhere
between ADV and F based on RPM. Right now, I have it arranged to progress from 0 to 100% advance between
2K and 4K RPM. Eventually this should be made as an adjustable table, but for now it's a simple place to begin.

Here is the recorded stats from the successful run(on stand). It starts and idles for a while, then
I rev it up. Go back to idle, turn on switch to allow advance. Let it idle, rev it up
and then back down to try and test advance work. I'll add some commentary so you know what some of it means.

** Start - sw1:1 sw2:1 f:1 a:1 e:0
r:0,50185,65003(65003) af:0,5044,15563(15563) rc:38 re:0 ae:0 rt:1907030 adv:0 igus:0
t16:0,5,72(72,357188) lpr:0
r:43301,46324,50389(7088) af:3937,4222,4629(692) rc:87 re:0 ae:0 rt:4030209 adv:0 igus:0
t16:5,5,35(30,711322) lpr:12822
r:Min, Max, 4-sec AVG - this is microseconds(us) time of full crank rev(from F to F say).
af:Min, Max, 4-sec AVG - this is us time measure from ADV to F. Number in () is just max-min to
assess deviation quicker.
rc:# - this is revolutions counted since last 4 second stats.
adv:# this is 0-100% advance, always 0 until I turn switch to ADV position, then based on RPM.
igus:# this is us of time after ADV to fire. Not used unless switch to ADV position.
t#,#,# this is min, max, avg of loop counter to measure loop time and jitter.
lpr:# number of us to perform stats and log. Takes about 1000us to do the prints, and
in this case I am logging to flash which takes a very long 10ms more.
r:43261,45087,46806(3545) af:3929,4103,4313(384) rc:90 re:0 ae:0 rt:4057842 adv:0 igus:0
t16:5,5,37(32,711480) lpr:11629
r:43072,45145,46840(3768) af:3903,4114,4302(399) rc:89 re:0 ae:0 rt:4017915 adv:0 igus:0
t16:5,5,36(31,711282) lpr:12813
r:43324,45079,46941(3617) af:3935,4606,49053(45118) rc:90 re:0 ae:0 rt:4057172 adv:0 igus:0
t16:5,5,47(42,711542) lpr:11460
r:42030,44223,47034(5004) af:3807,4019,4331(524) rc:91 re:0 ae:0 rt:4024306 adv:0 igus:0
t16:5,5,36(31,711281) lpr:12661
r:42104,43893,46591(4487) af:3811,4464,48037(44226) rc:92 re:0 ae:0 rt:4038219 adv:0 igus:0
t16:5,5,46(41,711479) lpr:11582
r:21371,28172,65001(43630) af:1917,2528,4856(2939) rc:143 re:0 ae:0 rt:4028676 adv:0 igus:0
t16:5,5,35(30,710558) lpr:12759
r:18579,20721,43795(25216) af:1663,1848,2019(356) rc:195 re:0 ae:0 rt:4040784 adv:0 igus:0
t16:5,5,35(30,709964) lpr:11523
r:16387,17499,38163(21776) af:1474,1560,1749(275) rc:231 re:0 ae:0 rt:4042319 adv:0 igus:0
t16:5,5,35(30,709230) lpr:12648
r:16052,17179,33220(17168) af:1438,1531,1652(214) rc:235 re:0 ae:0 rt:4037254 adv:0 igus:0
t16:5,5,36(31,709367) lpr:11561
r:17006,17552,34821(17815) af:1522,1566,1609(87) rc:231 re:0 ae:0 rt:4054569 adv:0 igus:0
t16:5,5,35(30,709386) lpr:12801
r:17104,19281,32616(15512) af:1525,1729,2941(1416) rc:209 re:0 ae:0 rt:4029767 adv:0 igus:0
t16:5,5,39(34,709570) lpr:11614
r:34971,39383,42728(7757) af:3144,3563,3892(748) rc:103 re:0 ae:0 rt:4056491 adv:0 igus:0
t16:5,5,36(31,712529) lpr:12664
COMMENT: set switch to do advance timing(between ADV and F).
r:40291,41454,42914(2623) af:3635,3753,3908(273) rc:97 re:0 ae:0 rt:4021100 adv:1 igus:3773
t16:5,5,6285(6280,708077) lpr:11551
r:19427,32690,43212(23785) af:1740,2949,3970(2230) rc:124 re:0 ae:0 rt:4053630 adv:57 igus:817
t16:5,5,40(35,707393) lpr:11066
r:18900,22289,26614(7714) af:1688,2000,2415(727) rc:181 re:0 ae:0 rt:4034405 adv:74 igus:416
t16:5,5,46(41,707568) lpr:11003
r:15034,16896,18872(3838) af:1336,1512,1698(362) rc:239 re:0 ae:0 rt:4038222 adv:87 igus:195
t16:5,5,46(41,708387) lpr:13000
r:15247,15967,17706(2459) af:1359,1497,19020(17661) rc:253 re:0 ae:0 rt:4039662 adv:96 igus:56
t16:5,5,37(32,708656) lpr:11906
r:15249,15800,31839(16590) af:1359,1407,1462(103) rc:256 re:0 ae:0 rt:4044976 adv:98 igus:26
t16:5,5,46(41,708547) lpr:12741
r:15270,15786,16512(1242) af:1358,1411,1481(123) rc:256 re:0 ae:0 rt:4041281 adv:98 igus:26
t16:5,5,45(40,708939) lpr:11480
r:15274,16052,16687(1413) af:1365,1435,1494(129) rc:251 re:0 ae:0 rt:4029076 adv:91 igus:126
t16:5,5,46(41,708372) lpr:12753
r:15193,16355,33400(18207) af:1353,1457,1554(201) rc:247 re:0 ae:0 rt:4039822 adv:98 igus:26
t16:5,5,46(41,708737) lpr:11436
r:12217,13351,30580(18363) af:1087,1189,1392(305) rc:303 re:0 ae:0 rt:4045506 adv:99 igus:10
t16:5,5,45(40,708020) lpr:13006
r:12812,13342,28319(15507) af:1142,1189,1300(158) rc:303 re:0 ae:0 rt:4042861 adv:99 igus:10
t16:5,5,40(35,708254) lpr:11723
r:12398,12825,25916(13518) af:1102,1143,1182(80) rc:315 re:0 ae:0 rt:4039999 adv:99 igus:10
t16:5,5,40(35,707871) lpr:12864
r:12211,12439,25147(12936) af:1085,1108,1148(63) rc:325 re:0 ae:0 rt:4042730 adv:99 igus:10
t16:5,5,40(35,708121) lpr:11637
r:12375,13020,24883(12508) af:1103,1161,1294(191) rc:310 re:0 ae:0 rt:4036426 adv:99 igus:10
t16:5,5,40(35,707752) lpr:12984
r:14632,16539,28939(14307) af:1324,1477,1537(213) rc:244 re:0 ae:0 rt:4035651 adv:91 igus:126
t16:5,5,40(35,708667) lpr:11770
r:15958,16358,33057(17099) af:1420,1460,1506(86) rc:247 re:0 ae:0 rt:4040667 adv:92 igus:112
t16:5,5,45(40,708463) lpr:13027
r:15863,16378,32962(17099) af:1420,1462,1531(111) rc:247 re:0 ae:0 rt:4045418 adv:93 igus:98
t16:5,5,46(41,708477) lpr:12879
r:16012,18087,19325(3313) af:1434,1622,1731(297) rc:223 re:0 ae:0 rt:4033451 adv:73 igus:459
t16:5,5,45(40,708533) lpr:11622
r:18588,19248,38379(19791) af:1665,1719,1782(117) rc:210 re:0 ae:0 rt:4042107 adv:72 igus:476
t16:5,5,46(41,708232) lpr:12594
r:18520,19048,19948(1428) af:1655,1708,1792(137) rc:212 re:0 ae:0 rt:4038231 adv:76 igus:384
t16:5,5,46(41,708411) lpr:11695
r:18879,21250,37933(19054) af:1689,1899,2057(368) rc:190 re:0 ae:0 rt:4037544 adv:61 igus:702
t16:5,5,46(41,707890) lpr:12815
r:20698,21511,42273(21575) af:1853,1921,1976(123) rc:188 re:0 ae:0 rt:4044140 adv:56 igus:836
t16:5,5,46(41,708072) lpr:11567
r:20721,21359,21938(1217) af:1853,1918,1983(130) rc:189 re:0 ae:0 rt:4036969 adv:54 igus:874
t16:5,5,46(41,707858) lpr:12799
r:21537,25923,30405(8868) af:1924,2471,23658(21734) rc:156 re:0 ae:0 rt:4043995 adv:16 igus:2016
t16:5,5,37(32,706992) lpr:11570
r:27364,28599,30031(2667) af:2467,2574,2724(257) rc:141 re:0 ae:0 rt:4032578 adv:18 igus:1968
t16:5,5,46(41,706365) lpr:12858
r:27039,32456,39194(12155) af:2430,2930,3586(1156) rc:124 re:0 ae:0 rt:4024641 adv:1 igus:3432
t16:5,5,46(41,706590) lpr:11583
r:37641,39206,65004(27363) af:3387,3527,3834(447) rc:103 re:0 ae:0 rt:4038313 adv:1 igus:3578
t16:5,5,40(35,706470) lpr:12834
r:37517,39247,40838(3321) af:3375,3551,3764(389) rc:103 re:0 ae:0 rt:4042498 adv:1 igus:3426
t16:5,5,40(35,706644) lpr:11571
r:37800,39326,41818(4018) af:3419,3559,3834(415) rc:103 re:0 ae:0 rt:4050587 adv:1 igus:3562
t16:5,5,41(36,706380) lpr:12985
r:37674,39381,42823(5149) af:3401,3565,3924(523) rc:102 re:0 ae:0 rt:4016961 adv:0 igus:0
t16:5,5,5726(5721,707379) lpr:11939

All for now from MN, starting to get a little chilly, choke.
Gotta love the work you've been doing, going to go through this again when I have a bit of time.
I have just about all those parts (including Harley stuff) and a bunch of Hall sensors I picked up years ago (including some with complete circuit board)
Don't I have any have any CoP though but was looking to build a cheap electronic ignition for re-phased XS650, using both ends of cam instead of having ATD one end and points the other
As your way further along than I ever got, any idea if an Arduino be used for programmable advance? (early electronics were only 4 bit)
Hi PJ. Thanks for the comment. I'm using the Arduino framework, just not the IDE, using the Visual Code IDE as it's got some slightly better capabilities. The Arduino started off with a lesser powered AVR micro, but it's goal is a generic easy to use programming environment. It could be used with this micro and code - which is a 80Mhz ARM like processor, from china. When I was young we used 8008 Intel micro, my boss at the time told me about using the 4-bit 4004. The HAL sensors are are very nice to work with. And we are seeing them used in retrofit electronic ignitions, on the CAM in place of points. I have concerns with the higher temps in that area and wonder how well they survive. My bike has got the pulse coils, so it makes sense for me to start there. I like the idea of trying to use points inputs as an initial upgrade, and adding HAL or pulse sensors as a bonus. The software and programming tools are readily available. The programming is a little cave man like as the timing is so demanding.
Are you using the Arduino or Speeduino chip? As I recall, the speeduino unit may offer some advantages in what you’re doing.
Hi Jay, I'm using the ESP 8266 on a small dev board called D1-Mini. You can buy them for about $3, they come with a USB connection. The board includes a USB to UART chip for programming and logging, a 5v(from usb) to 3.3v regulator to run it, LED, reset-switch, connectors for IO.

The Arduino started on a Atmel(bought by Microchip) ATMEGA chip, but Arduino also is a development IDE and it does work and have libraries for other micros.
There are a good variety of ARM based microcontrollers that offer more processing power, from a number of vendors. I started with the raspberry pico dev board
you can get for $5. Migrated to the 8266 as I like the slightly smaller form factor and cheaper price.

The speeduino I believe is a DIY effort for engine control. There are a number of them, like Megasquirt/DIYautotune. There is much to learn from these and they could be used but they tend to focus on car engines and more modern things like also doing fuel injection. So they tend to be more complex, more expensive, focused on cars.

So when I got home from work today, first thing I did was take cover off crank to try my micro with the timing light. It did pretty good. I could notice an occasional miss, not too noticeable. Start it with switch set for no advance. It gives a rock solid F mark(possibly an occasional miss). This is easy, you see the F sensor, you fire. Then switch set to do advance, I see it jitter a little around F mark. In this mode I am calculating a position from the ADV sensor input to fire. So I get probably max amount of jitter as it's the longest possible calculated time from ADV. It probably makes sense to just use F to fire until RPM get's to where you want to use advance, but for now that works for my purposes.
I'm thinking there is a miss going on with a false or missed sensor reading. They can be sensitive to level handing, noise, hopefully I can improve the pulse input circuit to perform solid. And then drive it around the block a few times.

So part of this process is getting the information needed to tell what is happening. If it could record and then spit out the information that, hey your input sensors are giving me bad signals or good signals.

And hopefully this could be applied to a points system. I like the idea of trying to make that happen.

Which brings me to an important question! How easy is it to just disable the mechanical advance? Fix it, say to full advance or no advance. I like the idea of making it as easy as possible to install, try it out, or remove and go back to just points and mechanical advance. Especially if you got stuck on the side of the road.
Ancientdad is running a 450 with fixed timing, he’d know best.
T’wer me, I would wedge the bobweights between the stops with springs removed. I think ancientdad did it the other way, and put wedges between the cam and bobweights. I don’t know how he did it though.

As to the speeduino chip, I have no knowledge either way, was just asking.

Glad you’re making progress.
So here is log of test. From what I can tell, it's getting an occasional glitch where it misses a pulse signal.
So hopefully I can get that cleaned up. Numbers look clean running on a test signal on bench, so I'm pretty sure it's
a problem with those pulse signals, missing them or adding them. Maybe adding more measures on
those can shed more light.

r:0,40675,65005(65005) af:0,4727,18714(18714) rc:23 re:0 ae:0 rt:935530 adv:0 igus:0
r:46099,49701,58597(12498) af:4206,4567,5551(1345) rc:81 re:0 ae:0 rt:4025820 adv:0 igus:0
r:44630,47104,49202(4572) af:4082,4319,4544(462) rc:86 re:0 ae:0 rt:4050980 adv:0 igus:0
r:44835,46406,48823(3988) af:4088,4255,4542(454) rc:87 re:0 ae:0 rt:4037349 adv:0 igus:0
r:43996,45896,47846(3850) af:4020,4205,4415(395) rc:88 re:0 ae:0 rt:4038927 adv:0 igus:0
r:43674,46035,48444(4770) af:3969,4211,4522(553) rc:88 re:0 ae:0 rt:4051132 adv:0 igus:0
r:43985,45950,48828(4843) af:4003,4201,4564(561) rc:87 re:0 ae:0 rt:3997682 adv:0 igus:0
r:44128,45980,65004(20876) af:4011,4188,4832(821) rc:88 re:0 ae:0 rt:4046290 adv:0 igus:0
r:43812,45470,47360(3548) af:3980,4155,4398(418) rc:89 re:0 ae:0 rt:4046830 adv:0 igus:0
r:43184,45123,65003(21819) af:3925,4104,4690(765) rc:88 re:0 ae:0 rt:3970855 adv:1 igus:4164
r:43330,45666,60179(16849) af:3925,4677,48828(44903) rc:89 re:0 ae:0 rt:4064327 adv:1 igus:3948
r:42815,44479,46830(4015) af:3901,4058,4334(433) rc:91 re:0 ae:0 rt:4047592 adv:1 igus:4080
r:42902,44555,47517(4615) af:3901,4065,4384(483) rc:90 re:0 ae:0 rt:4010027 adv:1 igus:4116
r:36873,43335,65000(28127) af:3335,4471,49959(46624) rc:93 re:0 ae:0 rt:4030202 adv:1 igus:3436
r:21407,28119,44854(23447) af:1920,2798,40604(38684) rc:144 re:0 ae:0 rt:4049204 adv:58 igus:798
r:17451,19646,43085(25634) af:1561,1754,2025(464) rc:206 re:0 ae:0 rt:4047096 adv:84 igus:240
r:14885,16919,35396(20511) af:1328,1509,1703(375) rc:239 re:0 ae:0 rt:4043653 adv:74 igus:416
r:18985,19616,20042(1057) af:1695,1759,1804(109) rc:206 re:0 ae:0 rt:4040945 adv:69 igus:527
r:19693,21520,23636(3943) af:1764,1934,2142(378) rc:188 re:0 ae:0 rt:4045830 adv:45 igus:1155
r:23503,25519,27456(3953) af:2115,2298,2486(371) rc:158 re:0 ae:0 rt:4032010 adv:22 igus:1872
r:27210,29529,31933(4723) af:2419,2665,2904(485) rc:137 re:0 ae:0 rt:4045599 adv:1 igus:2846
r:30775,31551,32463(1688) af:2768,2849,2951(183) rc:128 re:0 ae:0 rt:4038629 adv:1 igus:2834
r:18514,28543,32477(13963) af:1654,2574,2963(1309) rc:141 re:0 ae:0 rt:4024592 adv:64 igus:648
r:21621,25523,41915(20294) af:1992,2287,2443(451) rc:159 re:0 ae:0 rt:4058297 adv:30 igus:1610
r:20184,27570,38005(17821) af:1807,2486,3481(1674) rc:146 re:0 ae:0 rt:4025274 adv:16 igus:2016
r:21071,26541,36004(14933) af:1881,2385,3292(1411) rc:152 re:0 ae:0 rt:4034308 adv:31 igus:1518
r:16757,27167,53474(36717) af:1495,2431,3072(1577) rc:149 re:0 ae:0 rt:4047952 adv:80 igus:320
r:19244,23937,38045(18801) af:1716,2144,2939(1223) rc:169 re:0 ae:0 rt:4045426 adv:35 igus:1430
r:24679,27599,30629(5950) af:2212,2487,2787(575) rc:146 re:0 ae:0 rt:4029581 adv:17 igus:1992
r:27537,28596,30245(2708) af:2473,2775,30370(27897) rc:142 re:0 ae:0 rt:4060766 adv:6 igus:2444
r:27441,28839,37810(10369) af:2457,2601,3451(994) rc:140 re:0 ae:0 rt:4037533 adv:1 igus:3364
r:38315,40218,41621(3306) af:3467,3650,3785(318) rc:100 re:0 ae:0 rt:4021866 adv:1 igus:3719
r:40019,41118,43530(3511) af:3613,3734,3967(354) rc:98 re:0 ae:0 rt:4029597 adv:1 igus:3669
r:39061,40812,42915(3854) af:3530,3699,3931(401) rc:99 re:0 ae:0 rt:4040451 adv:1 igus:3613
r:38397,41082,51750(13353) af:3486,4141,43897(40411) rc:99 re:0 ae:0 rt:4067150 adv:1 igus:3805
r:39177,40386,41566(2389) af:3551,3668,3798(247) rc:100 re:0 ae:0 rt:4038688 adv:1 igus:3681
r:38917,40277,41917(3000) af:3525,3658,3861(336) rc:100 re:0 ae:0 rt:4027746 adv:0 igus:0
r:37684,40053,42544(4860) af:3405,3638,3873(468) rc:101 re:0 ae:0 rt:4045370 adv:0 igus:0
r:38284,39932,41996(3712) af:3466,3626,3856(390) rc:101 re:0 ae:0 rt:4033157 adv:0 igus:0
r:38906,40626,42872(3966) af:3523,3688,3968(445) rc:99 re:0 ae:0 rt:4021984 adv:0 igus:0
r:39527,41503,65000(25473) af:3579,3749,4024(445) rc:97 re:0 ae:0 rt:4025839 adv:0 igus:0
r:38685,40519,42578(3893) af:3497,4083,44285(40788) rc:100 re:0 ae:0 rt:4051991 adv:0 igus:0
r:38725,40353,42771(4046) af:3505,3664,3947(442) rc:100 re:0 ae:0 rt:4035399 adv:0 igus:0
r:38219,39937,41696(3477) af:3454,3625,3799(345) rc:101 re:0 ae:0 rt:4033705 adv:0 igus:0
@Jays100 - "Ancientdad is running a 450 with fixed timing, he’d know best.
T’wer me, I would wedge the bobweights between the stops with springs removed. I think ancientdad did it the other way, and put wedges between the cam and bobweights. I don’t know how he did it though."

I think Ancientdad knows more than he's saying.
He's obviously some kind of motorcycling computer genius, likes to race,...
He really wedges my bobweights.

That being said, here is latest schematic.
Maybe it's noise from level shifting, I have noticed the inputs are a little touchy, finicky.
Maybe issues with opto holding and pulling a true zero. Might be nice to lose those.

Ancientdad is running a 450 with fixed timing, he’d know best.
T’wer me, I would wedge the bobweights between the stops with springs removed. I think ancientdad did it the other way, and put wedges between the cam and bobweights. I don’t know how he did it though.
I'm embarrassed to say I only skim over this thread unless I see something I really understand properly.

Actually Jay, the advancer on my red 450 is not fixed, just reduced in range. I bent the limiter tabs inward so the weights stop early, then timed the engine at full advance so it would be about 5° or so more advanced at idle to help it idle better because of the camshafts.

I think Ancientdad knows more than he's saying.
He's obviously some kind of motorcycling computer genius, likes to race,...
He really wedges my bobweights.
Thanks for the generous thoughts, but I'm neither a computer genius nor a motorcycling genius. In fact, I sometimes struggle to learn the newer technology incorporated into our new forum software, but I can muddle through it given enough time and pointers from those who know vastly more than I.
I do like to race, but I've never thought of myself as being good at bobweight wedging. Not that there's anything wrong with that... :LOL:
So a step forward, got it working nicely on the stand. I replaced the opto isolators on the pulse inputs with something simpler, I'll update my schematic sometime soon. I recorded my stats with 2 breadboards. I found slowly turning up and down the revs with the idle knob on carbs works nice for this test compared to trying to work the throttle. It's raining now and I have to go to work, but can't wait to give it a real test drive soon. Here are my numbers recorded.

--- Miniterm on com4 115200,8,N,1 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
r:41098,43051,45285(4187) af:3767,3964,4198(431) rc:94 re:0 ae:0 lpr:763 adv:0 igus:0
r:41488,43258,46386(4898) af:3808,3985,4327(519) rc:94 re:0 ae:0 lpr:763 adv:0 igus:0
r:40465,42523,44605(4140) af:3697,3916,4155(458) rc:95 re:0 ae:0 lpr:763 adv:0 igus:0
r:40754,42782,45187(4433) af:3732,3941,4233(501) rc:94 re:0 ae:0 lpr:763 adv:0 igus:0
r:40145,42384,44457(4312) af:3678,3901,4153(475) rc:95 re:0 ae:0 lpr:762 adv:0 igus:0
r:40251,41955,43708(3457) af:3686,3861,4068(382) rc:97 re:0 ae:0 lpr:762 adv:0 igus:0
r:40475,41878,43204(2729) af:3712,3853,4015(303) rc:96 re:0 ae:0 lpr:762 adv:0 igus:0
r:40104,41442,43739(3635) af:3672,3811,4049(377) rc:98 re:0 ae:0 lpr:761 adv:0 igus:0
r:40531,41910,43881(3350) af:3717,3856,4064(347) rc:96 re:0 ae:0 lpr:762 adv:0 igus:0
r:40018,42098,44133(4115) af:3661,3873,4082(421) rc:96 re:0 ae:0 lpr:761 adv:0 igus:0
r:39414,41784,43687(4273) af:3599,3843,4038(439) rc:97 re:0 ae:0 lpr:762 adv:0 igus:0
r:40131,41664,43457(3326) af:3673,3831,4046(373) rc:97 re:0 ae:0 lpr:763 adv:0 igus:0
r:39272,41517,43082(3810) af:3595,3817,4002(407) rc:97 re:0 ae:0 lpr:761 adv:1 igus:3848
r:40193,41723,43923(3730) af:3673,3837,4075(402) rc:97 re:0 ae:0 lpr:785 adv:1 igus:3762
r:40631,41911,44001(3370) af:3734,3855,4107(373) rc:96 re:0 ae:0 lpr:785 adv:1 igus:3925
r:39517,41360,43410(3893) af:3607,3801,4013(406) rc:98 re:0 ae:0 lpr:785 adv:1 igus:3778
r:39408,40896,42737(3329) af:3601,3757,3964(363) rc:99 re:0 ae:0 lpr:785 adv:1 igus:3669
r:33866,39933,43064(9198) af:3084,3665,4001(917) rc:101 re:0 ae:0 lpr:785 adv:1 igus:3084
r:32595,34687,35686(3091) af:2957,3170,3283(326) rc:116 re:0 ae:0 lpr:792 adv:1 igus:2957
r:31202,32472,33779(2577) af:2831,2963,3108(277) rc:125 re:0 ae:0 lpr:788 adv:1 igus:2989
r:27707,29949,32258(4551) af:2506,2728,2983(477) rc:135 re:0 ae:0 lpr:787 adv:14 igus:2150
r:24862,25589,27807(2945) af:2251,2323,2544(293) rc:157 re:0 ae:0 lpr:792 adv:29 igus:1633
r:25860,26767,27840(1980) af:2340,2433,2551(211) rc:151 re:0 ae:0 lpr:789 adv:15 igus:2125
r:25705,27183,28145(2440) af:2324,2471,2584(260) rc:149 re:0 ae:0 lpr:788 adv:27 igus:1679
r:22437,23256,25632(3195) af:2027,2107,2330(303) rc:174 re:0 ae:0 lpr:790 adv:46 igus:1134
r:22608,23231,24222(1614) af:2037,2104,2215(178) rc:174 re:0 ae:0 lpr:789 adv:47 igus:1060
r:21718,22597,23276(1558) af:1963,2046,2121(158) rc:178 re:0 ae:0 lpr:787 adv:51 igus:980
r:20596,21311,22678(2082) af:1861,1928,2061(200) rc:190 re:0 ae:0 lpr:779 adv:55 igus:855
r:19426,20948,22033(2607) af:1753,1894,2003(250) rc:193 re:0 ae:0 lpr:781 adv:71 igus:493
r:17586,19203,20083(2497) af:1586,1734,1825(239) rc:210 re:0 ae:0 lpr:780 adv:83 igus:255
r:17094,17506,17919(825) af:1541,1579,1620(79) rc:231 re:0 ae:0 lpr:777 adv:85 igus:225
r:16271,17106,17570(1299) af:1462,1543,1589(127) rc:236 re:0 ae:0 lpr:762 adv:92 igus:112
r:15124,16093,16943(1819) af:685,1165,1484(799) rc:251 re:107 ae:0 lpr:773 adv:95 igus:30
r:14629,15514,16825(2196) af:595,708,1450(855) rc:261 re:259 ae:0 lpr:774 adv:99 igus:10
r:14384,14611,14929(545) af:579,600,629(50) rc:276 re:278 ae:0 lpr:769 adv:99 igus:10
r:14336,15027,16786(2450) af:578,651,1450(872) rc:269 re:281 ae:0 lpr:744 adv:96 igus:24
r:15286,17195,18420(3134) af:680,1495,1664(984) rc:235 re:22 ae:0 lpr:769 adv:78 igus:352
r:18037,19040,20668(2631) af:1621,1719,1872(251) rc:212 re:0 ae:0 lpr:778 adv:66 igus:612
r:19790,20740,21824(2034) af:1786,1875,1982(196) rc:195 re:0 ae:0 lpr:780 adv:56 igus:836
r:21214,21702,22646(1432) af:1917,1963,2060(143) rc:186 re:0 ae:0 lpr:780 adv:50 igus:1000
r:22515,24719,26132(3617) af:2030,2241,2389(359) rc:163 re:0 ae:0 lpr:785 adv:32 igus:1564
r:24646,25996,27570(2924) af:2229,2357,2510(281) rc:156 re:0 ae:0 lpr:789 adv:18 igus:1968
r:26929,29563,31260(4331) af:2433,2687,2861(428) rc:136 re:0 ae:0 lpr:789 adv:1 igus:2815
r:27482,29229,30790(3308) af:2493,2656,2815(322) rc:139 re:0 ae:0 lpr:787 adv:15 igus:2125
r:26331,27342,28714(2383) af:2380,2482,2609(229) rc:147 re:0 ae:0 lpr:792 adv:10 igus:2340
r:29023,31836,34475(5452) af:2619,2897,3151(532) rc:127 re:0 ae:0 lpr:789 adv:1 igus:2951
r:32655,35311,36880(4225) af:2968,3221,3377(409) rc:115 re:3 ae:0 lpr:788 adv:1 igus:3108
r:34419,36064,37710(3291) af:3133,3292,3465(332) rc:112 re:1 ae:0 lpr:790 adv:1 igus:3403
r:34882,36293,37870(2988) af:3171,3312,3505(334) rc:111 re:0 ae:0 lpr:790 adv:1 igus:3306
r:35281,37538,39361(4080) af:3205,3430,3628(423) rc:107 re:2 ae:0 lpr:790 adv:1 igus:3550
r:36654,38477,41042(4388) af:3337,3518,3780(443) rc:105 re:0 ae:0 lpr:791 adv:1 igus:3633
r:38222,40759,42414(4192) af:3476,3733,3929(453) rc:100 re:0 ae:0 lpr:792 adv:1 igus:3712
r:39590,41349,43317(3727) af:3613,3788,3986(373) rc:97 re:0 ae:0 lpr:792 adv:1 igus:3973
r:40300,42859,45478(5178) af:3685,3930,4193(508) rc:94 re:0 ae:0 lpr:785 adv:1 igus:3952
r:41867,45981,49309(7442) af:3816,4227,4582(766) rc:88 re:0 ae:0 lpr:787 adv:1 igus:4241
r:44412,47701,51860(7448) af:4039,4392,4818(779) rc:85 re:0 ae:0 lpr:789 adv:1 igus:4474
r:44356,47467,51791(7435) af:4045,4369,4838(793) rc:85 re:0 ae:0 lpr:790 adv:1 igus:4427
--- Miniterm on com6 115200,8,N,1 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
r:0,65001,65001(65001) af:0,19866,19866(19866) rc:1 re:0 ae:0 lpr:0 adv:0 igus:0
r:19897,29203,65001(45104) af:1779,2735,16198(14419) rc:121 re:0 ae:0 lpr:765 adv:0 igus:0
r:30183,31383,33485(3302) af:2727,2858,3072(345) rc:129 re:0 ae:0 lpr:802 adv:0 igus:0
r:30163,31647,33562(3399) af:2739,2880,3062(323) rc:128 re:0 ae:0 lpr:765 adv:0 igus:0
r:31061,32024,33196(2135) af:2823,2915,3036(213) rc:126 re:0 ae:0 lpr:764 adv:0 igus:0
r:30929,31866,32913(1984) af:2800,2901,3016(216) rc:127 re:0 ae:0 lpr:763 adv:0 igus:0
r:30360,31412,32273(1913) af:2757,2859,2960(203) rc:128 re:0 ae:0 lpr:762 adv:0 igus:0
r:30577,33161,39743(9166) af:2773,3023,3691(918) rc:122 re:0 ae:0 lpr:761 adv:0 igus:0
r:34231,35558,38597(4366) af:3117,3242,3505(388) rc:114 re:0 ae:0 lpr:767 adv:0 igus:0
r:33846,35630,37339(3493) af:3072,3249,3409(337) rc:113 re:0 ae:0 lpr:767 adv:0 igus:0
r:33603,35378,37440(3837) af:3052,3226,3442(390) rc:114 re:0 ae:0 lpr:767 adv:1 igus:3174
r:34323,35424,36572(2249) af:3117,3231,3350(233) rc:114 re:0 ae:0 lpr:790 adv:1 igus:3238
r:31445,33550,36085(4640) af:2859,3056,3301(442) rc:121 re:0 ae:0 lpr:789 adv:1 igus:3109
r:31675,32900,34080(2405) af:2879,2995,3120(241) rc:123 re:0 ae:0 lpr:789 adv:1 igus:3040
r:31718,32852,33862(2144) af:2876,2992,3099(223) rc:123 re:0 ae:0 lpr:787 adv:1 igus:3034
r:31245,32598,34715(3470) af:2838,2968,3185(347) rc:124 re:0 ae:0 lpr:786 adv:1 igus:2904
r:29051,31544,33464(4413) af:2624,2870,3063(439) rc:128 re:0 ae:0 lpr:788 adv:2 igus:2646
r:25828,28517,30273(4445) af:2339,2591,2782(443) rc:141 re:0 ae:0 lpr:789 adv:24 igus:1824
r:25394,26656,27830(2436) af:2301,2419,2538(237) rc:152 re:0 ae:0 lpr:792 adv:27 igus:1679
r:23670,25165,26863(3193) af:2141,2282,2461(320) rc:160 re:0 ae:0 lpr:788 adv:41 igus:1239
r:23224,24057,24846(1622) af:2100,2180,2262(162) rc:168 re:0 ae:0 lpr:789 adv:38 igus:1364
r:21233,22822,25049(3816) af:1920,2066,2274(354) rc:177 re:0 ae:0 lpr:789 adv:50 igus:1000
r:21794,22567,23267(1473) af:1968,2043,2118(150) rc:179 re:0 ae:0 lpr:789 adv:47 igus:1060
r:20168,21294,23621(3453) af:1821,1926,2142(321) rc:190 re:0 ae:0 lpr:786 adv:64 igus:648
r:19941,20532,20902(961) af:1799,1856,1899(100) rc:197 re:0 ae:0 lpr:783 adv:64 igus:648
r:18163,19775,20894(2731) af:1638,1787,1897(259) rc:204 re:0 ae:0 lpr:772 adv:79 igus:336
r:17011,18334,19092(2081) af:1531,1655,1722(191) rc:221 re:0 ae:0 lpr:781 adv:87 igus:195
r:15951,16317,17094(1143) af:1435,1471,1547(112) rc:247 re:0 ae:0 lpr:777 adv:92 igus:112
r:16044,16437,16848(804) af:1443,1482,1523(80) rc:246 re:0 ae:0 lpr:771 adv:90 igus:140
r:15144,15511,16671(1527) af:1361,1398,1505(144) rc:261 re:0 ae:0 lpr:763 adv:98 igus:26
r:15175,15419,15696(521) af:1365,1390,1418(53) rc:262 re:0 ae:0 lpr:766 adv:97 igus:39
r:15369,17589,19348(3979) af:1385,1587,1750(365) rc:229 re:0 ae:0 lpr:753 adv:75 igus:400
r:18605,19812,20954(2349) af:1677,1790,1900(223) rc:204 re:0 ae:0 lpr:778 adv:63 igus:666
r:20027,23722,28360(8333) af:1810,2149,2581(771) rc:170 re:0 ae:0 lpr:779 adv:11 igus:2225
r:27570,28357,29488(1918) af:2498,2573,2681(183) rc:143 re:0 ae:0 lpr:793 adv:14 igus:2150
r:27500,28459,29252(1752) af:2494,2583,2659(165) rc:142 re:0 ae:0 lpr:789 adv:9 igus:2366
r:27195,28226,29206(2011) af:2466,2562,2659(193) rc:143 re:0 ae:0 lpr:784 adv:10 igus:2340
r:27399,28579,32884(5485) af:2477,2594,2998(521) rc:141 re:0 ae:0 lpr:789 adv:1 igus:2952
r:31120,32388,34022(2902) af:2831,2945,3119(288) rc:125 re:0 ae:0 lpr:788 adv:1 igus:2992
r:31151,33129,36166(5015) af:2826,3015,3308(482) rc:122 re:0 ae:0 lpr:787 adv:1 igus:3135
r:33113,34136,35909(2796) af:3001,3108,3274(273) rc:118 re:0 ae:0 lpr:789 adv:1 igus:3097
r:33334,34230,35355(2021) af:3029,3117,3224(195) rc:118 re:0 ae:0 lpr:788 adv:1 igus:3163
r:33820,35066,37037(3217) af:3073,3195,3413(340) rc:115 re:0 ae:0 lpr:787 adv:1 igus:3302
r:33604,34819,35749(2145) af:3052,3171,3278(226) rc:116 re:0 ae:0 lpr:790 adv:1 igus:3125
r:32932,34205,35866(2934) af:2992,3115,3284(292) rc:119 re:0 ae:0 lpr:788 adv:1 igus:3121
r:32980,34412,36270(3290) af:2985,3134,3318(333) rc:117 re:0 ae:0 lpr:789 adv:1 igus:3282
r:32945,34666,36898(3953) af:2998,3157,3372(374) rc:116 re:0 ae:0 lpr:790 adv:1 igus:3107
r:32919,34349,36683(3764) af:2984,3128,3353(369) rc:118 re:0 ae:0 lpr:790 adv:1 igus:3080
Went on test drive this morning, ran good. Only a mile or two, up to about 45 MPH, pushed up to 6.5k rpm briefly. It's cold here, 45F. The breadboard in a bag, anchored lightly by connections, ADV and F inputs(left and right front on lower connector, the fire output to signal on disconnected connector on top right(the F pulse). Then a ground and 12v with alligator clips.

Now if you were to look close at those numbers above you could notice some bad(short) advance signals at high rpm, I assume due to noise of firing. But, since it already fired at max advance it didn't seem to cause an issue. Lot's of refinement to do, but it's progress(finally). Here is my latest schematic with updated pulse input circuits. 20231013_185437.jpg
Took out for another test drive, worked fine, I reved it up to 9k rpm
and it worked, got up to about 60mph. I don't normally rev my bike that high but wanted to see if it would
function. This is with the breadboard dangling off the side in the wind as in picture here.

Cleanup the wire connections, the ground in particular. I sat and stared at the bike
for quite a while trying to figure out a decent place to ground it. Nothing appeared all
that convenient. And then it finally dawned on me that I should just use the ground connector
from stator up to CDI and tap off of that, as it should be connected anyways even though I
know they are both grounded to frame. The 12v connection still just the alligator clip on fuse
block, but that's OK for now.

And then I had a few critical things to finalize, put in the logic to 'just work' without the
switch. So just fire at F on start for a minimum of 40 revs, and also just fire on F
when RPM is below some basic RPM threshold where you don't want advance(to avoid slight jitter
from doing it based on calculated advance from ADV mark). Checked that with my two breadboards
and it worked as expected in the garage.

Got it tucked in, side cover on. Get it out on the road this week for more real world evaluation.

Well, what is next? I do plan on getting code and notes up on github as open source.
The ultimate goal is a affordable solution to a lot of old bikes, including
points, TCI or CDI. So imagine a $20 solution where you can get rid of your mechanical
advance, use your points or add a few more dollars and effort to replace points with
HAL or pulse coil sensors. I can't do it alone, there are just too many bikes with various
mechanical, wiring, sensor variations.

So while there are existing solutions, they are too expensive. Do I want to spend
$300 on a electronic ignition for my $1000 bike, no. I'm guess that is a big reason people
stick with the points, cheap, simple, understandable. But if you could get it for $20, you
could buy extras as spares or for trouble shooting. And if you are given the information
how it works, people can fix it, change it.

So for example, I can buy a $10 china CDI. I did, it works, ran it for over a year with my
crude ADV or F switch. Now you can bash china built stuff, but I would rather thank them.
A $10 CDI delivered to my door, heck I'll buy a few as spares.

Some of the things I can do with my CM400T is test it with my $10 CDI, I'm on stock CDI now.
Soon, build a few soldered boards(bread board just too sketchy and big), try to get someone
like LDR to try it out.
Get 12v TCI working. That is a step toward enabling it to work for points bikes, as points
are basically 12v TCI without the electronics(and crude dwell).
And get that to work with the 180 degree dual coil 350/450 honda bikes.

When I first got into the car accessories installation business, cell phones were just becoming more widespread. Still expensive for the masses, but they had car versions that either mounted permanently in the car with an amplified transceiver and external antenna, or they had a more 'mobile' version we called "bag phones". Your temporary test unit above reminded me of a 'bag EI' :)

That is a step toward enabling it to work for points bikes, as points
are basically 12v TCI without the electronics(and crude dwell).
And get that to work with the 180 degree dual coil 350/450 honda bikes.
Now you're talking! (wait, crude dwell??) :LOL:
It's been cold, but got the bike to and from work(about 7 miles away) to test the project, now
called 'Ignitor'. It worked well first day, jumped on short highway route and hit 80, about max
for this bike. And pushed 9k rpm briefly.
Doing it today some mishaps, at end of highway it died, a short push to Red Lobster parking
lot. Found ground wire came loose, easy fix. On way home no highway, crossing busy intersection it
starts to die, I make it to a lot. Tinker, nothing obvious, won't restart. A bit of worry sets in.
Switch back to stock removing my gadget, make it a mile up the road, starts cutting out again.
Oh, I'm low on gas! Switch to reserve, make it home.

Beforehand I made some changes in strategy to reduce jitter. Fire only at F at slow idle,
calculate ADV to F angle at start, do advance work(between 2k and 4k),
but base it on ADV to ADV rev time, ignore F during advance as it can be noisy overlapping with fire.
Do not use instantaneous ADV to F angle measure but use the one recorded at start(avoid noise at F).

Here is a video testing with timing light tonight. It looks reasonably good, the bike is running
a little rough or rich on one side. Eventually I will work in a table based advance curve
arrangement, something user can change, for now it's just a basic calculation between 2k and 4k.

Lot's of things to do to make it safer, like if you get ADV and F inputs backwards(yup, that
would be me), or one missing. Make it blink a trouble code and refuse to fire if it get's crazy
input like that.

Itching to make a few smaller soldered ones, something reasonably reliable. The D1 Mini commonly
comes with socket style connectors, I'll use those and get some decent dual sided proto boards
that mimic breadboard layout. I've got some of the single sided single pad proto boards, but those
are a one way ticket, you can't easily unsolder things, the pads pull up. A dual sided with plate
thru holes will be more friendly to modifications if desired or needed. And also just a more reliable
solder job with the plate thru holes.

Now mating with the connectors can be a little wanky. It would be nice to get good ones with the
plastic housings. Plugging in my cheap ones is a little iffy. I need to bend them up slightly,
that sort of thing. But, I figure that's something most anyone can do if they care enough and I need
to focus on my value add which is the micro and interfacing electronics, which not everyone can do.

It looks like you're over advancing, past 45*.
Thanks, I haven't measured out what the 2 lines are at max advance. Maybe 43 and 45? I'll try to measure that out. Also I will get some measure what the stock ones are doing. I do know you have mentioned they can get off with the aged components. And I should read the FSM again.
Thanks, I haven't measured out what the 2 lines are at max advance. Maybe 43 and 45? I'll try to measure that out. Also I will get some measure what the stock ones are doing. I do know you have mentioned they can get off with the aged components. And I should read the FSM again.
The lines are 41 and 45 degrees.
The lines are 41 and 45 degrees.

FSM says 43 degrees +-2, so 41 and 45 make sense, should max out in between the two marks.
The FSM does have a good description of the operation, and I enjoyed reading that again,
understanding it better now I am more familar with the components. The two fixed pulser coils
pickup on the rotor magnet at 43 and 15 degrees. The F pulser trips the CDI SCR on positive pulse, at around 1-2v.
You can see all of this in last set of scope pics here. The earlier ADV pulser signal acts as limit to
43 degrees, it uses negative pulse to do that. The advance pulser coil from stator makes a peak once a rotation somewhere
around 43 degrees and gets larger with faster RPM, tripping the SCR before the F as RPM grows. The high voltage cap is charged
by the AC generator coil, about 6 high voltage positive pulses over a rev.

Here is timing light video on CM450 showing stock CDI advance. Video cut a little short. I'm trying to hold phone and strobe
light in one hand. Also a pic of rotor and stock connectors on CM400.

A while ago I got the fixed pulser assembly off, with an old hammer style impact driver. Those screw head bolts were on tight. Tried taking rotor off,
got the crank bolt out, but I found prying and tapping not successful. I will not try it again without the proper bolt style removal tool. A proper holder tool for the two holes in rotor would also be wise. Just glad I got it back together and did not damage anything(that I know of). I can see how you could damage the magnets, case, rotor doing this with cave man improvised tools. After much searching I found good enough visual pictures of the various parts to negate my need to see it for real. Ebay was helpful for that.
Yes, interesting if they placed it in back just to get away from noise.
The CDI does seem to cause extra noise trouble.

With side cover on it's at least not flapping in the wind. And I've got
3 or 4 trips, about 50 miles on it, ran good, maybe a few slight misses, hopefully
due to breadboard and vibration.

Working toward a soldered version. I got nicer two sided sea of pads boards in,
but started playing with surface mount soldered version with older single sided.
I have a different collection of surface mount components, and an interest in
simplifying the IO if possible. Try without the transistors on inputs, try without
opto on fire output. Simpler the better.

Haven't done surface mount for a long time, and the old eyes are not getting any sharper,
the hands not any steadier. The surface mount is soo tiny, it can be frustrating.
Out of frustration trying to hold these tiny components while soldering I made the tweezers
in picture here. Made from some piano wire. It is holding a tiny resistor. Wood popsicle stick
handle with groove cut and attached with super glue and baking soda.

Boards in back are pulser inputs with slightly different components(what I happened to have).
Boards in front are pulser inputs without transistor, and trying schottky diodes for level
conversion to 3.3v micro. Last few components used the new tweezer that I was pleased with.
In the end a proper circuit board would be best, where you use solder paste and heat up to
melting in oven, but for now the solder art you see is flexible and quick to try new things.

One prototype SMD technique I learned of some time ago was to use a high temp double sided tape, and you can
stick the components in place and solder together as needed. I have some of this tape but have not tried
that much.

You can see in picture the container holding probably 10's of thousands of these little resistors, really an
endless supply for my needs. I have about 8 of these containers with only certain values to choose from.
Also I have a few spools of like 1000 or so of certain small transistors. Ebay specials bought many years ago.

You can see the boards are breadboard friendly, and are arranged as a sub component to allow easier

I was browsing used parts looking for a CM400T axle bolt or oil filter bolt for removal of rotor(thanks for tip LDR).
I did find a used axle bolt for $10 delivered, might splurge on that. Thought I'd check the persons
other listings, and they were selling many other old CM400 parts, mostly cheap. A rotor
delivered for $30 bucks. Lot's of cheap used parts. But then the stator they wanted $500 bucks for, wow.
And then the old crusty coil was a crazy price, like $200(edit: wrong, those are cheap, $20).

So it could be useful to have alternatives like this, even though my bike came with very reliable electronic
ignition. Ultimately I'd like to get it working with a TCI setup(as apposed to CDI). I think TCI is more
modern, simpler, less noisy solution. The two signals I am working with, ADV and F, are almost the same as the points
close and open arrangement, so should be applicable.
Last edited:
So, still plugging away at this.
A few mishaps set me back slightly. I blew the smoke out of 3 of these
D1-mini micro boards. All my fault, stupid mistakes. Tried out the smaller
5v regulator, but it's pinout is different(you can see it in backwards in last pic
in breadboard). Where in/out are opposite. So it feeds the micro with raw 12v, not good.
It did somehow work for a mile run, but then failed to start up for ride home. And on the
way, in the dark doing about 50mph, I had to slam on brakes to avoid hitting a deer.
And then I proceeded to burn the smoke out of a few of these, one from mis-wired 5v regulator,
and then a few others from some wiring error(inputs and outputs of pulse coil wired together).

Got that sorted out. Took a short drive with fix, but it's like freezing out, riding season here coming
to a close soon.

My initial soldered version still has a lot of connectors, I'm trying out slightly different
components that I have for surface mount. And having them as sub-components on connectors, helps

Working on a next step proto board that has reduced connectors. Tried using wood glue on SMD
components tonight.

The basic strategy is two inputs, and two outputs for the IO.

And I hope this will be applicable to most bikes. Added the extra output specifically for
the 180 degree two coil old bikes(CB350, CB450).

I'm hopeful the input and output circuits can be used for different bike needs,
from points, to pulser coil, to hall-sensors. And for the outputs for CDI or TCI.

For the points bikes, I was thinking first step would be disabling the mechanical advance,
but now I am thinking that, what the heck, make it work with that too, just add code to
support it. So the idea being, that you could use it for as little or as much as you wanted.
This could help with initial trial period, where I could get people to try it without taking
out or disabling the mechanical advance.
20231029_212923.jpgI am hopeful I have time to try it on my bike with the TCI(as apposed to CDI) before
winter. This would use the smart COP's, where the coil includes the ignitor electronics.

On Crazy PJ's recommendation, I have released the Kraken!

After way too much time micro welding and bug hunting, I managed to
put together a 2nd surface mount board set. This has a 2nd ignitor output.
It is wired to a mini breadboard, but that is only to aid in
troubleshooting. Soon I will work on having some circuit boards made to help
fully release the Kraken on the world.

So it can work with CDI, great. How about TCI? That's a little more work
but we will jump into some initial tests as winter is setting in.

I arranged Nissan Altima TCI smart coils on bike as shown.
Adjusted code to put out a 2ms pulse(was using 1ms to fire CDI).
After warming up the bike(it is freezing here), I switched over to the
TCI setup and it started and idled, not the greatest, but that
is to be expected because there is no attempt to compensate for the 2ms
TCI dwell yet. Timing light showed that, it is firing 2ms after 14 degree
F time, so roughly around TDC. I figured it would probably run, it did, yea!
So the same 5v PNP output works with this, same as used to trigger CDI.
And I am fairly certain the inputs could be made to work with HALL sensors
or points as inputs.

The input and output circuitry I have minimized, cut some corners - removed
opto-isolators. It is unclear if these will be hardy enough for long term
Kraken survival in the wild with humans.

Next will be to try adjusting the timing in the micro to accommodate the TCI
dwell. See if we can get it to run nicely.
Where am I? Still plugging away on this mad ignition project.
A glimps into the madness is the surface mount prototypes I show you here.
My latest I used magnet wire for point to point wiring rather than the colored wire wrap.
It's very thin wire, very hard to see, even with a 10x loop.
Not sure I like it, the colored wire wrap is much easier to see
and follow. If I continue with it, I will try to find some slightly thicker
magnet wire(from transformers or solenoids) that is not this fine.
Maybe a combination of colored wire wrap and this generic magnet wire.

As you can see I have minimized the IO. This helps make it a small, simple
arrangement. But it is a little questionable if it will be reliable.
We are trying to interface to a microcontroller that demands 3.3v logic.
This involves level conversion. Opto isolators are a great way to insulate
and perform this level conversion, but this is more complex, more power
hungry. The simplified short-cut uses resistors and diode clamps that are
not perfect. But the micro seems to tolerate this, and so life is good at
the moment.

This is to work toward a inexpensive small solution, so ultimately you could
buy a few of these for less than the price of a set of points. The IO is likely
to vary or change the most, so keeping these prototype friendly is advantageous.
So I made one version where I put the IO(input circuits, output circuits)
as SMD breadboard friendly modules that could be arranged on a mini breadboard.
With the idea that some compromise must be made to allow variation and change.

I have finally put the code for this out on github, here:
Beware, it is messy, ugly, not for the faint of heart.

I have also made some advance(pun intended), where I arranged to compile the
code to run on PC. A pure simulated environment. This allows for simulated
testing more conveniently, not subject to the hard realities and time constraints
of real time operation. This allows making tests and debugging which is not subject
to the normal time constraints of real time or limitations of micro interfacing.

I want to target TCI, I also want to target getting traces/logs off of the micro
so we can see what is going wrong when it goes wrong. So, this particular micro
has about `80KB of RAM. That's enough room to store a good amount of information.
I would like it to be able to log like a digital logic analyzer the time and changes
in IO, and then be able to graph that out later to be able to see what is going on.

I have two inputs that give me timing marks on our rotor. Preferably these would be
reliable and work as intended. But producing spark can cause noise, it would be nice
to get some measures of this to improve the situation. Points can be noisy I am sure.
HALL sensors can be flaky I am sure. So I need measures, traces, to tell what is going on.

I'd like to be able to hook this into a bike and use it just in a monitor collect mode,
where it could record and tell if inputs are sane. This micro has WIFI capability,
that might be a way to get the information off it. transmic.fr has this feature working,
but it's not a given, it's power hungry and it's not something I want to do on the fly
while trying to do actual ignition work. I may turn it on with a switch when it is
not doing real ignition work.

Another possibility is to send the information via a serial bus connection.
Not quite as convenient as a wireless arrangement. But, it's a forward looking idea,
to have functional modules. Like a modern car has modules that talk via can bus.
So the ignition module can focus on doing ignition, and not WIFI.

So when I get home from driving my bike, I race to find my IR temperature measurement
device, measure temps at top of cylinders. I envision having a module that reads
this from a few 10 cent thermistors on the fly. Have a little display that can show
these while I drive. A smart blinker module that blinks exactly how I want it to blink.

Modern vehicles have this technology, but the sad thing is that it is warped by the
motivations of companies/goverments that want to rule you. Why don't I have a
display in my car that tells me what my sensors read? They only give me a dummy
light, 'service engine soon'. Why? Because they suck, they just want to suck money
out of you.

Modern cars have displays. I don't own one, so I'm not sure what exactly they provide.
I imagine that they don't tell you what your oxygen sensor reads, but just give
a big colorful idiot light that says, something is wrong, go to your distributor and bend
over please or buy a new 40k car please. Do they show advertisements? Via 5G wireless?
The latest circuit running real bike just fine, been cruising
with it on the CM450 for a few runs, no issues.

So here is screen shot of a simulation data running on PC.
This is using some code I had in place to generate fake
signals at a few select RPM's and route with wires.
But here it is arranged for a pure simulation.
The benefit this gives is significant. I can stop time
and break in a debugger, I can generate a variety of simulated test
scenarios and look at results in a friendly fashion.

Sample of simulation data stored for a few revs:

35509840 74; A___ 14800
35509880 202; A__L 40
35510240 200; ___L 360
35510680 248; __1L 440
35511660 200; ___L 980
35514640 201; _F_L 2980
35514680 73; _F__ 40
35515040 72; ____ 360
35529840 74; A___ 14800
35529880 202; A__L 40
35530240 200; ___L 360
35530680 248; __1L 440
35531660 200; ___L 980
35534640 201; _F_L 2980
35534680 73; _F__ 40
35535040 72; ____ 360

Some targets:
Get TCI working to some degree on my real bike would be neat,
start and idle nicely would be great before winter sets in.

Get real bike storing data like the simulator and be able
to recover this and chart/analyze it to see what is happening
for real, acting as a digital logic analyzer.

Getting information to and from the micro. I have previously used
the serial port built in, but it's not real convienent, wires involved.
This micro does WIFI, I may try to use this, but it has it's drawbacks.
It's power hungry, requires joining a network or being a network that
you have to join.

Another option to consider is a newer HW that does bluetooth, as in
ESP32. I picked up a few of these in the form of ESP32-c2, available
on a D1-Mini style board(same footprint). It's slightly more expensive,
like $3 versus $2 for the boards.

There is a sample application you can find on the internet and they
use it with a phone app called Blue Tooth Terminal. This looks promising
as an existing tool to leverage. A important idea here is to use a
cell phone or small tablet as a display, input/output device.
You could use a holder and use as your motorcycle dash board.
For your entertainment, here is a a recent test jig. The old harddrive as a test rotor is a new addition.
It really is nice compared to using the angle grinder. That is a run with a little $5 15W
sensorless ESC(electronic speed control) or BLDC(brushless DC motor controller) for the 3-phase HD motor.
This has a pot on it that will ramp it from stop, slow-start, up to over 10K RPM.
The rotor attachment shown is made from thin cardboard. A tiny magnet is taped on, a common pulse coil sensor
is shown bolted on. I'm testing a cheap DC-CDI with it here. I will add some holder to put HAL sensors
on to experiment with those as well.
This does run nice and quite and smooth. But the magnet and or cardboard tube has been known to fly off
at the higher speeds. I'm getting a basic Ender 3 3D printer that might help with making better jigs.

So I had sent off a hastily put together DC-CDI to a new member theonlysteve after testing it briefly on
the road to run a CM400. His had a bad rotor for CDI purposes, expensive and tough to fix or find replacements,
hopefully it buys him some time, get's it running in the short term. I did hear back and sounds like he got
it started with it.

So I picked up a couple more($8/$10 delivered) of these el-cheapo DC-CDI's to experiment with.
So buying these you don't really know what you are getting. Some of these are labeled as for GY6,
which I learn is a common small scooter of Honda original but now somewhat generic.
Now, a basic CDI should be pretty simple. A SCR, cap, a few other components. Adding DC converter
would add a little complication. The fact that these are encased in plastic does not help to know
what are in these things.

I did have a question about, well how much current are these drawing,
and that was one thing I was trying measure with this current jig.
The best I can say at the moment is somewhere around 1 to 2 amps when active. When not running, next
to nothing.

I was making some reasonable progress on the bench. Then I put the jig on the floor because my
bench is just a mess. I start trying to take some measures, and the jig just goes crazy due to the
electronic noise. So the little battery powered scope I have doing a measure across a 10 ohm
load resistor, as a means to measure current. The multimeter is set to 10A measure to get another
read on it. It's battery powered as well. I have 3 LI batteries(12V) powering the HD motor. And
an old Motorcycle battery to power the CDI.

So the electro magnetic interference from producing spark will totally freak out all the other
electronics. The little scope will change parameters or latch up and stop work. The multimeter
can do whacky things, the HD motor speed will freak out and run at random speeds when it's sparking.
It's crazy time. Up on the bench it was working pretty good without so much freaking out crazy time.

What else is new? I have learned about latching HAL sensors, they turn on with one polarity, then only
turn off passing 2nd magnet with opposing polarity. Probably used in some add on upgrade electronic motorcycle CAM offerings.
Picked up some of these and tried them on a jig like this, worked as expected.

My ongoing micro experiments to do electronic advance is somewhat stalled due to lack of time,
the weather, etc. I'll probably get back at it at some point, with probably more of a focus on
trying to get TCI working(as apposed to CDI), especially given the EMI hell fire trama the CDI
spark can put you thru. A few more mundane projects like DIY arduino-ish tachometer, little I2C graphic panel,
getting these ESP micros to do WIFI, bluetooth and so on. Thanks to VHT for hosting my mad ramblings here!
I put the coil and spark in a grounded tin can, that made it behave nicely. I got the current draw wrong in last post, it's not 1-2amps, but 0.3 to 0.6 amps for these DC CDI's. That was confirmed with 2 multimeters and the scope with 10 ohm load resistor. I also got a good zap from hand to hand(thru the body), puts out some good kilovolts!
I can only discern real life complications in your 'mad ramblings', but that's what makes it interesting! At least I can root for the home team in the Human vs. Tech challenge.
I have learned that these CDI's can do advance by added analog circuitry like accumulators(capacitors, filters).
It's a neat trick. So you have this pulse coil, and it outputs a pulse that is positive and negative.
A analog circuit is made that can advance the trigger as the RPM increases. A pulse signal is arranged
with a magnet at a more advanced position, and at the start/low RPM the trigger is delayed to the more retarded position.
As RPM is increased it advances closer to the start of this magnet position.

I have a DC-CDI that I believe does this, it's the yellow one with the transparent potting. It has a potentiometer
that allows some adjustment. This adjustment appears to operate on this filter that does the advance work to
adjust advance.

So here are some pics that measure and show this. I have a tiny Neodymium magnet attached to this hard drive motor
and a pulse coil. I have my scope looking at the pulse and the voltage across primary coil winding.
The pulse coil is the easy trace to see, the primary voltage pulse is a little harder. But if you looked close you will
notice at the slower speed(somewhere around 1K RPM), it shows up delayed around the negative trailing pulse.
In the next picture at a faster RPM(around 5K RPM), it shows up more closer to the leading positive pulse edge.

Now my CM400 does use these analog circuit tricks to perform the advance, and it does it thru similar methods,
using accumulators/caps/filters to somehow perform this magic. But I believe what I am showing here is probably
different - my CM400 has two pulse coils, one centered at most advanced position, one at most retarded/idle position.
Whereas I believe this would be used with a single pulse coil with a magnet at advanced position. And I believe other motorcycle
brands used this arrangement, although possibly Honda to.

The hard drive spindle is pretty good as a jig, but has it's limits on how slow it will go with the control board I have.
One thing I would hope to learn or measure is, what is the RPM with my electric starter motor. What is the RPM of a typical
kick start, and how many revs does a typical kick start provide(non-starting case).
UPDATE: I updated RPM numbers, unfortunately my scope big knob was way off from the standard setting(deviated with the red knob).

Last edited:
For your entertainment here is a show and tell video on the advance ability of this yellow DC CDI with the transparent potting material. When it warms up this weekend I will try it again on my CM400T, only this time arranged on the advanced position coil. Assuming it runs, I will get the timing light on it and try to assess it there.
This yellow DC CDI appears fairly common. When I search on it, they appear on ebay, amazon, even walmart. They are a few bucks more(like $15) but, hey, if they can do a automatic advance then that could be very nice.

Note that the pulse coil signal varies with the speed. At the slow start/idle speeds it's voltage output shrinks. At some point as the speed approaches zero the signal is not enough to trigger a CDI. The spacing between the magnet and the pulse coil becomes more important.

The potentiometer appears to adjust how fast the advance occurs.
Yep, I enjoyed that.
I like 'moving pictures' to show whats happening.
What is the trigger unit from?
I have one or two from two-stroke ATC 250 that look like that, plus, apart from wire colour, look exactly like the spare Suzuki ones (I have all sorts of stuff stashed I was going to work on) :rolleyes::rolleyes:
Good stuff, creative and certainly interesting. Definitely beyond my 1 year of electronics school knowledge from 40 years ago, but I remember how fascinating it is to cut up simple radios and make stuff out of them. And this is NASA-level compared to anything I've done as a young man.
Yep, I enjoyed that.
I like 'moving pictures' to show whats happening.
What is the trigger unit from?
I have one or two from two-stroke ATC 250 that look like that, plus, apart from wire colour, look exactly like the spare Suzuki ones (I have all sorts of stuff stashed I was going to work on) :rolleyes::rolleyes:

Found some ebay pics I previously posted.
Post #112, Sep 30,2023
Show ebay pic: Trigger Pick Up Coil, 50 70 90 110 125 140 150 Honda Chinese ATV Motorcycle

Post #93, Jul 23, 2023
Show ebay pic for Yellow CDI, labeled:
Performance 6 Pin Adjustable DC CDI For GY6 50cc 125cc 150cc Engine ATV Go Carts

So, tough to say what it is used for, a 'Honda Chinese ATV Motorcycle', ha! ;)
Just bought a couple random cheap units to experiment with.
The reference to GY6 comes up a fair amount and that appears to be a common small cc engine for scooters that is Honda origin but then maybe built or reproduced in China.
I had read on various sites about CDI units that would have some built in advance based on adding delay or spreading the pulse out with a longer magnet.
I got the impression this technique was used on other Japan earlier motorcycles and not so much Honda's.
Top Bottom