This project is about the design and implementation of a fuzzy vacuum cleaner system. The fuzzy vacuum cleaner system has the ability to determine the amount of dirt on the surface being cleaned and the type of that surface. A dirt sensor connected to the vacuum cleaner head determines the amount of dirt while the surface type is determined from the rate at which the amount of dirt increases or decreases. The fuzzy vacuum cleaner adjust its suction power according to a set of fuzzy rules. These fuzzy rules are divided according to the amount of dirt and the type of surface being cleaned. A self- tuning pole placement controller has been designed to control the vacuum motor speed. The vacuum motor has been modelled in MATLAB and compared with the real time system. The fuzzy vacuum cleaner system has been validated through several real-time experiments. These experiments were carried out on different types of surfaces. The improvement of the system can by the extent to which it recognizes different surfaces and the way in which it operates according to the fuzzy rules.