Introduction: DIY 8800W Arduino AC Dimmer

About: I'm from India and love making projects on electronics, specially with arduino. Internet is the only guidance I have and I've been into these since I was 11.

Having a high power digital dimmer which can be controlled with Arduino is a treat to have, I use it to control my heat gun, cutter, and drill. Works like a charm and does not break a sweat.

So in this instructable, I will show you how I made this High-Power dimmer.

Even though I will not go in detail theory explanation, I have compiled excellent, easy to understand resources for the concepts used to build the dimmer.

This project is inspired by an instructable by DIY_Bloke on AC dimmer on zero-cross, he explains in great detail about how the zero-cross detection circuit works and how triac can be used to control the power delivery on AC appliances that can be dimmed, so go check out his instructable if you have no idea what zero crossing and triacs are.

The second great resource to learn about triacs is a YouTuber named Chris's Workbench, he explores the working of triacs and circuits that are built around it, he also explores what the parameters in the datasheet of a triac actually mean, so go check videos on his channel for a great learning exercise.

Another set of resources is a set of videos, one by ElectroNoobs and other by GreattScott! on youtube, they explain in detail how the phase angle control with zero-cross detection works.

If you'd rather prefer watching a video, then following is a youtube video for the same tutorial I made.

Step 1: A Word of Caution!

AC Mains is not something to play around, and especially with this project, massive currents are involved that makes it an instant hazard, please be careful and if this is your first project involving AC Mains.

Step 2: Components and Tools

Triac BTA41

a Tirac Driver optocoupler: MOC3021

a Zero-Cross optocoupler 4N35, Arduino, I am using Nano,

Bridge rectifier


1K 1/4W
200 ohm 1W(Snubber)

200ohm 1/4W

47k 1/4w x2

100 ohm 1/4W

400V 100nF Capacitor

An AC mains plug/contactor, I am using a female 16A socket enclosed in a nifty little box. So everything is enclosed making it safer.

A pressboard to build a circuit.

A heatsink, I probably overkilled with this massive heatsink, but according to my experience it is better to overkill a heatsink than use a smaller one, and especially with these massive currents involved, I did not want to risk things getting too hot.

for wire, I used 4mm copper wire.

And some tools: Wires for connection. Soldering Iron. Solder wire. Some heatsink and insulating tape. Thermal paste.

Step 3: Build

This is the schematic, I have soldered the Optocoupler, triac driver on the perf board and made the simple connections, I also made a separate module kind of thing for the snubber network because I was doing some testing and had to plug and unplug the snubber circuit, but you can build it on the same PCB.

The build will highly depend on the components you choose. Just be patient and careful, because the connections are simple but you don’t want to get wrong with this kind of lethal voltage.

Apply the thermal paste at the back before attaching it to the heatsink for better thermal conductivity.

Step 4: The Code

The code is a modified version of the one by electronoobs Zero-Cross detection project, and the main parameter which controls how long the delay will be is "valor". It controls the delay in microseconds to switch on the gate after the zero cross is detected.

Every time the zero cross is detected, the delay increases by 20 microseconds until it reaches 6000, after which it gets back to zero, to starts all over again. If this code does not make any sense to you go through the resources in the intro.

Download it from here:

Step 5: Thats It!

I hope you enjoyed this build of my Arduino AC Dimmer, for more interesting future projects, follow me and please subscribe to my YouTube channel!

If you want to make your prototype PCBs cheap and with amazing tolerance and quality control, check out where you can get 10 double layer PCBs for just 5$, and not only that, they also offer PCB Assembly service starting at 30$, so be it flexible PCBs or multilayered high-quality circuits, you can get them made at an unbelievable price from PCBWay

Thank You!