This paper presents a model-free iterative learning control algorithm for linear time-invariant systems. At every trial, a finite impulse response filter to update the system input is calculated by solving a convex optimization problem that minimizes the next trial's tracking error taking into account actuator constraints. Simulation results show the ability of the proposed model-free method to deal with actuator constraints and to fully compensate for trial-invariant disturbances such as actuator cogging.