Switch Debouncing Module by Sirkito
Way back 2019, me and my college friends started Sirkito - an electronics component reseller in UPLB. I’d say it was quite successful, turning a profit in less than a semester and having a decent customer base. I’m tempted to tell more about Sirkito, but I think it deserves its own blog post.
Over time, we decided to manufacture our first and last in-house module: a switch debouncing module used as input for 74LSxx TTL based projects in our college.
How it works
The module is composed of a 555 Timer circuit configured in monostable mode:
By using the monostable output of the module, the customer should be able to generate clean square wave signals as input to their projects.
More importantly, the module disregards any additional triggers until the monostable output is done - which effectively debounces the switch inputs.
Schematic
Some errata on the schematic:
- R1 should be 470k Ohm instead of 47k Ohm
- R2 should be 10k Ohm instead of 1M Ohm
We basically used the reference circuit and applied our own resistor values to achieve the desired pulse time. Basing from the schematic, the pulse time would be:
T = 1.1 * R1 * C1
= 1.1 * 470000 * 0.000001
= 0.517s
The debounce length of 0.5s is more than enough for even the worst of switches. I believe we also considered using the resistor / capacitor values that were not frequently bought by the customers.
Build
Since we’re manually producing these modules, we used our own inventory of through-hole components for easier assembly. Component placement was optimized for minimal PCB footprint.
With the module dimensions, the lower part of the PCB still has the space for 4 or 5 more modules. However, we decided to only go for 10 modules for the first run.
We prepared the PCB by blocking out the traces through heat-pressing photo paper to the raw PCB and submerging it to a tub of ferric chloride.
Finished product
We also tested each module using a test circuit composing of a 2 bit counter with the module’s output connected to the clock line. Unfortunately, I wasn’t able to find a photo of the test setup.
Looking back at it, there are definitely cheaper ways to debounce a switch. But this module was a surefire way to add a clean input signal to an existing project.