A system for determining the orientation of a toothbrush and for providing feedback to a user related to brushing, the system comprising: an orientation sensor configured for attachment to the toothbrush, the orientation sensor comprising an accelerometer; and at least one processor configured to receive orientation information from the orientation sensor and to determine whether the sensor is in one of a plurality of different orientations (33, 41, 47, 49) corresponding to an area of the mouth, the plurality of different orientations comprising: an orientation corresponding to use of the toothbrush on a front surface of teeth on the left of a user's mouth; an orientation corresponding to use of the toothbrush on a front surface of teeth on the right of the user's mouth; an orientation corresponding to use of the toothbrush on an inside surface of the top teeth of the user's mouth; and an orientation corresponding to the use of the toothbrush on an inside surface of the bottom teeth of the user's mouth; wherein the at least one processor is arranged to output the area of the mouth being brushed in order to provide real time feedback relating to brushing; characterised in that: the at least one processor is arranged such that, as the user brushes their teeth, the processor processes data from the accelerometer to obtain a gravity component and a linear acceleration component; the at least one processor is arranged to store and use as threshold values a maximum and minimum value associated with each of the gravity component and the linear acceleration component for each of the plurality of different orientations (33, 41, 47, 49); and the at least one processor is arranged to compare the gravity component and the linear acceleration component with said stored threshold values for each of said plurality of different orientations (33, 41, 47, 49) to determine whether the sensor is in one of said plurality of different orientations. an orientation sensor configured for attachment to the toothbrush, the orientation sensor comprising an accelerometer; and at least one processor configured to receive orientation information from the orientation sensor and to determine whether the sensor is in one of a plurality of different orientations (33, 41, 47, 49) corresponding to an area of the mouth, the plurality of different orientations comprising: an orientation corresponding to use of the toothbrush on a front surface of teeth on the left of a user's mouth; an orientation corresponding to use of the toothbrush on a front surface of teeth on the right of the user's mouth; an orientation corresponding to use of the toothbrush on an inside surface of the top teeth of the user's mouth; and an orientation corresponding to the use of the toothbrush on an inside surface of the bottom teeth of the user's mouth; an orientation corresponding to use of the toothbrush on a front surface of teeth on the left of a user's mouth; an orientation corresponding to use of the toothbrush on a front surface of teeth on the right of the user's mouth; an orientation corresponding to use of the toothbrush on an inside surface of the top teeth of the user's mouth; and an orientation corresponding to the use of the toothbrush on an inside surface of the bottom teeth of the user's mouth; wherein the at least one processor is arranged to output the area of the mouth being brushed in order to provide real time feedback relating to brushing; characterised in that: the at least one processor is arranged such that, as the user brushes their teeth, the processor processes data from the accelerometer to obtain a gravity component and a linear acceleration component; the at least one processor is arranged to store and use as threshold values a maximum and minimum value associated with each of the gravity component and the linear acceleration component for each of the plurality of different orientations (33, 41, 47, 49); and the at least one processor is arranged to compare the gravity component and the linear acceleration component with said stored threshold values for each of said plurality of different orientations (33, 41, 47, 49) to determine whether the sensor is in one of said plurality of different orientations. the at least one processor is arranged such that, as the user brushes their teeth, the processor processes data from the accelerometer to obtain a gravity component and a linear acceleration component; the at least one processor is arranged to store and use as threshold values a maximum and minimum value associated with each of the gravity component and the linear acceleration component for each of the plurality of different orientations (33, 41, 47, 49); and the at least one processor is arranged to compare the gravity component and the linear acceleration component with said stored threshold values for each of said plurality of different orientations (33, 41, 47, 49) to determine whether the sensor is in one of said plurality of different orientations.