2

These are questions I have found that are similar to mine:

  1. Arduino as full fledged keyboard controller? This is somewhat similar but it sounds like op is trying to connect an existing keyboard
  2. How to build a custom laptop computer with original chassis, keyboard, etc? OP here is wanting to make an entire laptop. I just want a small keyboard.
  3. usb keyboard with many simultaneous key presses This one seems most similar but I will probably need more simultaneous presses and they seems further along.

I don't have much info on this so their are lots of different things that need to be solved in order to make this (if keyboard will be ps2,usb,blutooth or all, firmware, case, inner electronics) Right now I'm basically interested in the inner electronics/wiring though any advice is helpful.

Info I do have on my proj

  1. I will use mx brown switches
  2. http://ergodox.org/Default.aspx I'm kind of using this as a guide. I tried to open their pcb files, but couldn't. They use a teeensy usb which would be much smaller than my arduino uno. To save space I was thinking of putting the arduino under the pcb and separating them with strong metal would this work.

Basically, I need advice on how to open others and design my own pcb and if my setup is possible.

Update

So my kb uses layer design press one key for access to a function on another. M = modifier shift alt etc L = layer key These determine what functions are available R= regular key

  1. M
  2. M L L R R R R
  3. M L L R R R R
  4. M L R R R R

fozbstuios
  • 55
  • 1
  • 8
  • Why the downvote? I understand if add need to change, but tell me what I should change please – fozbstuios Aug 08 '13 at 17:37
  • I have some questions: what parameter determines what keyboard interface (usb, bt, etc.) you want to use (i.e. the easiest one? The most robust one?)? Also, how low level with this protocol do you want to go? I personally, like to support protocols at HW level if they're simple enough. – Nick Williams Aug 08 '13 at 18:12
  • @NickWilliams Whichever is easiest and whatever you suggest for protocol – fozbstuios Aug 08 '13 at 18:29

2 Answers2

3

You mentioned you are simply looking for the easiest method. The awesome thing about Arduino is its Open Source nature; so naturally anything you think of, someone probably has already constructed. Anyway, if you just Google: "keyboard library for Arduino", the first hit looks as though this is a library that essentially trivializes the difficulty in your project:

http://arduino.cc/en/Reference/MouseKeyboard

However, I'm unsure of the HW set up in this (i.e. does this connect solely through USB? Or perhaps you require a shield?). I'll leave that research up to you.

There is also the question of how you will detect all those key presses on a keyboard. You mention "making a keyboard", so I assume this HW will be constructed by you. You'll have roughly 60 (I'm guessing) buttons to keep track of. In this case, you should use a Key Matrix. Here's an article for research on this:

http://pcbheaven.com/wikipages/How_Key_Matrices_Works/

Nick Williams
  • 1,815
  • 3
  • 17
  • 29
  • Wouldn't I need some sort of shield even if its just USB ( arduino uses different USB type than a kb). Also if you mean how many physical keys then its 23. If you mean how many keyboard functions, the same amount as a normal kb. I have a picture of the layout but can't post it. Any ideas on how to open/create pcb's – fozbstuios Aug 08 '13 at 19:12
  • Granted, Arduino has a Type-B receptacle and keyboards generally have a Type-A receptacle; but they are no different (to my knowledge) in functionality. The article mentions no additional shield, give it a shot. – Nick Williams Aug 08 '13 at 19:19
  • There are design environments such as EAGLE, where you can build PCBs. Lots of info online for this. – Nick Williams Aug 08 '13 at 19:22
  • Ok. Thanks for your help. I have one last question(I promise)! This will be hard todo with out posting a pic but I' ll try. See update. – fozbstuios Aug 08 '13 at 19:27
  • That didn't work. Darn! – fozbstuios Aug 08 '13 at 19:38
  • should be fixed – fozbstuios Aug 08 '13 at 19:43
  • Yeah, I don't know anything about that. – Nick Williams Aug 08 '13 at 19:47
  • The Arduino UNO's USB port is in no way suited to interact with a standard USB keyboard... not sure why this answer is marked correct... – vicatcu Aug 09 '13 at 16:32
  • @vicatcu You misunderstand my answer. I never said the USB would work. I simply mentioned that the keyboard/mouse library on Arduino's webpage looks promising. And I added the disclaimer that fozbstuios should investigate the HW interface. – Nick Williams Aug 09 '13 at 17:22
0

You'll need an "Arduino" variant / clone that has Host USB support.

vicatcu
  • 22,499
  • 13
  • 79
  • 155