A controller in combination with a stepper motor operated gas valve configured to vary the gas flow rate for varying the level of heating operation of a heating apparatus, the controller and stepper motor operated gas valve combination comprising: a valve element movable relative to a valve opening in the gas valve; a main diaphragm chamber disposed in the gas valve, a main diaphragm disposed in the main diaphragm chamber and coupled to the valve element, the main diaphragm being configured to controllably displace the valve element relative to the valve opening in response to changes in gas pressure acting against the main diaphragm; a servo-regulator diaphragm configured to regulate flow of gas to the main diaphragm chamber that acts against the main diaphragm, to thereby adjust the valve element to vary the flow rate of gas through the valve opening; a stepper motor configured to move in a stepwise manner to displace the servo-regulator diaphragm for varying the flow of gas to the diaphragm chamber, to thereby control the rate of gas flow through the valve opening; characterized by: a stepper motor position sensor configured to detect the stepwise movements of the stepper motor; The controller having an input connector configured to receive an input signal indicating a specific level of heating operation; and a microprocessor in communication with the stepper motor position sensor and the input connector, the microprocessor being configured to detect the presence of an input signal that is indicative of a desired operating capacity level at which to operate the variable heating apparatus, the microprocessor including a programmable memory encoded with one or more instructions operable to determine the number of steps the stepper motor must move to displace the servo-regulator diaphragm to establish a gas flow rate corresponding to the desired operating capacity level, generate a stepper motor control signal that causes the stepper motor to move the determined number of steps to displace the servo-regulator diaphragm to establish the gas flow rate corresponding to the desired operating capacity level, and compare the determined number of steps with the number of steps the stepper motor actually moves as detected by the stepper motor position sensor, to verify the position of the stepper motor. a valve element movable relative to a valve opening in the gas valve; a main diaphragm chamber disposed in the gas valve, a main diaphragm disposed in the main diaphragm chamber and coupled to the valve element, the main diaphragm being configured to controllably displace the valve element relative to the valve opening in response to changes in gas pressure acting against the main diaphragm; a servo-regulator diaphragm configured to regulate flow of gas to the main diaphragm chamber that acts against the main diaphragm, to thereby adjust the valve element to vary the flow rate of gas through the valve opening; a stepper motor configured to move in a stepwise manner to displace the servo-regulator diaphragm for varying the flow of gas to the diaphragm chamber, to thereby control the rate of gas flow through the valve opening; characterized by: a stepper motor position sensor configured to detect the stepwise movements of the stepper motor; The controller having an input connector configured to receive an input signal indicating a specific level of heating operation; and a microprocessor in communication with the stepper motor position sensor and the input connector, the microprocessor being configured to detect the presence of an input signal that is indicative of a desired operating capacity level at which to operate the variable heating apparatus, the microprocessor including a programmable memory encoded with one or more instructions operable to determine the number of steps the stepper motor must move to displace the servo-regulator diaphragm to establish a gas flow rate corresponding to the desired operating capacity level, generate a stepper motor control signal that causes the stepper motor to move the determined number of steps to displace the servo-regulator diaphragm to establish the gas flow rate corresponding to the desired operating capacity level, and compare the determined number of steps with the number of steps the stepper motor actually moves as detected by the stepper motor position sensor, to verify the position of the stepper motor. a stepper motor position sensor configured to detect the stepwise movements of the stepper motor; The controller having an input connector configured to receive an input signal indicating a specific level of heating operation; and a microprocessor in communication with the stepper motor position sensor and the input connector, the microprocessor being configured to detect the presence of an input signal that is indicative of a desired operating capacity level at which to operate the variable heating apparatus, the microprocessor including a programmable memory encoded with one or more instructions operable to determine the number of steps the stepper motor must move to displace the servo-regulator diaphragm to establish a gas flow rate corresponding to the desired operating capacity level, generate a stepper motor control signal that causes the stepper motor to move the determined number of steps to displace the servo-regulator diaphragm to establish the gas flow rate corresponding to the desired operating capacity level, and compare the determined number of steps with the number of steps the stepper motor actually moves as detected by the stepper motor position sensor, to verify the position of the stepper motor.