You are here

Keypad project for the PSoC 3 | Cypress Semiconductor

Keypad project for the PSoC 3

Summary: 5 Replies, Latest post by Bob Marlowe on 19 Oct 2015 04:18 AM PDT
Verified Answers: 1
Last post
Log in to post new comments.
20022506_1480191's picture
4 posts


I recently went looking for a matrix keypad project for the PSoC 3, for some inspiration.
Basically, I need to drive either a 2x2 matrix or a 4 key common bus keypad...
After Googling around for a while, I found this:

To put it short... Does anyone know if it's compatible with Psoc Creator v.3.2?

A longer version goes: I tried it, but it didn't work. I then downgraded to Psoc Creator v.2.1,
but got the Keil license error, which I suspect might have been brought on by the downgrade,
but I'm not sure.

So, has anyone had any luck with this project?
Or could someone perhaps recommend a similar (matrix or common bus) keypad project for
the PSoC 3?

Thanks in advance.


user_1377889's picture
9245 posts

Have a look here!


Happy coding


user_242978793's picture
958 posts

Dear Sir: I downloaded the Keyboard example program and set it for  PSOC 5lp PsoC Creator 3.3 after I open the project I discovered that the library devices where out of date and that would need to be fixed the other issue was the program was written in Russian and would need to be translated to English.  So I think you should make your own Keyboard decoder.  Back in the early days of computers they didn't have keyboards and you had to design your own.  Basically you need a scanner on the columns and a multi input exclusive or gate to detect the key closures and a and gate to detect the row data  an interrupt circuit to detect the key closures . 
I think you can find this on the internet., I am sending you a picture of one.

20022506_1480191's picture
4 posts

Hello again.
Thanks for your replies.

The keypad needed in my project is a four key (one row, four columns) keypad.
So i opted for a common bus type, which seems simpler in its nature than the
matrix type.

I found this project which
describes the procedure for implementing a common bus keypad on the
PSoC 1.

I have ported the project to the PSoC 3 with some succes, but I am having
trouble with the timer which is quite different on the PSoC 3.
Furthermore, I have uncommented the LCD specific lines (since I am not
using one).
I have added some lines that write to the UART in order to monitor the
programs progression.
From what I am able to gather (using PSoC Creator's debug function)
the program never gets past the first IF statement in line 72, which
confirms my suspicion regarding the timer implementation.

If someone has any suggestions on how to properly implement/port
the timer, it would be much appreciated
Any comments code would also be much appreciated!


PS.: I have added the program bundle.

20022506_1480191's picture
4 posts

Any suggestions?
I am a bit stuck, so would be much appreciated.


user_1377889's picture
9245 posts

You do not use your Timer_1 as a timer and your Timerint() function is not an interrupt function. You do not wait for an ADC conversion ready and I really cannot follow how you are reading your keypad. Anything that hinders you to use 4 pins for the 4 keys???

Your code looks like you try to port a PSoC1 design to PSoC3, to do that you have to know both worlds, PSoC1 and 3.

So it might be easier for you to start anew with a PSoC3 Project. Which development kit have you got? CY8CKIT-030 ??

There are plenty of example projects for that kit, so you may concentrate on your problem.



Log in to post new comments.