I picked up a pickit2 type (Chinese clone) programmer from ebay. It supports the 1840.
I'm not sure what other programmers will work with the 1840, but the first thing I'll be working on is getting a bootloader running. Then you'll be able to program the chips with just a regular USB serial TTL adapter, which can be found for about $3 if you don't already have one. It should be a lot easier to tune things up when you can easily play with all the settings.
There's a bootloader called "ds30 Loader" that should work.
I changed the settings around to run on the 1840 and it seems to compile fine, but I haven't tried it yet.
There should be no problems continuing to use the 683, but there's no way to do a bootloader since it can't self-write its own memory. There's also no serial UART so there's no way to communicate with it. The two chips are pin compatible, so there shouldn't be any changes needed in the timer board.
Nyemi's program does switch off the multi spark after a certain RPM. I think MSD is only really usable at lower RPMs since at higher RPMs your piston has moved a long ways before you can generate the extra sparks. There's also the current draw issue and how fast you can actually generate the sparks with from the HV side.
I assume he tested how fast you could generate the sparks and determined some sort of compromise. According to the simulator, the multi sparks are2.4ms apart. The assembly looks like it's running a 6uS loop for the multispark. This doesn't seem to make sense...
10,000 RPM = 166.666 hz = 60,000 deg/sec = 60 deg/ms = 0.06 deg/uS
5,000 RPM = 83.333 hz = 30,000 deg/sec = 30 deg/ms = 0.03 deg/uS
2,500 RPM = 41.666 hz = 15,000 deg/sec = 15 deg/ms = 0.015 deg/uS
Somebody better check my math, or I need to quit using the simulator.
At 41.5 hz (just under 2500 RPM) the spark is delayed for 875uS, which should be 13.1 deg. That should be about 17 deg advance if the sensor is at 30 deg. This agrees with the excel ignition curve.
The next two sparks are 2.4 ms later. This would give a spark at 17deg BTDC, 19deg AFTER TDC, and 55deg after TDC.
So this might scale down to work well at idle RPMs, but at 2500 RPM I don't know that there's really any reason to send a spark at 19 deg after TDC. There's certainly no reason to send a spark at 55 deg after TDC.
We should have noticed from the video that even at lower RPMs the degree seperation between the sparks is pretty decent. Somebody please check my math and review the video to double check the angles. I don't know what RPM he's running at in the vid.
Hopefully some engine experts can jump in here also. What happens if you light your mix at 19 deg after TDC? Would this help in any way? The compression would be lower so the spark would have a better chance, but is there any real power generated?