An electro discharge machining apparatus, comprising: an electrode configured to machine a desired feature in a workpiece, the electrode being inclined relative to the workpiece; a pulse generator configured to energize the electrode and the workpiece to opposite electrical polarities; a machining solution source configured to pass a machining solution between the electrode and the workpiece; a motor configured to drive the electrode to move relative to the workpiece; a position detection element, a voltage detection element, and an electrical detection element configured to detect machining signals of the electrode position, and of the voltage and the electrical current between the electrode and the workpiece, respectively; and a controller configured to control the pulse generator and the motor to machine the workpiece according to a plurality of first process parameters predetermined therein and to analyze the detected machining signals to generate a first response signal to activate a plurality of second process parameters predetermined therein and different from the first process parameters to machine the workpiece; characterised in that the controller comprises: i) a signal-receiving module for receiving and sampling signal data points of each of the machining signals, ii) a processing module for analyzing the sampled signal data points of the received machining signals from the signal-receiving module, calculating average values of every two adjacent signal data points for each of the machining signals and comparing each average value of the machining signals with respective values of a predetermined first threshold value group, and generating the first response signal when the average values match the respective values in the predetermined first threshold value group, iii) and a process parameter module storing the first and second predetermined process parameters; wherein the desired feature in the workpiece comprises a through hole and the controller is configured to operate in accordance with an electro discharge machining process comprising a touch-in stage, a normal machining stage, and a breakthrough stage, the first process parameters are predetermined for the touch-in stage, the second process parameters are predetermined for the normal machining stage, and wherein the process parameter module further stores third process parameters predetermined for the breakthrough stage. an electrode configured to machine a desired feature in a workpiece, the electrode being inclined relative to the workpiece; a pulse generator configured to energize the electrode and the workpiece to opposite electrical polarities; a machining solution source configured to pass a machining solution between the electrode and the workpiece; a motor configured to drive the electrode to move relative to the workpiece; a position detection element, a voltage detection element, and an electrical detection element configured to detect machining signals of the electrode position, and of the voltage and the electrical current between the electrode and the workpiece, respectively; and a controller configured to control the pulse generator and the motor to machine the workpiece according to a plurality of first process parameters predetermined therein and to analyze the detected machining signals to generate a first response signal to activate a plurality of second process parameters predetermined therein and different from the first process parameters to machine the workpiece; characterised in that the controller comprises: i) a signal-receiving module for receiving and sampling signal data points of each of the machining signals, ii) a processing module for analyzing the sampled signal data points of the received machining signals from the signal-receiving module, calculating average values of every two adjacent signal data points for each of the machining signals and comparing each average value of the machining signals with respective values of a predetermined first threshold value group, and generating the first response signal when the average values match the respective values in the predetermined first threshold value group, iii) and a process parameter module storing the first and second predetermined process parameters; i) a signal-receiving module for receiving and sampling signal data points of each of the machining signals, ii) a processing module for analyzing the sampled signal data points of the received machining signals from the signal-receiving module, calculating average values of every two adjacent signal data points for each of the machining signals and comparing each average value of the machining signals with respective values of a predetermined first threshold value group, and generating the first response signal when the average values match the respective values in the predetermined first threshold value group, iii) and a process parameter module storing the first and second predetermined process parameters; wherein the desired feature in the workpiece comprises a through hole and the controller is configured to operate in accordance with an electro discharge machining process comprising a touch-in stage, a normal machining stage, and a breakthrough stage, the first process parameters are predetermined for the touch-in stage, the second process parameters are predetermined for the normal machining stage, and wherein the process parameter module further stores third process parameters predetermined for the breakthrough stage.