ESP8266 Projects Blog
Home of CBDB / MPDMv4 /SmartMon Development boards (ESP-12/ESP-07).
Guidelines and ESP8266 programming examples using LUA, Eclipse and Arduino IDE, ESP Basic and many more!
WARNING!! You will play with LIVE MAINS!! Deadly zone!!
If you don't
have any experience and are not qualified for working with MAINS power I
will not encourage you to play arround!. The
author take no responsibility for any injury or
death resulting, directly or indirectly, from your inability to
appreciate the hazards of household mains voltages.
The circuit diagrams are as accurately as possible, but are offered with no
guarantees whatsoever.
There is no guarantee that this design meets any Rules which may be in
force in your country so please check before your local
rules/regulations.
For any new orders/requests please feel free to use as usual: tech (at) esp8266-projects.com. MPDMv4 Boards are also available on Tindie: AC MAINS Dimmer - MPDMv4
For today we have a short but comprehesive Tutorial on how to drive the MPDMv4 AC MAINS Dimmer board using the Arduino IDE:
Arduino IDE code example for the Youtube Video Tutorial:
/* Dimmer
Demonstrates the sending data from the computer to the Arduino board, in this case to control the brightness of MPDMv4 AC MAINS Dimmer. The data is sent in individual bytes, each of which ranges from 0 to 255. Arduino reads these bytes and uses them to set the VCNT brightness command .
The circuit: MPDMv4 Board attached from digital pin 3 to ground. Serial connection to Processing, Max/MSP, or another serial application
created 2006 by David A. Mellis modified 30 Aug 2011 by Tom Igoe and Scott Fitzgerald modified 14 Apr 2016 by TJ for esp8266-projects.com AC MAINS Power Dimmer MPDMv4 Driver This example code is in the public domain.
http://www.arduino.cc/en/Tutorial/Dimmer
*/
const int vcntPin = 3; // the pin that the MPDMv4 VCNT pin is attached to
void setup() { // initialize the serial communication: Serial.begin(9600); // initialize the VCNTPin as an output: pinMode(vcntPin, OUTPUT); // set default brightness value analogWrite(vcntPin, 230); }
void loop() { byte brightness;
// check if data has been sent from the computer: if (Serial.available()) { // read the most recent byte (which will be from 0 to 255): brightness = Serial.parseInt(); Serial.print("Command received : "); Serial.println(brightness); // set the brightness of the LED: analogWrite(vcntPin, brightness); } }
WARNING!! You will play with LIVE MAINS!! Deadly zone!!
If you don't
have any experience and are not qualified for working with MAINS power I
will not encourage you to play arround!. The
author take no responsibility for any injury or
death resulting, directly or indirectly, from your inability to
appreciate the hazards of household mains voltages.
The circuit diagrams are as accurately as possible, but are offered with no
guarantees whatsoever.
There is no guarantee that this design meets any Rules which may be in
force in your country so please check before your local
rules/regulations.
For any new orders/requests please feel free to use as usual: tech at esp8266-projects.com. MPDMv4 Boards are also available on Tindie: AC MAINS Dimmer - MPDMv4
As been a Voltage controled AC MAINS Dimmer you can control it with:
PWM signal
DAC output Voltage
or if you don't want any kind of MCU involved, just user a 10k Potentiometer in a voltage divider as part of a simple VCNT input circuit!
In this example we will use a MCP4728 4 channels/12 Bit DAC as a VCNT (voltage control) command source for our MPDMv4 Dimmer Board.
For any new orders/requests please feel free to use as usual: tech at esp8266-projects.com. MPDMv4 Boards are also available on Tindie: AC MAINS Dimmer - MPDMv4
WARNING!! You will play with LIVE MAINS!! Deadly zone!!
If you don't
have any experience and are not qualified for working with MAINS power I
will not encourage you to play arround!. The
author take no responsibility for any injury or
death resulting, directly or indirectly, from your inability to
appreciate the hazards of household mains voltages.
The circuit diagrams are as accurately as possible, but are offered with no
guarantees whatsoever.
There is no guarantee that this design meets any Rules which may be in
force in your country so please check before your local
rules/regulations.
One of the main problem that people has been complained about was the fact that a simple MAINS Power Dimmer/Switch unit like the basic one presented last year is using sometime too much resources from a already overloaded application MCU/processor:
MPDMv3 - MAINS Dimmer/Switch with Phase detection
One of the scenarios, directly related with ESP8266 is about the limited timers capabilities that you have. For example, if you want to implement a proper web server to directly serve your webpages from ESP8266 you are automatically using one timer. If you want to start using the second one for your ZCD processing ...well...it's becoming very tricky. Very.
Don't uderstand me wrong, a bigger, better MCU can do it probably very well,
but even then if you have the chance to free some resources easily, do
it!. And I really cannot see a ESP8266 acting as a App MCU (webserver,
data logger, MQTT client, etc, etc) and doing reliable also other demanding
functions as Processing Zero Crossing Detection.
SOLUTION?
I can see only one, and it is a lesson learned many years ago: keep your real-time processing functions away from your Application MCU/Processor. To do that we just need to move the ZCD processing function from the ESP8266/whatever MCU you want to the MPDM Driver itself:
MPDMv4 - MAINS Phase detection and ZCD processing
What means that? means that in this new configuration our ESP8266 will be free from any type of real-time ZCD processing that is related with the MAINS Dimming process, you just need to send to the MPDMv4 driver a voltage (Vcontrol) in a pre-established range (0-3V for example) that will correspond with different desired Dimming levels.
What we have obtained? A UNIVERSAL MAINS Power Dimmer driver that can be used with any MCU you might want or even no MCU at all. You can dimm it even with a simple Potentiometer at input, no programming, no code, no nothing!!
Legend:
PURPLE - Phase detector output
BLUE - Reversed phase signal (normalised)
Yellow - Triac Driver CMD signal (PWM)
Vcontrol = 0, CMD Duty cycle=6%
Vcontrol = 2V, CMD Duty=50%
Vcontrol = 2.8V, CMD Duty=96%
How can be done that? Easy. Use PWM or a DAC, your choice. For ESP8266 I will recommend you to use a DAC, like the MCP4726 or, why not , the MCP4728, for a full 4 Channel MAINS Dimmers solution. PWM in case of the ESP8266..let's say that is has some limitations that you will discover very soon that you don't like :)
The mains advantages of using DAC?
Notable:
1. Very low to zero overhead on the App MCU
2. High precision (DAC from above are 12 bit!! - 4096 levels of dimming!!)
3. You can use the "set-and-forget" technique using DAC internal nonvolatile memory (EEPROM) and have the same level on the next power-off/on cycle.
IMPLEMENTATION
SCHEMATICS
As the only functional difference between the previous MPDMv3 MAINS Dimmer and the new MPDMv4 is the presence of the ZCD function onboard, basically, without some small bits and pieces around like the MOV protection circuit, you can see it exactly as it is: a MPDMv3 with a ZCD circuit onboard:
MPDMv3 - Phase detection and Triac control
Zero crossing detector circuit
MPDMv4 PCB:
MPDMv4 PCB
As you can see from the above picture, it was carefully designed with proper MAINS isolation from the rest of the driver, you can see even the extra isolation slots done for a even bigger Creepage distance.
And because I know this terms still creates some confusion, short definitions below:
CLEARANCE is the shortest distance in air between two conductive parts. CREEPAGE distance means the shortest distance along the surface of a solid insulating material between two conductive parts.
A creepage distance cannot be less than the associated clearance so that
the shortest creepage distance possible is equal to the required
clearance. However, there is no physical relationship, other than this
dimensional limitation, between the minimum clearance in air and the
minimum acceptable creepage distance.
And the new, freshly baked result:
MPDMv4 - MAINS Power Dimmer/Switch with Phase detection and ZCD Processing
Next time we will move on to the Software side, to see what is going on with our Webserver interface & stuff.
For any new orders / requests please feel free to use as usual: tech at esp8266-projects.com. If
you want for your own experiments to order ESP8266 WIFI Web Power Switch for MAINS - MPSM v.2 DevBoardbare PCBs only,
you can also do it directly at Dirty PCBs, our preferred PCB House:
I was asked to make also a short, basic introduction also for Arduino IDE, so here we go. But before of that I need to make also a short presentation of the MPSMv2 Board with few extra explanations. I will not insist too much on the hardware/schematics/theory of operation part of the story as you have all the details already in the previous articles about, including BOM.
What I want to explain a bit is the concept behind that might help you to understand better how to use the board. To ease the understanding you can see MPSMV2 as 2 separate Boards spliced together, a Breadboard friendly ESP8266 adapter with
integrated 3.3V Power Supply, and a MAINS Triac Switch.
The PCB is designed in such way that no harm will be done by cutting it in half as in the below picture.
MPSMv2 Board - Full and splitted
You can use separatelly the 2 parts, the ESP8266 Adapter with 3V3 regulator and the Triac MAINS Power Switch.
MPSMv2 - ESP8266 adapter with voltage regulator & stuff on the back
The Triac Switch part can be used directly even with a
different ARM, PIC, Arduino, whatever MCU you have arround without any
problems as long as it has a GPIO pin capable to
drive the MOC Optocoupler LED thru CMD port.
Triac Driver part - use proper Fuse and EMI filtering!
Please keep in mind that de design was
done in such a basic way as been designed to be part of a bigger system and used for development and testing.
Please use propper MAINS protection, FUSE and EMI filtering block based
on your specific application requirements!
There were a lot of questions and debates about, including the Hackaday one, why it has not a FUSE, where is the filtering, etc, etc ... they are not there because should not be there in our MPSMv2 design.
Input protection/filtering block for MAINS should not be on the same
board with the driver. They are a lot of explanations behind this but
even only having more flexibility in mind should suffice.
If you
look at the EMI filter below, similar with the choosen one as suitable to be used in our project
you will understand even more why should be not on the MPSMv2 board.
EMI filter vs. MPSMv2 Board
Now let's go back to our main story for today: how to use MPSMv2 with Arduino IDE.
For programming MPSM v2 DevBoard we will use Arduino IDE
1. Software installation
If you didn't have yet installed a proper running ESP8266 Arduino IDE environment the ESP8266 Arduino IDE installation Article might help you. Or the Youtube video from below:
2. Wiring
Connect the MPSMv2 Module to the USB adapter as in the picture below:
MPSMv2 - USB Adapter Wiring
USB MPSMv2
Rx -> Tx
Tx -> Rx
GND -> GND
+5V -> Power input port +5V
Set the PRG jumper (Blue) for programming mode ON !
3. Arduino IDE Programming.
Start Arduino IDE
Select inside IDE your desired ESP8266 Board (default one should be also OK).
Plug-in the USB adapter connected with the MPSMv2 module as above, will see the power on LED's
Open in IDE the basic Blink program
Replace the digital pin 13 as an output PIN with1.
Compile and upload the program to MPSMv3 board.
The result:
Let's test also the Triac driver command pin:
Q & A :
How can you have more than a MAINS power switch channel available? Very simple: just cut the Triac driver part from other MPSMv2 PCB's and connect the Driver side only to the full size MPSMv2 Board.
How many independent MAINS lines can be driven by a single MPSMv2 Board? As many as free IO pins you have available in your project and Triac Drivers you might add to it.
What's the easiest way to have 2 MAINS lines swiched synchronous? Just connect the CMD port from a second available Triac module to the CMD port on the main MPSMv2 Triac Module. The Triac driver from the MPSMv2 will be commanded in sync with the second connected one.
WARNING!! You will play with LIVE MAINS!! Deadly zone!!
If you don't
have any experience and are not qualified for working with MAINS power I
will not encourage you to play arround!. The
author take no responsibility for any injury or
death resulting, directly or indirectly, from your inability to
appreciate the hazards of household mains voltages.
The circuit diagrams are as accurately as possible, but are offered with no
guarantees whatsoever.
There is no guarantee that this design meets any Rules which may be in force in your country so please check before your local rules/regulations.
For any new requests please feel free to use as usual: tech at esp8266-projects.com. If
you want to order MAINS POwer Dimmer/Switch bare PCBs only,
you can also do it directly at Dirty PCBs, our preferred PCB House:
MAINS Power Dimmer / Switch Module - MPDMv3 - Connections
CBDB Evolution DevBoard
Because I don't like to have flying MAINS wires on my workdesk I have created a temporary separate MPDMv3 Module Box, containing all the MAINS part of the story :).
Isolated MAINS unit - keep your fingers away from the Deadly zone !
Remember, Safety First! And also more relaxing knowing that is no Russian Roulette wire game on progress on my table. Shit happens all the time, but at least let's try to reduce the chances to hit badly the fan too often :)
Live Testing on progress
In the Box above is enough space for all the parts going inside, including ESP8266 module, power supply, Dimmer Module, Choke, etc, but at this stage I find it easier to connect them together like that.
MPDMv3 Web Server Software
For programming CBDBv2 Board and uploading the driver and the software we will continue to use the LuaUploader as before. 1. Define used GPIO pin:
outpin=7 -- Select Triac Command pin - GPIO13 gpio.mode(outpin,gpio.OUTPUT) gpio.write(outpin,gpio.LOW) -- Triac OFF inpin=6 -- Zero crossing detector input - GPIO12 gpio.mode(inpin,gpio.INT,gpio.PULLUP) -- attach interrupt to ZCD
2. Zero Cross Detector function and Triac command
For a more detailed explanation how Zero cross detection circuit works please take a look at the previous MPDMv3 article.
function zero_cross() dt = 76*dim --print("Zero cross detected!") stat = "ON" tmr.delay(dt) -- Firing delay time calculated above gpio.write(outpin,gpio.HIGH) -- Triac ON - Zero cross detected tmr.delay(100) -- Triac ON - Propagation time gpio.write(outpin,gpio.LOW) -- Triac OFF - let's be sure it's OFF before next cycle :) tmr.wdclr() return stat end
3. WEB Server
srv=net.createServer(net.TCP) srv:listen(80,function(conn) conn:on("receive", function(conn,payload) --debugging output only -- print(payload) if (string.find(payload, "GET / HTTP/1.1") ~= nil) then --print("GET received") sendPage(conn) else swstat={string.find(payload,"cmd=")} --If POST value exist, set power switch status if swstat[2]~=nil then --print("Command received: " .. payload) PwrSW(swstat,payload) sendPage(conn) end end end) conn:on("sent", function(conn) conn:close() conn = nil -- clear and allow the garbage collector to free the memory --print("Connection closed")
CSS file created for this example is just for fancy decorations. If you don't like it you can very easy change the style attributes or add local ones.
5.Check received Dimmer value and update status
function PwrSW(swstat,payload) gpio.mode(outpin,gpio.OUTPUT) newstat=string.sub(payload,swstat[2]+1,#payload) status = tonumber(newstat) print("Dimmer Value:" .. status) end
4. Main code
status = 60 -- around 50% - choose your desired start value. newstat = 60 outpin=7 -- Select Triac Command pin - GPIO13 gpio.mode(outpin,gpio.OUTPUT) gpio.write(outpin,gpio.LOW) -- Triac OFF inpin=6 -- Zero crossing detector input - GPIO12 gpio.mode(inpin,gpio.INT,gpio.PULLUP) -- attach interrupt to ZCD
gpio.trig(inpin,"up",zero_cross) -- ZCD interrupt attached - trigger on falling edge print(wifi.sta.getip()) -- print our new MPDMv3 WebServer IP
For testing, just save the code on ESP as 'dimserver.lua', restart ESP and run: dofile("dimserver.lua") -- Start the Dimmer Listening WebServer =wifi.sta.getip() -- find the IP Address where your Web Server will be
Open your favorite Web browser and type your new MPDMv3 Web Server IP address. If all ok, should look something like below :
MPDMv3 Web Interface
If you want the MPDMv3 software to start automatically when your CBDB module
starts or reboots, then you neet to create and add some lines in your
'init.lua' file: dofile("dimserver.lua") -- Start automatically the Dimmer Listening WebServer
Save the code on ESP as 'init.lua', restart ESP. It should reboot and restart automatically the program.
A short video presentation, testing the Web Interface:
For any new requests please feel free to use as usual: tech at esp8266-projects.com. If
you want to order MAINS POwer Dimmer/Switch bare PCBs only,
you can also do it directly at Dirty PCBs, our preferred PCB House:
you remember that the above modules were ON/OFF switching only.
Now it's about time to talk also about what many of you has asked for:DIMMING!
It's a total different story, liitle bit complicated but, as you will see, not so hard to understand.
General considerations:
There are several types of dimmers generally available. These are used for resistive, and inductive loads, such as incandescent,cold cathode and low voltage (inductive) lamp sources. Note that not all electronic transformers used for low voltage lamps are suitable for dimming by Triac or Thyristors dimmers. In case of Thyristors you need 2 of them as Thyristor is a Unidirectional device and because
AC power flows in both directions! Why using Thyristors? One of the reasons is that they are available in higher power ratings than Triacs and are more robust. A 4-500 A to 1kA ratings is something common for Thyristors. Usually you will find this kind of Thyristors in Industrial applications, not exacty a hobbist part. Just look, for example, at the specifications of ABB 5STP27H2801 and you will understand why :)
I don't remember a highly available Triac rated more than 40A. BTA40-700B is a good example.
For resistive loads ON-OFF only jobs (no
dimming required) a winning combination is between MOC304X for
Triac driver (Zero voltage crossing one) and a good quality Triac,
decently sized at the power needs.
In case of dimming you DON'T want to
use a zero crossing voltage one! And this is because of the way the
dimming process is going and depending on our own ZCD (zero cross
detection) function. In our case zero cross detection is done by the biphase optocoupler as in the schematic below
Zero Cross Detection output example
Mains power is comprised of an alternating current that flows in one direction
and then in the other, along the cable, at the rate of 50 or 60 cycles per
second.
The number of cycles in one second is called the frequency. The frequency is given in a unit called hertz (symbol Hz) where 1 Hz = 1 cycle per second .
The value 50 or 60Hz is dependent on the countries
power system. The current alternates back and forth changing direction at the
zero point.
If we will to look at the waveform (yellow) with the Osciloscope it would appear as a sinusoidal shape. Drawing a line through the middle and this is what is called
the zero crossing point. At this instant in time no current is flowing in either
direction.
MAINS 50Hz and ZCD waveforms
The Triac is electronically synchronized
with the help of the ZCD to turn the power ON or OFF. By chopping the waveform at the zero-crossing
point, smooth dimming can be achieved without the lamp flickering. This turning
on and off of the power device occurs every time the mains crossing point is
reached (half phase), 100 or 120 times per second (50 or 60Hz).
Firing Triac at 50%
ZCD determines
the point in time (Firing delay time) at which they turn ON (conduct). The ON state continues
until the next zero-crossing point, at which point the Triac turns itself
OFF. The command circuit then provides a delay, which equates to the dimness
of the lamp, before turning the control device back on. The slight capacitance
of the load, filters the chopped waveform resulting in a smooth light output.
NOTE: If you notice that the 50Hz AC Voltage repesented up (yellow) is not around 240VAC and is nor pure sinusoide as should be, it's a simple explanation: I didn't want to put Osciloscope directly on MAINS. For very simple reasons. But this is not affecting at all the general view of the process.
What we will need:
CBDB Board or any other ESP/Arduino /MSP/ARM/Whaterver Board you may like
USB adapter (take a look on Part 1 for details about the USB Adapter)
Main Power Dimmer/Switch module (MPDMv3 -details below)
Main Power Dimmer/Switch module (MPDMv3)
This time the MAINS Dimmer switch module was designed as a standalone unit, not including the ESP8266 anymore, as people were asking for a more general usage one that can be used with existing Setup/Environments.
Because the MPSMv2 was designed more as a DevBoard for MAINS switching application and the FUSE and MAINS input / output /filtering unit was keept separatelly has created some confusion and a lot of talks about, Hackaday thread included :).
So, this time, you have on the same board, fuse and connectors to directly connect de MPDMv3 module to MAINS, Lightbulb/Lamp and your MCU Board.
MPDMv3 - Schematic
MPDMv3 - MAINS Dimmer/Switch Module
Both signals, phase detect (PHS) for ZCD and Triac command (CMD) are fully optocoupled and you have a proper galvanic separation between the low side and the MAINS side voltage, but, as a general practice DO NOT TOUCH any part of the circuit as long as MAINS power it's applied!! The scope of LED1 is just to help you in the testing phase process, it does not have any other sense on dimming.
Proper clearance and creepage distance were also taken in consideration when PCB was designed:
MPDMv3 - PCB - Bottom side
MPDMv3 Software For programming CBDBv2 Board and uploading the driver and the software we will continue to use the LuaUploader as before. 1. Define used GPIO pin:
outpin=7 -- Select Triac Command pin - GPIO13 gpio.mode(outpin,gpio.OUTPUT) gpio.write(outpin,gpio.LOW) -- Triac OFF inpin=6 -- Zero crossing detector input - GPIO12 gpio.mode(inpin,gpio.INT,gpio.PULLUP) -- attach interrupt to ZCD
2. Zero Cross Detector function
As you have seen above on the Osciloscope, zero crossing is the moment when the sinusoide goes through zero. After each zero crossing there is one full half of the sinuswave available to send through the Triac to the Load.
So what the software needs to do is to detect the zerocrossing, and
then wait for a set amount of time on that sinuswave to switch on the
TRIAC.
We have a 50Hz VAC that means is 50 waves per second.
Each sinuswave thus takes 1000ms/50=20ms
They are 2 sinus peaks in a wave. That means that after every zero crossing detection there is a 10ms period that we can regulate.
If we switch Triac directly at the beginning of that period, the load will receive full power
If we do it at the end of that 10ms
period the load will receive none and if we do it halfway, the
load will receive half power.
Now, how can we obtain the desired number of dimming steps?
If you look at the above explanation you know already the answer: we will divide the 10ms to the number of the steps we want and that's it. The obtained value can be tweaked a bit, depending on how is really looking your AC MAINS and how clean it is, filtering, delays, etc, but that's the dimming steps value you need to start with.
Let's assume we have:
Dimming steps = 128
Waveform Time= 10 ms
Step = 10000/128 = 78
Total dim time then is calculated as desired dimming steps * step value.
Also what we need to take in consideration after we fire the Triac is the Triac ON Propagation time (the time Triac needs to become fully ON).
function zero_cross() dt = 76*dim --print("Zero cross detected!") stat = "ON" tmr.delay(dt) -- Firing delay time calculated above gpio.write(outpin,gpio.HIGH) -- Triac ON - Zero cross detected tmr.delay(100) -- Triac ON - Propagation time gpio.write(outpin,gpio.LOW) -- Triac OFF - let's be sure it's OFF before next cycle :) tmr.wdclr() return stat end
3. Fading function for testing mode
function fading() if(dim_up==1) then dim=dim+1 else dim=dim-1 end if(dim < 10) then dim_up=1 dim=10 else if (dim > 120 ) then dim_up=0 dim=120 end end print("Dimmer level : " .. dim) print("Fading mode : " .. dim_up) tmr.wdclr() end
4. Main code
dim = 120 -- Dimmer level - smaller value is brighter dim_up=0 -- Fading direction - for test run gpio.trig(inpin,"up",zero_cross) -- ZCD interrupt attached - trigger on falling edge tmr.alarm(0, 100, 1, function() fading() end) --timer for testing mode For testing, just save the code on ESP as 'dimmer.lua', restart ESP and run: dofile("dimmer.lua") -- Start the Dimmer Testing mode
If you want the MPDMv3 software to start automatically when your CBDB module
starts or reboots, then you neet to create and add some lines in your
'init.lua' file: dofile("dimmer.lua") -- Start the Dimmer Testing mode
Save the code on ESP as 'init.lua', restart ESP. It should reboot and restart automatically the program.
Testing Zero Cross Detector
First test - Dimming a Lamp
UPDATE!! UPDATE !! UPDATE !!
As requested, please find belowMPDMv3 BOM:
No
Part
Value
Package
Description
1
R1
470
R1206
RESISTOR, European symbol
2
R2
360/1W
0204/7
RESISTOR,
European symbol
3
R3
470/1W
0204/7
RESISTOR,
European symbol
4
R4
470
R1206
RESISTOR,
European symbol
5
R5
39/1W
0207/5V
RESISTOR,
European symbol
6
R6
47k/1W
0207/10
RESISTOR,
European symbol
7
R7
47k/1W
0207/10
RESISTOR,
European symbol
8
R8
10k
R1206
RESISTOR,
European symbol
9
C1
0.01uF/400 X2
C075-032X103
CAPACITOR,
European symbol
10
C2
0.05uF/400V
C075-032X103
CAPACITOR,
European symbol
11
IC1
MOC3021
DIL06B
6-Pin DIP
Optoisolators Triac Driver Output
12
IC2
SFH620A
DIL04
Optocoupler,
Phototransistor Output, AC Input
13
T1
BT137
TO220BV
TRIAC
14
PLD
CHIPLED_1206
LED
15
PWR_IN
DG3XX-02-5.0
DG306-5.0-02P
DG350-3.5-02P
16
SW_OUT
DG3XX-02-5.0
DG306-5.0-02P
DG350-3.5-02P
17
FUSE
5A
SHK20Q
Fuse
18
U$3
1X4
1X4
2mm Header or
2mm socket
That's all for today, next time we will talk about WEB Interface implementation for our MAINS Power Dimmer / Switch Module!