A controller apparatus for an electric power tool comprising a battery and a DC brushless motor, the controller apparatus comprising: a current detector that detects an instantaneous current flowing in the DC brushless motor; a current calculator that calculates one of an average value and an effective value of the instantaneous current detected by the current detector; a current controller configured to utilize a result from the current calculator as a detected value; characterized by further comprising a speed controller configured to generate a target value of the current controller, wherein the controller apparatus further comprises a first limiter that limits the target value of the current controller, the first limiter being provided at an output stage of the speed controller, wherein the current controller further comprises a subtractor, a PI controller, a second limiter and a comparator, wherein the subtractor is configured to subtract the average current signal or the effective value from a target current value signal indicating the target value, so that a current control value signal indicating a result of the subtraction is outputted to the PI controller, wherein the PI controller is configured to perform proportional-integral control on the current control value, and to output a control signal to the comparator via the second limiter, wherein the second limiter is configured to control an amplitude value of a PWM signal outputted from the comparator within a predetermined value, wherein the comparator is configured to generate the PWM signal for driving the motor by PWM modulation, and to output the PWM signal by comparing the control signal from the limiter with a triangular wave generated by a triangular wave generator, wherein the controller apparatus further comprises a gate controller, and an overcurrent detector configured to compare the instantaneous current from the current detector with a maximum current and to generate a gate block signal from a result of the comparison, wherein the overcurrent detector is configured to output the gate block signal to the gate controller, and the gate controller is configured to stop driving of a PWM inverter circuit for outputting a voltage to the motor, when the instantaneous current exceeds the maximum current. a current detector that detects an instantaneous current flowing in the DC brushless motor; a current calculator that calculates one of an average value and an effective value of the instantaneous current detected by the current detector; a current controller configured to utilize a result from the current calculator as a detected value; characterized by further comprising a speed controller configured to generate a target value of the current controller, wherein the controller apparatus further comprises a first limiter that limits the target value of the current controller, the first limiter being provided at an output stage of the speed controller, wherein the current controller further comprises a subtractor, a PI controller, a second limiter and a comparator, wherein the subtractor is configured to subtract the average current signal or the effective value from a target current value signal indicating the target value, so that a current control value signal indicating a result of the subtraction is outputted to the PI controller, wherein the PI controller is configured to perform proportional-integral control on the current control value, and to output a control signal to the comparator via the second limiter, wherein the second limiter is configured to control an amplitude value of a PWM signal outputted from the comparator within a predetermined value, wherein the comparator is configured to generate the PWM signal for driving the motor by PWM modulation, and to output the PWM signal by comparing the control signal from the limiter with a triangular wave generated by a triangular wave generator, wherein the controller apparatus further comprises a gate controller, and an overcurrent detector configured to compare the instantaneous current from the current detector with a maximum current and to generate a gate block signal from a result of the comparison, wherein the overcurrent detector is configured to output the gate block signal to the gate controller, and the gate controller is configured to stop driving of a PWM inverter circuit for outputting a voltage to the motor, when the instantaneous current exceeds the maximum current.