

A Double Pole Double Throw (DPDT) switch is an electrical switch designed to control two separate circuits simultaneously. It features two input terminals and can connect each input to one of two output terminals, enabling versatile control and functionality. DPDT switches are commonly used in applications requiring polarity reversal, motor control, or switching between two power sources.








Below are the key technical details and pin configuration for a standard DPDT switch:
A DPDT switch typically has six terminals. The pin configuration is as follows:
| Pin Number | Label | Description |
|---|---|---|
| 1 | Input 1 (Pole 1) | First input terminal for the first circuit. |
| 2 | Output 1A | First output terminal for the first circuit (connected to Input 1 in one state). |
| 3 | Output 1B | Second output terminal for the first circuit (connected to Input 1 in another state). |
| 4 | Input 2 (Pole 2) | Second input terminal for the second circuit. |
| 5 | Output 2A | First output terminal for the second circuit (connected to Input 2 in one state). |
| 6 | Output 2B | Second output terminal for the second circuit (connected to Input 2 in another state). |
A DPDT switch can be used to control the direction of a DC motor. Below is an example circuit and Arduino code:
// Example code to control a DC motor using a DPDT switch and Arduino UNO
const int motorPin1 = 9; // PWM pin for motor control (connected to one side of DPDT)
const int motorPin2 = 10; // PWM pin for motor control (connected to the other side of DPDT)
void setup() {
pinMode(motorPin1, OUTPUT); // Set motorPin1 as output
pinMode(motorPin2, OUTPUT); // Set motorPin2 as output
}
void loop() {
// Rotate motor in one direction
analogWrite(motorPin1, 255); // Full speed on motorPin1
analogWrite(motorPin2, 0); // No speed on motorPin2
delay(2000); // Run for 2 seconds
// Stop the motor
analogWrite(motorPin1, 0); // No speed on motorPin1
analogWrite(motorPin2, 0); // No speed on motorPin2
delay(1000); // Pause for 1 second
// Rotate motor in the opposite direction
analogWrite(motorPin1, 0); // No speed on motorPin1
analogWrite(motorPin2, 255); // Full speed on motorPin2
delay(2000); // Run for 2 seconds
// Stop the motor
analogWrite(motorPin1, 0); // No speed on motorPin1
analogWrite(motorPin2, 0); // No speed on motorPin2
delay(1000); // Pause for 1 second
}
Switch Doesn't Work:
Switch Overheats:
Motor Doesn't Reverse:
Noise or Flickering:
Q: Can a DPDT switch be used for AC circuits?
A: Yes, as long as the switch's voltage and current ratings are suitable for the AC circuit.
Q: What is the difference between DPDT and SPDT switches?
A: A DPDT switch controls two circuits simultaneously, while an SPDT switch controls only one circuit.
Q: Can I use a DPDT switch to control LEDs?
A: Yes, you can use a DPDT switch to toggle between two sets of LEDs or change their polarity.
Q: How do I mount a DPDT switch?
A: Most DPDT switches are designed for panel or PCB mounting. Follow the manufacturer's instructions for secure installation.