

A Double Pole Double Throw (DPDT) switch is an electrical switch designed to control two separate circuits simultaneously. Each circuit can be connected to one of two outputs, making it a versatile component for various applications. DPDT switches are commonly used in scenarios where reversing the direction of a motor, switching between two power sources, or toggling between two different outputs is required. Their ability to handle two independent circuits makes them a popular choice in both hobbyist and industrial projects.








Below are the general technical specifications for a standard DPDT switch. Note that specific models may vary slightly, so always refer to the datasheet of the exact switch you are using.
| Parameter | Specification |
|---|---|
| Number of Poles | 2 |
| Number of Throws | 2 |
| Voltage Rating | Typically 12V to 250V (AC or DC) |
| Current Rating | Typically 1A to 15A |
| Contact Resistance | ≤ 50 mΩ |
| Insulation Resistance | ≥ 100 MΩ |
| Mechanical Life | 10,000 to 50,000 cycles |
| Mounting Type | Panel mount or PCB mount |
A DPDT switch typically has six terminals, arranged in two rows of three. The pin configuration is as follows:
| Pin Number | Description |
|---|---|
| 1 | Common terminal for Circuit 1 |
| 2 | Normally Closed (NC) terminal for Circuit 1 |
| 3 | Normally Open (NO) terminal for Circuit 1 |
| 4 | Common terminal for Circuit 2 |
| 5 | Normally Closed (NC) terminal for Circuit 2 |
| 6 | Normally Open (NO) terminal for Circuit 2 |
The "Common" terminals (pins 1 and 4) are connected to the input of each circuit. Depending on the switch position, the common terminal connects to either the NC or NO terminal.
A DPDT switch can be used to reverse the polarity of a DC motor, effectively changing its direction. Below is a simple wiring diagram and Arduino code example for controlling a motor's direction using a DPDT switch.
If you want to control the DPDT switch electronically using an Arduino, you can use relays to simulate the switch's behavior. Here's an example:
// Arduino code to control a DPDT switch using two relays
// This setup allows reversing the direction of a DC motor
const int relay1Pin = 7; // Relay 1 control pin
const int relay2Pin = 8; // Relay 2 control pin
void setup() {
pinMode(relay1Pin, OUTPUT); // Set relay1Pin as output
pinMode(relay2Pin, OUTPUT); // Set relay2Pin as output
// Initialize both relays to OFF
digitalWrite(relay1Pin, LOW);
digitalWrite(relay2Pin, LOW);
}
void loop() {
// Forward direction
digitalWrite(relay1Pin, HIGH); // Activate Relay 1
digitalWrite(relay2Pin, LOW); // Deactivate Relay 2
delay(5000); // Run motor forward for 5 seconds
// Reverse direction
digitalWrite(relay1Pin, LOW); // Deactivate Relay 1
digitalWrite(relay2Pin, HIGH); // Activate Relay 2
delay(5000); // Run motor in reverse for 5 seconds
}
Switch Doesn't Work:
Intermittent Operation:
Overheating:
Q: Can I use a DPDT switch to control AC circuits?
A: Yes, as long as the switch is rated for the voltage and current of the AC circuit.
Q: How do I know if my DPDT switch is faulty?
A: Use a multimeter to check continuity between the Common, NC, and NO terminals in different switch positions.
Q: Can I use a DPDT switch for audio applications?
A: Yes, DPDT switches are commonly used for routing audio signals between different outputs or inputs.
By following this documentation, you can effectively use a DPDT switch in your projects and troubleshoot common issues.