In my last post I talked about a problem I am having with an electronic keypad door entry unit. I have narrowed down the problem to the keypad interface, which is either worn out or in some other way not doing its job. The conductive traces in the keypad interface is laminated, making it very difficult to fix any broken traces.
So I decided to create my own keypad for this unit with a solid PCB and real push buttons. In making this PCB, the biggest challenge I am facing is reducing the overall height of the keypad so that it will neatly fit inside the original housing. To achieve a thickness close to the thickness of the original keypad I have made two design choices,
- Use surface mount push buttons instead of through hole push buttons.
- Remove the spacers from the original keypad membrane, which will go on top of the new PCB.
Instead of buying surface mount push buttons I decided to modify a bunch of through hole push buttons I already had. Converting the push buttons from through hole to surface mount was easy with a needle nose plier and a wire cutter. Afterwards, I took measurements of a transformed push button and made a footprint for it in KiCad.
The surface mount push buttons have a thickness of 3 mm, which is 1 mm shorter than the thickness of the buttons on the original keypad membrane. This means the push buttons should be able to fit inside the membrane buttons. However, I will have to carve out the insides of the membrane buttons to get the push buttons inside.
The membrane has spacers around it to fit the original keypad tightly inside the housing. With the spacers, the thickness of the original keypad (without the buttons) is 4 mm. With the spacers removed, the thickness of the PCB (without the buttons) with the membrane placed on top is 3 mm. This means that the new keypad should fit easily inside the housing.
Having figured out all the details I set out to make the PCB. First I made a simple schematic for the button connections in KiCad, followed by the layout. Since I will be using surface mount push buttons, I kept the components and traces all on the top layer.
The layout is very similar to the layout of the laminated traces of the original keypad, except I avoided a via since I didn’t want to go into a second layer. Three hours of work developing, etching, drilling and trimming later I had the PCB ready for soldering.
Although I have had a bit of practice soldering surface mount components before, this is my first time trying it on one of my own PCBs. I have stayed away from surface mount components before mostly because I didn’t have a soldering iron designed for surface mount devices. Also I didn’t have flux, which is the secret sauce to soldering SMT components properly.
I still don’t have these equipment, but decided to give it a go anyway since I didn’t really have a choice but to use surface mount push buttons. One of the biggest difficulties with soldering SMT components is holding it in place while trying to solder since you only have two hands to hold the soldering iron, solder and the component! Yes, I did consider melting the solder on the iron first and then bringing it to the component pad, but in the time it takes to do that, the flux inside the solder smokes away making it very difficult to make a good connection.
Thankfully, I had bought this PCB holder with alligator clips and it did a really good job of holding the push buttons in place while I soldered.
As it turned out soldering the surface mount push buttons wasn’t too bad. I found this more satisfying than soldering through hole. The solder did spread a little bit along the track since I don’t have a solder mask on my home made PCB.
The next step is to solder a connector from the keypad PCB to the control PCB, where the processor is located. For the connecting wire I chose an old ribbon wire I found in my collection of scrap wire, which had six wires – exactly what I needed! I soldered a female header to one end and soldered the other end to the keypad PCB.
After soldering all the components it was time to test the device. As expected it worked without any issues and with that satisfying feel of a real button press.
The final step is to put everything back inside the housing. In order to fit the membrane of the original keypad on top of the new keypad push buttons the insides of the membrane buttons need to be carved out. However, this task turned out to be rather difficult since the membrane buttons are strechy and didn’t flake off very easily.
After a few unsuccessful attempts, I managed to poke through one of the buttons with an X-Acto knife, partly removing it from the membrane. And then I had the idea to remove the membrane buttons from the membrane and then glue it on top of the push buttons. Removing the membrane buttons from the membrane was easy since the buttons were connected to the rest of the membrane with a very thin layer.
So I placed the new keypad PCB inside the housing using the rest of the membrane (without the buttons) and white electrical tape to insulate the traces from the metal housing.
My attempts to attach the membrane buttons on top of the push buttons were fruitless. I tried several different types of super glue and even double tape, but nothing would make the membrane stick to anything! May be it needs some special type of glue to make it stick, but at this point it is not worth it to try and find it.
After all the new keypad works better than the original, which is the main problem I set out to fix. Sure the buttons aren’t labeled, but that will make it that much harder for burglars to try to figure out the correct password.
How reliable is this new keypad? Only time will tell. But for now, it is fixed!