The digital dimmer circuit created in this project is a more precise version of what most people have on the wall in their homes. Dimmer circuits utilize a device called a triac. A traic is a special thyristor that allows for current control over both halves of the AC waveform. The digital dimmer takes the analog input from the potentiometer and through the user’s code maps it to an output to a triac driver. Based on this input the driver’s output will open the gate of the triac which controls the dimming of the circuit. However, sending just any output to the driver can result is very inconsistent results. Using a full bridge rectifier coupled with a photocoupler, creates another input to the Arduino that maps all zero crossings. Using these inputs as well as delays, an output that times to the zero crossings of the AC wave allows for the user to create a typical dimming circuit that goes from zero to max. However, changing the timing of the outputs call allow for very precise and unique ways to control the output of the circuit.