So, I was thinking about the emag full auto problem for a bit lately. I was wondering what was the best method of programming to counter the issue while maintaining optimum functionality. Of course, I needed to know the full problem, so I put a digital storage scope on my trusty emag and set about testing it. I was specifically measuring the effect of the solenoid magnet pulse on the HES. It turns out I didn't need a programming solution, only a hardware one that anyone could put in place.
Microprocessor trigger input needs above 3.0V to guarrantee an ON condition
Microprocessor trigger input needs below 1.0V to guarrantee an OFF condition
Any signal between 1.0V and 3.0V may or may not be considered ON or OFF.
What I discovered was a 200ns HES pulse on the release of the solenoid. It followed the same profile as the voltage reading on the solenoid. On my emag it measured 1.5V in amplitude. Depending on your trigger magnet distance and specific HES the magnetic influence could be different on each emag. The tolerance of the microprocessor also has an effect on the outcome because any signal over 1.0V but less than 3.0V is not guarranteed to be ON or OFF. The combination of magnetic influence and microprocessor tolerance to signals at the input is probably why some emags suffer from the full auto effect more than others.
I came up with a series capacitor-resistor circuit that could be easily added to the HES input without any modification to the board other than soldering a couple of wires to existing points. The calculated value of the capacitor is 50 picofarads. The resistor is 680 ohms. The series combination is added from the HES output to ground. Its purpose is to slow down the positive going pulse generated by the solenoid magnetic effect on the HES. The time constant is calculated so that the HES cannot reach 1.0V within the 200ns timeframe given the worst case scenarios for all microprocessor pullup resistor values and the calculated resistor values we are using. The 680 ohm resistor value is the next highest R value for a common resistor so that you don't exceed the max current pulse capability of the HES when you pull the trigger. The pull of the trigger still causes an instantaneous response, since the HES is still connected directly to the input of the microprocessor. Only the release of the trigger is slowed down. It now takes about 2 microseconds to get a guarranteed trigger release (HES recharge above 3.0V) given the worst case scenario. I guarrantee nobody can release and repull a trigger within that time frame, so it won't affect the gun performance.
The connection for the circuit is from the 9th pin down on the left row of exposed stamp pins to ground.
(STAMP pin 9 - ground)
I want everyone to try this out and confirm that it works as well on all other emags, not just mine.