Nyantronics' Maya Posch is preparing to launch a crowdfunding campaign for a clever input board designed to take care of debounce on the Raspberry Pi and compatible families of single-board computers without requiring software-based handling: the Debounce HAT.
UPDATE: Posch has updated the Debounce HAT's design to v1.3, bringing a range of improvements: The six input channels now accept +/- 3-24V, up from 3-12V in the earlier design; the isolated DC-DC supply has been upgraded from 200mA to 400mA and given eight A-rated power terminals; there is active input protection with reverse-and over-voltage protection, configured for a 5.9V cut-out; additional spark gaps have been incorporated into the design for safety; the power input has been moved to 3.5mm terminal blocks supporting 24-16 AWG wire, and the power and signal to 2.5mm terminal blocks supporting 22-16 AWG.
The original story continues below.
Switch bounce is a common issue: Surges on activating a switch cause phantom readings, resulting in a single press being read two or more times by the system. A common way to handle the problem is in software, adding delays and checks to ascertain real actuations from the ghosts — but it's also addressable in hardware, as with Posch's Debounce HAT.
Designed for the Raspberry Pi family of single-board computers, but compatible with a range of other systems including in standalone mode, the Debounce HAT does exactly what it says on the tin: "Provides six channels of opto-isolated, debounced digital inputs to a Raspberry Pi-compatible single board computer (SBC). All inputs accept 3-12V with arbitrary polarity and can alternatively be connected to open-collector outputs or mechanical switches leveraging the on-board isolated 5V supply."
Because the bounce issue is handled in hardware, there's no need for any debounce routines in the software side — while each of the three input pairs are isolated up to 2kV AC with 2.5mm spring terminal connections accepting 22-16 AWG wires.
"Debounce HAT was born out of necessity," Posch explains. "We were implementing a switch detection circuit to determine the state of a door lock etc. in a room, which required a debounce circuit. This prototype showed the need for a fully opto-isolated circuit to protect against ESD that could be transferred via the metal door handle by a person touching it courtesy of walking on carpet during winter time.
We realised that this generally useful input protection and debounce board did not exist in HAT version, so we developed Debounce HAT into this 6-channel version in the hope that others may find it useful as well."
More details on the design can be found on the Nyantronics website, while the design files are available on Posch's GitHub repository under the permissive BSD 3-Clause licence. Those interested in backing the project, meanwhile, can sign up to be notified when it goes live on Crowd Supply.