An aerosolization device comprising: a housing having a mouthpiece; an aerosol generator disposed in the housing; and a flow sensor to measure a flow rate; characterised in that the aerosolization device comprises: a controller to control operation of the aerosol generator; wherein the aerosol generator comprises a plate having a plurality of apertures and a piezoelectric transducer that is coupled to the controller to vibrate the aperture plate; wherein the controller is configured to begin operation of the aerosol generator upon receipt of a signal from the flow sensor indicating that a threshold flow rate has been achieved by a user when inhaling through the mouthpiece and to stop operation of the aerosol generator after passage of an operation time period that is selected such that continuation of the breath delivers substantially all of the produced aerosol to the user's lungs, wherein the controller includes a predetermined stored value that is an estimate of a delivery time period to essentially fill a predetermined dead space volume with generally aerosol free chase air from a breath, and wherein the controller is configured to calculate the operation time period using the stored value, wherein the controller is configured to calculate and store an initialization time period that is equal to the length of time that the flow rate is above the threshold flow rate during an initialization phase of the aerosolization device, and wherein the controller is further configured to calculate the operation time period by subtracting the predetermined stored value from the initialization time period. a housing having a mouthpiece; an aerosol generator disposed in the housing; and a flow sensor to measure a flow rate; characterised in that the aerosolization device comprises: a controller to control operation of the aerosol generator; wherein the aerosol generator comprises a plate having a plurality of apertures and a piezoelectric transducer that is coupled to the controller to vibrate the aperture plate; wherein the controller is configured to begin operation of the aerosol generator upon receipt of a signal from the flow sensor indicating that a threshold flow rate has been achieved by a user when inhaling through the mouthpiece and to stop operation of the aerosol generator after passage of an operation time period that is selected such that continuation of the breath delivers substantially all of the produced aerosol to the user's lungs, wherein the controller includes a predetermined stored value that is an estimate of a delivery time period to essentially fill a predetermined dead space volume with generally aerosol free chase air from a breath, and wherein the controller is configured to calculate the operation time period using the stored value, wherein the controller is configured to calculate and store an initialization time period that is equal to the length of time that the flow rate is above the threshold flow rate during an initialization phase of the aerosolization device, and wherein the controller is further configured to calculate the operation time period by subtracting the predetermined stored value from the initialization time period. a controller to control operation of the aerosol generator; wherein the aerosol generator comprises a plate having a plurality of apertures and a piezoelectric transducer that is coupled to the controller to vibrate the aperture plate; wherein the controller is configured to begin operation of the aerosol generator upon receipt of a signal from the flow sensor indicating that a threshold flow rate has been achieved by a user when inhaling through the mouthpiece and to stop operation of the aerosol generator after passage of an operation time period that is selected such that continuation of the breath delivers substantially all of the produced aerosol to the user's lungs, wherein the controller includes a predetermined stored value that is an estimate of a delivery time period to essentially fill a predetermined dead space volume with generally aerosol free chase air from a breath, and wherein the controller is configured to calculate the operation time period using the stored value, wherein the controller is configured to calculate and store an initialization time period that is equal to the length of time that the flow rate is above the threshold flow rate during an initialization phase of the aerosolization device, and wherein the controller is further configured to calculate the operation time period by subtracting the predetermined stored value from the initialization time period.