Best AC Dimmer Modules for Arduino, ESP8266 & ESP32 in 2026

If you’ve ever wanted to control the brightness of a lamp, the speed of an AC motor, or the temperature of a heating element from a microcontroller, you need an AC dimmer module. Unlike DC PWM control, AC dimming requires zero-cross detection and TRIAC firing synchronized to the mains waveform — and getting it wrong can mean a fried microcontroller or worse.

RobotDyn 1-channel AC dimmer module RobotDyn 16/24A High Load AC dimmer module RobotDyn ESP-01 SSR AC relay module
The three RobotDyn modules covered in this guide — left to right: 1-channel 4–8 A dimmer, 16/24 A high-load dimmer, ESP-01 SSR relay (on/off only).

In this guide we compare the most-used AC dimmer modules in the DIY electronics community in 2026, with honest pros and cons for each, real-world wiring tips, and which one is right for your project.

Quick Recommendations

Use casePickWhy
General lamp / fan dimming up to ~8 ARobotDyn 1-Channel AC DimmerBest documentation, optocoupler isolation, well-supported library
Heating elements, motors, heavy loads up to 24 ARobotDyn 16/24A High-Load DimmerIndustrial-grade BTA24 TRIAC, 600 V rating, same library
Just need on/off switching (no dimming)RobotDyn ESP-01 SSR RelaySolid-state, silent, has WiFi via ESP-01
Bargain bin / not safety-criticalGeneric AliExpress cloneCheap, but verify the optocoupler is present

Why You Need an AC Dimmer Module

Microcontrollers run at 3.3 V or 5 V. Wall outlets carry 110 V or 220 V AC. You can’t connect them directly — a single mistake and the microcontroller (and possibly you) are toast.

An AC dimmer module bridges these two worlds:

  1. Galvanic isolation between the high-voltage AC side and the logic side, usually via an optocoupler
  2. Zero-cross detection — a feedback signal that tells the microcontroller exactly when the AC sine wave crosses zero, so it can synchronize the TRIAC firing
  3. TRIAC switching — a controlled semiconductor that passes AC current after being triggered, and automatically turns off at the next zero-cross

The microcontroller then uses phase-cut dimming: after each zero-cross, it waits some number of microseconds before firing the TRIAC. The longer it waits, the less of each sine wave reaches the load, and the dimmer the lamp gets. At 50 Hz, the maximum delay is 10 ms (full off); at 0 ms, you get 100 % power.

ZC ZC ZC ZC ZC delay TRIAC conducts Full sine wave (no dimming) Phase-cut output (~50% power) Zero-cross detection pulse
Phase-cut dimming at ~50% power. After each zero-cross (blue dots) the microcontroller waits a calculated delay, then triggers the TRIAC. The TRIAC conducts (red) until the next zero-cross, when it automatically turns off. Longer delay = less power reaches the load.

What Loads Work With AC Dimmers?

Not every AC device can be dimmed. Phase-cut dimming works by chopping the AC waveform — this works fine for purely resistive loads, but causes problems with electronic devices that expect a clean sine wave.

Works perfectly:

Works if marked “dimmable”:

Does NOT work:

If you’re not sure: a non-dimmable load won’t be damaged by a few seconds of dimmer testing, but it will probably flicker, buzz, or refuse to turn on at low brightness.

Detailed Reviews

1. RobotDyn AC Light Dimmer Module, 1 Channel (Best Overall)

RobotDyn AC Light Dimmer 1-Channel

The default choice for 95 % of DIY AC dimming projects. This is the module you’ll find recommended in nearly every Arduino lamp-dimming tutorial published since 2017, and for good reason.

Specs:

Pros:

Cons:

Best for: Bedroom lamps, desk lamps, small fan speed control, soldering iron temperature control with PID.

View the full RobotDyn AC Dimmer 1-Channel datasheet, pinout, and wiring guide →

2. RobotDyn High-Load 16/24A AC Dimmer (Best for Heavy Loads)

RobotDyn 16/24A High Load AC dimmer — angled view RobotDyn 16/24A High Load AC dimmer — top view showing BTA24 TRIAC and screw terminals

When the 8 A standard dimmer isn’t enough, this is the upgrade path. Same library, same code, same pinout — just a much beefier TRIAC and heavier copper traces.

