

The ST DB3 DIAC is a bidirectional semiconductor device manufactured by STMicroelectronics. It is primarily used for switching and controlling AC power. The DIAC (Diode for Alternating Current) operates by remaining non-conductive until a specific breakdown voltage is reached, at which point it conducts current in both directions. This characteristic makes it ideal for triggering TRIACs in phase control applications.








The DB3 DIAC, housed in a compact DO-35 package, is widely used in low-power AC control applications due to its reliability and ease of integration.
| Parameter | Value |
|---|---|
| Manufacturer | STMicroelectronics |
| Part Number | DB3 |
| Package Type | DO-35 |
| Breakover Voltage (VBO) | 28V to 36V |
| Maximum Repetitive Peak Current (ITRM) | 2A |
| Maximum Power Dissipation | 300mW |
| Operating Temperature Range | -40°C to +125°C |
| Holding Current (IH) | 50µA |
The DB3 DIAC has a simple two-terminal configuration, as shown below:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | Terminal 1 (T1) | First terminal for AC connection |
| 2 | Terminal 2 (T2) | Second terminal for AC connection |
The device is bidirectional, meaning there is no polarity requirement for its terminals.
Basic Triggering Circuit:
The DB3 DIAC is commonly used to trigger a TRIAC in AC phase control circuits. Connect the DIAC in series with a resistor and capacitor to form an RC timing circuit. This configuration determines the phase angle at which the DIAC triggers the TRIAC.
Connection Guidelines:
Example Circuit:
Below is a basic example of a light dimmer circuit using the DB3 DIAC:
AC Mains
~
| R1
|----/\/\/\/\----+----+
| | |
| --- |
| --- C1|
| | |
| +----+
| |
| DB3
| |
| |
| TRIAC
| |
| |
| |
| |
+----------------+
While the DB3 DIAC is not directly compatible with low-voltage DC systems like Arduino, it can be used in conjunction with an optocoupler or TRIAC to control AC loads. Below is an example Arduino sketch for controlling an AC load using a TRIAC triggered by the DB3 DIAC:
/*
Arduino AC Load Control Example
This sketch demonstrates how to control an AC load using a TRIAC triggered
by the DB3 DIAC. The TRIAC is optically isolated from the Arduino using
an optocoupler.
Note: This code assumes the use of an optocoupler to interface the Arduino
with the AC circuit. Directly connecting the Arduino to the AC circuit is
dangerous and not recommended.
*/
const int triggerPin = 9; // Pin connected to the optocoupler input
void setup() {
pinMode(triggerPin, OUTPUT); // Set the trigger pin as an output
}
void loop() {
digitalWrite(triggerPin, HIGH); // Trigger the optocoupler
delay(10); // Delay to allow TRIAC conduction
digitalWrite(triggerPin, LOW); // Turn off the trigger
delay(990); // Wait for the next AC cycle
}
DIAC Not Triggering:
Overheating:
No Output from TRIAC:
Q1: Can the DB3 DIAC be used with DC circuits?
A1: No, the DB3 DIAC is designed for AC circuits and requires alternating voltage to function properly.
Q2: What is the difference between a DIAC and a TRIAC?
A2: A DIAC is a bidirectional trigger device, while a TRIAC is a bidirectional power switch. The DIAC is often used to trigger the TRIAC in AC control applications.
Q3: How do I calculate the RC timing values for my circuit?
A3: The RC timing values depend on the desired phase angle. Use the formula:
[
t = R \cdot C \cdot \ln\left(\frac{V_{supply}}{V_{BO}}\right)
]
where ( V_{BO} ) is the DIAC's breakdown voltage.
By following this documentation, you can effectively integrate the ST DB3 DIAC into your AC control circuits.