A circuit for sensing the driving current of a multiple-phase motor, the circuit comprising: a driver configured to generate the driving current for each phase of the multiple-phase motor, the instantaneous sum of all the driving currents being zero; a current sensor for each phase of the multiple-phase motor, each current sensor configured to measure the driving current of that phase wherein each current sensor comprises two current sensor elements (402, 404, 602, 604), each current sensor element is a Hall sensor configured to measure the driving current of the phase thereby generating a driving current reading, the measured driving current of that phase being a combination of the driving current readings of the current sensor elements, and the current sensor elements of each current sensor are arranged with respect to each other such that each current sensor element has the same magnitude of driving current systematic error due to magnetic fields external to the driving current to be measured; and characterised by: a controller configured to, for each phase of the multiple-phase motor, generate an estimate of the driving current of that phase to be the measured driving current of that phase minus 1/n of the total of the measured driving currents for all phases, n being the number of phases of the multiple-phase motor, wherein the current sensor elements of each current sensor are arranged in an opposing orientation and are one of: (i) arranged back to back on a circuit board, and (ii) arranged side by side on a circuit board and wired in parallel. a driver configured to generate the driving current for each phase of the multiple-phase motor, the instantaneous sum of all the driving currents being zero; a current sensor for each phase of the multiple-phase motor, each current sensor configured to measure the driving current of that phase wherein each current sensor comprises two current sensor elements (402, 404, 602, 604), each current sensor element is a Hall sensor configured to measure the driving current of the phase thereby generating a driving current reading, the measured driving current of that phase being a combination of the driving current readings of the current sensor elements, and the current sensor elements of each current sensor are arranged with respect to each other such that each current sensor element has the same magnitude of driving current systematic error due to magnetic fields external to the driving current to be measured; and characterised by: a controller configured to, for each phase of the multiple-phase motor, generate an estimate of the driving current of that phase to be the measured driving current of that phase minus 1/n of the total of the measured driving currents for all phases, n being the number of phases of the multiple-phase motor, wherein the current sensor elements of each current sensor are arranged in an opposing orientation and are one of: (i) arranged back to back on a circuit board, and (ii) arranged side by side on a circuit board and wired in parallel. a controller configured to, for each phase of the multiple-phase motor, generate an estimate of the driving current of that phase to be the measured driving current of that phase minus 1/n of the total of the measured driving currents for all phases, n being the number of phases of the multiple-phase motor, wherein the current sensor elements of each current sensor are arranged in an opposing orientation and are one of: (i) arranged back to back on a circuit board, and (ii) arranged side by side on a circuit board and wired in parallel.