This paper describes the first development and implementation of a closed loop edge localized mode (ELM) frequency controller using gas injection as the actuator. The controller has been extensively used in recent experiments on JET and it has proved to work well at ELM frequencies in the 15-40 Hz range. The controller responds effectively to a variety of disturbances, generally recovering the requested ELM frequency within approximately 500 ms. Controlling the ELM frequency has become of prime importance in the new JET configuration with all metal walls, where insufficient ELM frequency is associated with excessive tungsten influx. The controller has allowed successful operation near the minimum acceptable ELM frequency where the best plasma confinement can be achieved. Use of the ELM frequency controller in conjunction with pellet injection has enabled investigations of ELM triggering by pellets while maintaining the desired ELM frequency even when pellets fail to trigger ELMs.