Toggle Switch Types Explained: SPST, SPDT, DPDT and How to Wire Them

SPST, SPDT, DPDT, ON-ON and ON-OFF-ON all describe what a toggle switch connects and in which lever positions. Once you can read those labels and find the common terminal with a meter, choosing and wiring a toggle switch becomes simple. This guide explains the terms, shows how to map any switch before wiring it, and covers common 12V and Arduino wiring.

In this guide
  1. Poles and throws: SPST, SPDT and DPDT
  2. ON-OFF, ON-ON and ON-OFF-ON
  3. Which toggle switch do I need?
  4. Map the terminals before wiring
  5. Wiring a 12V on/off switch
  6. Toggle switches as Arduino inputs
  7. Reversing a small DC motor with DPDT
  8. Reading the ratings
  9. Troubleshooting
  10. Frequently asked questions

Poles and throws: SPST, SPDT and DPDT

A pole is one separate circuit the switch controls. A throw is a position that pole can connect to. The short names combine the two.

Name Means Terminals What it does
SPST Single pole, single throw 2 Makes or breaks one circuit. A plain on/off switch.
SPDT Single pole, double throw 3 Connects one common terminal to either of two outer terminals. Selects between two things.
DPDT Double pole, double throw 6 Two SPDT switches inside one body, moved by the same lever. Switches two separate circuits at once.

Every SPDT and DPDT pole has a common terminal, usually the centre one of its row. The lever decides which outer terminal the common connects to.

Rear view of a DPDT mini toggle switch showing six solder lugs in two columns of three
A DPDT switch from behind. Each vertical column of three lugs is one pole, and the middle lug of each column is its common.

ON-OFF, ON-ON and ON-OFF-ON

The second part of the description tells you the lever positions and what each one does.

Action Positions Typical use Our example
ON-OFF 2 Turn one thing on or off KN3C-101, SPST
ON-ON 2 Choose A or B, never neither MTS-102, SPDT, and MTS-202, DPDT
ON-OFF-ON 3 Choose A, B or nothing, with a centre off MTS-103, SPDT, and MTS-203, DPDT

All of these positions are maintained: the lever stays where you leave it. A position written in brackets, such as (ON)-OFF, is momentary and springs back when released. For push-button behaviour, see our momentary vs latching switch guide.

Which toggle switch do I need?

You want to Choose
Turn a 12V light, pump or accessory on and off SPST ON-OFF, such as the KN3C-101 with screw terminals
Pick one of two inputs, outputs or modes SPDT ON-ON, MTS-102
Choose between two things, with an off in the middle SPDT ON-OFF-ON, MTS-103
Switch two circuits together from one lever DPDT, MTS-202 or MTS-203
Forward, stop and reverse on a small DC motor DPDT ON-OFF-ON, MTS-203, wired as shown below
A simple on/off using an SPDT switch you already have Use the common and one outer lug, and leave the other outer lug empty

A switch with more poles can do the job of one with fewer. An SPDT can act as an SPST, and one half of a DPDT can act as an SPDT. It does not work the other way round.

Map the terminals before wiring

Which outer lug connects in which lever position is not the same on every switch, and it is often the opposite of what you would guess. Checking takes a minute with a multimeter on its continuity or resistance setting.

  1. Keep it unpowered. Test the switch before it is wired into anything.
  2. Find the common. On an SPDT, put one probe on the centre lug. On a DPDT, test each column separately and start from its centre lug.
  3. Flip the lever one way. Touch the other probe to each outer lug. Note which one beeps.
  4. Flip it the other way. The other outer lug should now beep. On ON-OFF-ON switches, check that neither beeps in the centre.
  5. Write it down. A quick sketch of lever position against connected lug saves rewiring after soldering.

Wiring a 12V on/off switch

An on/off switch goes in series with the positive feed to the load. The load's negative goes straight to the supply negative.

  1. Fuse first. Fit an inline fuse close to the battery or supply positive, sized for the wire and load.
  2. Positive to the switch. Run the fused positive to one switch terminal.
  3. Switch to the load. Run the other switch terminal to the load's positive.
  4. Load negative to supply negative. Complete the circuit back to the battery or supply.
  5. Check the lever and plate. Confirm ON really is on with your meter, then fit the ON/OFF plate the right way round.

Screw terminals take ring or spade crimp terminals from our wire connectors range, matched to your wire size. Motors, pumps and other loads with a high starting current are better switched through a suitably rated relay, with the toggle switch controlling only the relay coil.

Toggle switches as Arduino inputs

At logic level, switch ratings stop mattering and wiring becomes very simple. Use the board's internal pull-up resistors so no extra parts are needed.

ON-OFF-ON as a three-position selector

Connect the MTS-103 common lug to GND and each outer lug to its own input. Each input reads LOW when the lever connects it to ground.

const int leftPin = 2;
const int rightPin = 3;

void setup() {
  Serial.begin(9600);
  pinMode(leftPin, INPUT_PULLUP);
  pinMode(rightPin, INPUT_PULLUP);
}

