So, I'm going about this project where I am designing a system that would control the timing of intake and exhaust valves in internal combustion engines. I will have a signal generator give me pulses to act as the engine position sensor, and just LED's to act as valve actuator outputs. Later down the road, if I have time, I will add other features like a throttle potentiometer that could also affect timing possibly a driving mode selector, who knows. Anyway, I am having trouble figuring out how to have my board receive the signal from the signal generator. I'm thinking I could use the onboard ADC pins to detect a high or low input. It needs to be able to pick up the rising edge of each pulse from the signal generator to index a count which I am also trying to figure out. Overall, I don't think I'll have too much trouble if I can figure out how to receive the rising edge of the pulses. The attached picture is a flow chart of how I plan on going about the logic. The pulse from the signal generator will index a 16 bit count that represent 16 points on a circle which will be used to determine engine position. Abbreviations are as follows: TDC = Top dead center bit BDC = Bottom Dead Center bit C = count of clock cycles between pulses X = medium speed setpoint of clock counts Y = High speed setpoint of clock counts EO, EC, IO, IC = Exhaust and intake open and close setpoints of engine position P = Engine position I can make it as simple or complex as I want once I figure out the base design. Any input would be much appreciated!