An electronic cigarette vaporiser includes a heating element 36 and a microcontroller; the microcontroller measures the airflow speed or pressure drop over an air-pressure sensor 59 or other sensor and uses that as an input to control the power delivered to the heating element. The microcontroller may compensate for a very strong inhalation by applying more power during that inhalation as compared to a very light inhalation to ensure that the heating element is kept at its optimal heating temperature. The vaporiser may comprise a module that monitors the resistance of the heating element, infers the temperature of the element from said resistance, and uses the derived temperature as a control input, or may use the resistance directly. The relationship between temperature and resistance may be empirically derived and stored in the module. The vaporiser may use multiple techniques to ensure the heating element is at its optimum temperature. The vaporiser may be approximately the same size as a cigarette and include no control buttons, and may be refilled when inserted into a refilling case, possibly via a piezoelectric pump. The vaporiser may be refillable from a cartridge.