...Feel free to contact me about getting design files, code, a little help, etc.
It demonstrates proportional, integral, and derivative controllers and their features as well as anti-windup and control loop update rate. It uses a DC motor controlled by an h-bridge and an optical quadrature encoder for feedback.
It uses timers, counters, and interrupts to generate PWM to control the speed of the motor, encoder pulse counting, and control loop updates.