A quadrature encoder uses two output channels offset in phase to detect both direction and position with greater precision.
Not every project has to be complicated– reinventing the wheel has its place, but sometimes you find a module or two that does exactly what you want, and the project is more than halfway done. That ...