Normally open instead of normally closed ?

Seems to me to be a no brainer. Bounce on switches has to normally be handled with a bounce routine. I handle all my projects with normally closed switches. It takes no more code and I never seem to have issues. Plus the failure rate on N/C switches is lower. Draw back is N/C switches aren't as available for PC board mounting, but I seldom use PC board switches. Something like this is what I use. Comments?

I expect most people use N/O.

One disadvantage of a N/C is that with a pullup, as most switches spend the majority of their time in the un-pressed state, you will have increase current consumption.

Did you try a search? I tried "Momentary N.C." and found the N.C. version of the button you reference:

The search also found the same unit in Black and a larger button in Red, Green, Blue, and Yellow.

Note: They have eight other buttons in SPDT. You could use the N.C. contacts from any of those. They also have a few DPDT.

Two ships passing each other.. :slight_smile:

Yes, I know lots of N/C switches are available I have lots. :slight_smile: However they are not as available in the PC board or proto board versions. I was only commenting that switches like the one I referenced are available in N/C or N/O. The N/C switches are typically not a de-bounce problem and they have a better failure rate. SO, that is what I was suggesting. As pcbbc mentioned, the minor drawback is a slight increase in current draw. That is the type of comment I was looking for.

This thread is based on some false logic. The debounce time and rate of failure do not improve when the switch is NC or NO. Both vary from switch to switch, manufacturer, design, wear, etc. As for power consumption, this is also dependent on circuit design. The only thing that a NC switch has over a NO switch is that in its normal state, contact is made, so safety systems often use NC switches in redundancy, and constantly self-monitor. For non-critical momentary input, either will work, about as well as the other, all else being equal.

The typical N/O switch takes a beating when pressed. (especially the cheap ones we typically use on these hobby projects.) The harder you press the more the "beating". Not so with a N/C switch. When you press the button on a N/O switch there is obviously a "bounce". With a N/C switch you are usually checking for the break, which is far more "clean". In my 30+ years of EE work, I find the failure rate far less on a N/C switch. In my 1 year or Arduino work :slight_smile: I have never required any de-bounce routines with a N/C switch. YMMV. :slight_smile: Maybe luck, huh? Give the de-bounce test a try..

In my 30+ years of EE work, I find the failure rate far less on a N/C switch. In my 1 year or Arduino work

In my 50 years of EE work I find your arguments are flawed. Any bounce you save using a NC switch you will get back on the release of the button.
There is always the fail mode to consider and I would rather have a switch fail to turn on a motor when pressed than turn on a motor when not pressed.

$0.29
https://www.mpja.com/SPST-NC-Mini-Push-Button-Switch-Momentary-Black/productinfo/25020+SW/

The good side of N/C switching, is that you can run a test during setup to ensure that no switch wiring is broken.

sracing:
Bounce on switches has to normally be handled with a bounce routine.

Not just normally, always, unless it is a mercury wetted relay or there is debounce hardware in line. If you've been getting away without any debounce routines on your switches, great! That can happen if the program is so sluggish that the program delays become a surrogate for the debounce delay interval. Or, you can be just very lucky. I prefer to be sure, and what is so bad about debouncing in software anyway? You talk as if it's some kind of bugaboo, but a lock out debounce is super simple and reliable and has an insignificant impact on execution speed. I'm not convinced that I should use this technique at all.

And let's see a matrix keypad or keyboard implemented with NC switches....

Regards,
Ray L.

sracing:
The typical N/O switch takes a beating when pressed. (especially the cheap ones we typically use on these hobby projects.) The harder you press the more the "beating". Not so with a N/C switch. When you press the button on a N/O switch there is obviously a "bounce". With a N/C switch you are usually checking for the break, which is far more "clean". In my 30+ years of EE work, I find the failure rate far less on a N/C switch. In my 1 year or Arduino work :slight_smile: I have never required any de-bounce routines with a N/C switch. YMMV. :slight_smile: Maybe luck, huh? Give the de-bounce test a try..

Cheap switches usually come without any specification on durability or fitness for a particular purpose, and yeah, if you use a soft-dome switch for a foot pedal, it's not going to last long. Do you really think that this N/C switch will last longer than this N/O switch? How would we know? There is no specification for either. A switch that breaks when pressed will have to make when released. The actuation is the same, despite whether the thumb and spring trade places. The arcing is the same, travel is the same, tolerance is the same etc.
Bounce is a natural electrical and mechanical phenomenon in every switch. There is bounce when an airplane takes off from a runway, and bounce when it lands. When a gas valve opens and closes, there is a bounce. As any force overtakes an opposite force, there is an interval of time in which both forces are equal, and may bounce between states. While it may be true that the bounce on the make may differ from the bounce on the break, whether it's make then break or break then make, neither are eliminated from either switch operation.
Your years of experience and inexperience do not make flawed logic any less flawed. I too have many years of experience in electronic engineering and product development. I have done HALT testing on a fair number of electromechanical switches, both NC and NO, as a necessity for continuous product improvement. I have looked at the bounce of each switch, from brand new all the way through the switch life cycle. Proper circuit design does more to debounce over time than any mechanical property. As the switch ages, the bounce will become more erratic. As seals, springs and other mechanical parts start to wear, the travel becomes more erratic. As contacts begin to corrode, arcing becomes more erratic and the point of open or close moves out of tolerance. NC vs NO has no bearing on the switch life cycle.
As I stated before, NC vs NO should be a decision of what will fit the application. If you want to detect the switch, or monitor it in the resting state, it muct be NC. However, as stated by RayLivingston, if you want to multiplex switches or provide isolation in the resting state, in must be NO. If the application has no requirement on the state of the switch, go with what is most common and economical.