void loop() {
  bool left = digitalRead(leftPin) == LOW;
  bool right = digitalRead(rightPin) == LOW;

  if (left) {
    Serial.println("Position A");
  } else if (right) {
    Serial.println("Position B");
  } else {
    Serial.println("Centre (off)");
  }
  delay(200);
}

An SPST or ON-ON switch works the same way with one input: common to GND and one outer lug to the pin. The same wiring works on a 3.3V ESP32. Because the switch only connects the pin to ground, it never puts a higher voltage on the input.

Labels depend on how you mount it. Once the switch is in the panel, flip the lever and see which name prints. If the result is backwards, swap the two wires or the two names in the code.

Reversing a small DC motor with DPDT

A single SPDT switch cannot reverse a two-wire DC motor, because both motor wires have to swap polarity. A DPDT switch can do it. With the MTS-203, the centre position is also a stop.

  1. Map the switch first using the continuity steps above. Call the columns A and B and the rows top, middle and bottom.
  2. Motor to the commons. Connect one motor wire to A middle and the other to B middle.
  3. Supply to one end row. Connect the fused positive to A top and the negative to B top.
  4. Cross the other end row. Link A top to B bottom, and B top to A bottom, with two short wires that cross over.
  5. Test at low voltage. One lever position runs the motor one way, the other reverses it, and the centre stops it.

Check the crossover before power. Before connecting the motor or supply, move the lever to each position and check that the two supply wires never show continuity with each other. Keep this method for small, low-current motors. For anything larger, use the switch to control relays or a motor driver.

Reading the ratings

The rating stamped on a switch applies only at the voltage and current type it names. The KN3C-101 is marked with separate AC and DC ratings, 15A at 250VAC and 30A at 12VDC. Our MTS mini toggles are marked with an AC rating only, 6A at 125VAC.

  • Do not assume an AC rating carries over to DC. DC is harder on switch contacts, because the arc does not naturally stop as it does with AC.
  • Motors, lamps and pumps draw a surge at start-up. Leave plenty of margin, or switch them through a relay.
  • Heat and wire size matter too. A switch rating is not a reason to run undersized wire or leave out a fuse.
  • Mains wiring needs a licensed electrician in New Zealand. This guide covers low-voltage DC and logic-level projects.

Panel holes

The MTS mini toggle switches fit a 6mm nominal panel hole with an M6 x 0.75 bushing. The KN3C-101 uses an M12 x 0.75 bushing and a nominal 12.2mm hole. Check the supplied switch against your hole before drilling a finished panel, and leave room behind it for the terminals and wire bends.

Troubleshooting

Symptom Likely cause and fix
ON and OFF are the wrong way round The switch connects the lug opposite the lever. Swap the two outer wires, or turn the plate over.
Nothing happens in either position The common is not connected. Find it with a meter, usually the centre lug.
Load stays on in every position Both outer lugs are wired together, or the load is wired around the switch. Re-map the terminals.
Arduino input flickers No pull-up resistor. Use INPUT_PULLUP and wire the common to GND.
Fuse blows when a DPDT motor switch is moved The crossover is wired to the wrong row and shorts the supply. Disconnect it and check it with a meter.
Switch gets warm The load is too heavy for the switch or the connection is loose. Use a relay and check the joints.
Lever feels loose after soldering The body overheated. Solder quickly with a hot, clean iron, and replace the switch if the action has changed.

Frequently asked questions

What is the difference between SPDT and DPDT?

SPDT has one common that connects to one of two outer terminals, using three lugs. DPDT is two of those switches side by side, operated by one lever, using six lugs.

Can I use an ON-ON switch as a simple on/off?

Yes. Wire the common and one outer lug, and leave the other outer lug unconnected. That lever position becomes off.

Which terminal is common on a three-pin toggle?

Usually the centre lug. Always confirm it with a continuity check, because layouts differ between switch types.

Is ON-OFF-ON the same as a momentary switch?

No. ON-OFF-ON has three positions that all stay where you put them. A momentary position springs back and is shown in brackets, such as (ON)-OFF-(ON).

Do I need a resistor to use a toggle switch with Arduino?

Not if you use INPUT_PULLUP. The board's internal resistor holds the pin high, and the switch pulls it to ground.

Are these switches waterproof?

The KN3C-101 comes with a rubber boot that covers the lever at the front of the panel. Its body and terminals behind the panel are not sealed, and the MTS mini toggles have no seal. Protect them from water inside an enclosure.

Reference material checked: switch functions, terminal layouts, markings and panel sizes come from NZN's product records and stock inspection for the KN3C-101, MTS-102, MTS-103 and MTS-202/203. The Arduino example uses the standard INPUT_PULLUP pin mode.

Arduino pinMode reference

Map it with a meter, then wire it once

A one-minute continuity check tells you exactly which lug does what, whatever the switch. After that, SPST, SPDT and DPDT wiring all follows the same simple rules.

Browse toggle switches

Practical help from New Zealand

Still stuck? Send us a photo.

Tell us what you’re building and what the circuit is doing. Our small NZ team knows these parts and can help you spot a wiring problem or choose what you need next.

Ask NZN for help Browse more guides