Keyboard controller

Hi,
I’m new to Arduino and this form. I want to make a keyboard of my own. Any experience on what controller can be used and programming it. Price does matter.

Methinks you need to describe - in excruciating detail - what you mean by "a keyboard". :roll_eyes:

A normal keyboard, computer accessory!

AFAIK there is no actually excellent and nice working way to use a PC keyboard on an Arduino currently, neither for AVRs nor for Due.
Nevertheless, there are some "experimental approaches" which are quite shaky and don't apply to standard C keyboard functions (and functionality) which would be needed, e.g.

kbhit()
getch()
getche()
getchar()
gets()
putchar()
scanf()

@ArthurD : I think that Abolaynain wants to design/build a keyboard based on an Arduino chip, not interface a PC keyboard to an Arduino.

@Abolaynain : Would it be possible to confirm that this is indeed what you wish to do ?
Would it be possible to explain your motivation ?

Do you plan on using the keys / switches / mecanics an existing PC keyboard () as a starting point and use the Arduino to scan the keys ? (i.e. the Arduino would basically replace the Intel controller (I think it is the 8042 or P8049AH).

Is this your goal ? Or did I totally misunderstood your request ?
A computer keyboard has a lot of keys and I don't believe that an Arduino chip is suited for such a project ...

Here is the schematic of a pc keyboard : http://devster.monkeeh.com/z80/upi42/8042_test2.gif

dan

dsauriol:
Would it be possible to explain your motivation ?

That will probably be the most difficult part. Possibly a gamer? :roll_eyes:

dsauriol:
Do you plan on using the keys / switches / mechanics an existing PC keyboard () as a starting point and use the Arduino to scan the keys ? (i.e. the Arduino would basically replace the Intel controller (I think it is the 8042 or P8049AH).

Presumably something like that is the intent, or using a new array of buttons.

dsauriol:
A computer keyboard has a lot of keys and I don't believe that an Arduino chip is suited for such a project ...

Nor is an 8042!

Look, keys are always matrixed; as the minimum key set on a PC keyboard is 102, that means an 8 by 11 matrix requiring 19 port pins plus 2 pins for a PS/2 interface or some provision for USB. That generally means a 32 or 40-pin chip if you wish a single-chip solution and an 8042 matches this. However if you use a shift register or counter as expansion, a Pro Micro would suit the job perfectly.

Note there are important tricks as to how you wire the matrix to allow some degree of rollover.

dsauriol:
Here is the schematic of a pc keyboard:

Not sure what you think that schematic depicts, but a computer keyboard it certainly ain't! :astonished:

No keys for a start, and no interface.

"That generally means a 32 or 40-pin chip if you wish a single-chip solution"

  • perhaps a Arduino MEGA ?

It would be relatively easy to stick an Arduino in between an existing keyboard (ps/2 or older, probably) and the PC itself (ps/2 or USB, depending on Arduino model.) You wouldn't have to worry about the mechanical construction, and you could add special features...

indeed, using PS2keyboard one may achieve sort of a basic functionality:
https://www.pjrc.com/teensy/td_libs_PS2Keyboard.html

For some basic fuctionality it might fit ( I also once used it) but it's not suitable for a full C keyboard functionality like provided by stdio.h (e.g., getchar, getc, gets, putchar, scanf).

westfw:
ps/2 or older, probably

Well actually, the "PS/2" hardware is the original hardware, merely using a different, smaller connector. There are protocol differences at the "AT" level, but backward compatibility is retained.

westfw:
You wouldn't have to worry about the mechanical construction, and you could add special features...

Such "special features" - whatever that might mean - would be added in the PC (in software). My interpretation is that the OP is either seeking the satisfaction of inventing his own personal "Wheel", or in fact the particular mechanical construction is the special part.

But surely it must be the satisfaction of inventing his own personal "Wheel" as if you simply want to use a different assembly, you go buy a $2 keyboard at a Garage Sale or the Op Shop and remove the cable and PCB in one piece for your use.

If you merely want to add a few buttons for gaming or such, you can either use a Pro Micro to act as a second keyboard for those buttons only, or re-purpose the PCB from a keyboard that already has extra buttons - like these:
That one is already useless for a good typist as the cursor keys are in all the wrong places! :astonished:

dsauriol:
@ArthurD : I think that Abolaynain wants to design/build a keyboard based on an Arduino chip, not interface a PC keyboard to an Arduino.

@Abolaynain : Would it be possible to confirm that this is indeed what you wish to do ?
Would it be possible to explain your motivation ?

Do you plan on using the keys / switches / mecanics an existing PC keyboard () as a starting point and use the Arduino to scan the keys ? (i.e. the Arduino would basically replace the Intel controller (I think it is the 8042 or P8049AH).

Is this your goal ? Or did I totally misunderstood your request ?
A computer keyboard has a lot of keys and I don't believe that an Arduino chip is suited for such a project ...

Here is the schematic of a pc keyboard : http://devster.monkeeh.com/z80/upi42/8042_test2.gif

dan

You got me right. That is exactly what I want. I want to design a keyboard based on an arduino chip but it would cost much ,besides as you mentioned, it wouldn't be suited for such a project.
My intention is to design a keyboard of my own and if it works right, I would start manufacturing it at my local area.

What controller is suggested that I can used myself?

Thank you,

"That generally means a 32 or 40-pin chip if you wish a single-chip solution"

" perhaps a Arduino MEGA"

ArthurD:
"That generally means a 32 or 40-pin chip if you wish a single-chip solution"

" perhaps a Arduino MEGA"

But that would cost much!

well, only the death is for free - and even that costs a life :slight_smile:

but a Mega clone is from ~10 US$

ArthurD:
well, only the death is for free - and even that costs a life :slight_smile:

but a Mega clone is from ~10 US$

That would cost so much by here. Consider chinese products.

Abolaynain:
My intention is to design a keyboard of my own and if it works right, I would start manufacturing it at my local area.

Given that however you design it, it will be much more expensive than purchasing one, precisely what is it about your own design that would be worth the trouble, and would make people pay four (or more) times the price of what is already on the market for your version?

Paul__B:
Given that however you design it, it will be much more expensive than purchasing one, precisely what is it about your own design that would be worth the trouble, and would make people pay four (or more) times the price of what is already on the market for your version?

Just need to konw what controller I can use that doesn't cost much like existing in market keyboards.

Abolaynain:
Just need to know what controller I can use that doesn't cost much like existing in market keyboards.

Well, though you do not intend to answer my question, I can only point out that low cost is related to production lots of thousands.

This is irrespective of the controller chosen.

Paul__B:
Well, though you do not intend to answer my question, I can only point out that low cost is related to production lots of thousands.

This is irrespective of the controller chosen.

Thank you