some years ago I found on the internet the AEPL (Allumage Electronique Phillppe Loutrel , a french guy - allumage = ignition ) DIY programmable ignition. it is as simple as it can be and consists of only 3 things : an arduino nano, a hall sensor and an IGBT or Mosfet, so also very cheap. If you use chinese arduino-clones, you also need a 5V voltage regulator for a 12V system, not needed for a 6V system. He designed it for use in his Alpine oldtimer.
this is the most basic wiring :
and yes, a lot of people use it like this without any further protecting from interference, just a capacitor , and R-plug and or cap.
in the software, you only have to change 6 basic things : the number of cylinders, 2 row's for rpm's and matching ignition adance, the position of the sensor in degree's before TDC , if the Hall-signal is rising or falling, and the Dwell.
other options include :
*set a redline-rpm at which the rpm cut's out
*multisparks at low rpm to prevent the plugs from fouling
*automatic regulation of the stationnairy rpm by advancing or retarding the ignition curve
*a bluetooth module so the rpm and advance can be shown on our phone
*upto a certain low rpm you can set the ignition advance to 0° for easy starting or no kick-back when kicjstarting
*different types of Dwell (always on except for 1ms, 1/3 off 2/3 on to simulate points-ignition, or you can set a fixed time for charging the coil thoughout the rpm-range. you could even set it so small you could use coil's with very low primairy resistance
*using a switch you can chose between 3 different maps
*using a potentio-meter you can alter the ignition-curve up or down on the fly
and if you search the web (best in french), you find other people's version's who have adopted it to their needs (2/4 cylinders with or without distributor, changing the ignition curve based on the depression in the intake tract, ... or let your imagination run lose)
for those who know french :
https://www.loutrel.org/aeduino.php
at the time, I had to try it immediatly on my MX-moped, but as I tried it directly on the bike, off course it failed.
so this winter I want to make it work, and built a cheap-ass test-thing.
got a motor from a forklift-heater and tested it's max rmp : about 2570, so if I'd put a rotor with 5 lobes on it, it could act as turning just under 13.000rpm which would be more than enough for my moped. and I found this in my garbage-metal , so saved me some work
put hall-sensor (taken from forklift-scrap) and a pick-up in the motor's housing :
first tried to make a block-signal from the pick-up (saves the work of having to place a Hall-sensor on the engine) for the arduino to work with, and succeeded with an optocoupler, but sadly at low rpm's it's voltage-output isn't high enough and the optocoupler cut's out.
so got working with the Hall-sensor for now to test the rest.
I'm not using an IGBT, but a Bosch ignition module instead (0227100142, I bought a clone on Alie Express https://nl.aliexpress.com/item/10050...yAdapt=glo2nld). On my first attempt years ago I found the pins on an IGBT too fragile, and it needs some cooling, and someone who installed an AEPL on his RD125 found out that if the IGBT is placed too close to the arduino, it can damage the arduino-probably what happened to me then) + the Bosch module is probaly already protected . Downside is that the dwell is now determinned by the Bosch and I lose the dwell-option's
and it works. at first it worked only up to the higher mid-range but then I realised I had measured the rpm with the fan on the motor. Without it , it would rev higher, and as I had set the red line at 13.000, it cut out. so I kept adjusting the red-line rpm until it no more cut-out and found out it turned at +/- 18.100, and as the engine warmed up, it ran upto 20.050 (well, devided by 5, but the arduino thinks it's running at 20.050, or as shown by the osciloscope's output from the arduino, at +/- 341 Hz , so very happy with that :
https://youtube.com/shorts/tDq2E59a49A
this was just a basic run to test. I also wanted to test how big a spark I could get so adjusted the ground-metal to about 6mm and it worked, but for only a couple of seconds, than the interference was too big I suppose and the arduino stopped working (but works again mostly after cutting and reconnecting power, or sometimes if that didn't work after re-programming).
So I ordered shielded cable's and wil add some more protection.
I have translated the software-file as good as I could (I know a good deal of french, but it is far from perfect. I'm kinda hoping someone who speaks better french than me and reads this could do a better job
here is a version I translated :
https://dl.dropboxusercontent.com/sc...=qvz1pcsl&dl=0
here is the original french (just saw today there was a newer version in 2024) :
https://dl.dropboxusercontent.com/sc...=lbdeob59&dl=0








. at first it worked only up to the higher mid-range but then I realised I had measured the rpm with the fan on the motor. Without it , it would rev higher, and as I had set the red line at 13.000, it cut out. so I kept adjusting the red-line rpm until it no more cut-out and found out it turned at +/- 18.100, and as the engine warmed up, it ran upto 20.050 (well, devided by 5, but the arduino thinks it's running at 20.050, or as shown by the osciloscope's output from the arduino, at +/- 341 Hz , so very happy with that :
Reply With Quote
Bookmarks