Specs:

Pros:

Cons:

Best for: Heating elements, large AC fans, induction motor speed control, reflow oven retrofits, immersion heater PWM.

View the full High-Load Dimmer specs, cooling guide, and safety notes →

3. Krida Electronics AC Dimmer (Premium Alternative)

The Krida is the “professional” alternative to the RobotDyn — better-documented module from a small European workshop, with a CE mark and proper isolation. Several variants from 2 A up to 50 A.

Pros:

Cons:

Best for: Commercial DIY products where certification matters, professional installations.

4. Generic AliExpress AC Dimmer Modules

Search “AC dimmer module Arduino” on AliExpress and you’ll get hundreds of results from $1.50 to $10. Most are clones of the RobotDyn design.

Pros:

Cons:

Buying tip: Open the listing’s “Item Details” and look for “optocoupler” or “MOC3021/MOC3041” explicitly mentioned. If it isn’t shown on the PCB photo, walk away.

Comparison Table

ModuleMax CurrentVoltageLogicIsolationLibraryTypical Price
RobotDyn 1-Channel4 A (8 A w/heatsink)110–220 V3.3/5 VOptocouplerRBDdimmer$3–8
RobotDyn 16/24A16 A (24 A peak)up to 600 V3.3/5 VOptocouplerRBDdimmer$8–15
Krida 2 A2 A90–250 V5 VOptocouplerKrida$15–25
Krida 50 A50 A90–250 V5 VOptocouplerKrida$40–60
AliExpress clones2–8 A typical110–220 V3.3/5 VVariesRBDdimmer$1.50–4

Wiring & Code Quickstart

For all RobotDyn-pattern dimmers, the wiring is identical:

Module pin → Microcontroller pin
─────────────────────────────────
VCC        → 5 V (or 3.3 V)
GND        → GND
ZC         → Digital input with interrupt support
              (Uno/Nano: D2 fixed, Mega: D2, Leonardo: D7,
               ESP32: any GPIO, ESP8266: D1/D5/D7)
PSM        → Any digital output (often D3)

Minimum Arduino sketch with the RBDdimmer library:

#include <RBDdimmer.h>

dimmerLamp dimmer(3);   // PSM pin

void setup() {
  dimmer.begin(NORMAL_MODE, ON);
}

void loop() {
  for (int p = 0; p <= 100; p++) {
    dimmer.setPower(p);   // 0–100 %
    delay(50);
  }
}

That’s it. The library handles zero-cross interrupts, timer setup, and TRIAC firing internally.

Safety Checklist

Before plugging mains into any of these modules:

FAQ

Q: Can I use these to dim LED strips? A: No, not the 12 V LED strips. Those are DC — use a MOSFET driver module instead. AC dimmers are only for 110 V / 220 V loads.

Q: Why won’t my dimmable LED bulb work smoothly? A: Phase-cut dimming has known compatibility issues with cheap “dimmable” LEDs. Try a different brand — Philips Hue White Ambiance, Cree Connected, and Soraa Vivid bulbs are tested-good. Avoid the cheapest Amazon-basics LEDs.

Q: Can I control multiple dimmers from one Arduino? A: Yes. The RBDdimmer library supports multiple dimmer instances. All share the same zero-cross interrupt pin, but each gets its own PSM output pin.

Q: What about three-phase dimming? A: These modules are single-phase only. For three-phase you’d need three modules (one per phase) and proper phase-synchronized triggering — non-trivial, usually better to buy a commercial three-phase SCR controller.

Q: Are these CE/UL certified? A: RobotDyn modules are RoHS-compliant but not formally CE or UL certified. For commercial products that need certification, consider Krida or a commercial off-the-shelf dimmer.

The Verdict

For 90 % of hobby AC dimming projects, the RobotDyn 1-Channel AC Dimmer is the right answer. It’s cheap, well-supported, properly isolated, and has a huge community.

Upgrade to the 16/24A High-Load version when you outgrow 8 A — same code, same library, just beefier silicon.

If you don’t need dimming and just want WiFi-controlled AC on/off switching, the ESP-01 SSR Relay is silent, fast, and integrates with Tasmota/ESPHome in one minute.

Stay safe, fuse your inputs, and keep your mains wiring inside a proper enclosure.