Author Topic: Programmable Keyboard Microcontroller Options  (Read 5503 times)

0 Members and 1 Guest are viewing this topic.

Offline Index

  • Thread Starter
  • Posts: 158
Programmable Keyboard Microcontroller Options
« on: Mon, 29 August 2011, 17:21:56 »
Hi guys,

I was just wondering if there were more options than the Teensy for a programmable keyboard controller. I feel like the Teensy is alittle clunky, and I prefer to get an actual microcontroller chip.
Gaming Keyboard: Leopold FC200RT/ABN
Work Keyboard: HHKB Pro 2 PD-KB400B

Offline one_each

  • Posts: 25
Programmable Keyboard Microcontroller Options
« Reply #1 on: Mon, 29 August 2011, 17:39:24 »
The teensy is just a microcontroller (AtMega1286 from Amtel) with the very basics needed to get it running and a bootloader that programs the chip over USB.  The AtMega family of microcontrollers are what drive the Arduino.  If you really wanted to, you could just get one of the 40 PDIP AtMega chips then add the parts and programming needed to talk HID over the USB but in the end you will spend much more then the cost of a Teensy and have to use a special cable to program the thing.
**something random**

Offline hasu

  • Posts: 3491
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Programmable Keyboard Microcontroller Options
« Reply #2 on: Tue, 30 August 2011, 01:28:04 »
AVR, PIC, MSP430, ARM or 8051... as you choose. Most MCU can be used for keyboard controller.
I don't know controllers dedicated to support keyboard, but I think it is difficult to obtain them in small amount.
It seems like modders on GH like AVR/Teensy much as keyboard controller.

P.S.
HHKB uses a renesas MCU which is not programmable, but renesas also offers flash version of the MCU.
And I read on their blog recently that TruelyErogonomicKeyboard uses programmable 8051 controller - MG84FL54 from Megawin.

Offline Sam

  • Posts: 189
Programmable Keyboard Microcontroller Options
« Reply #3 on: Tue, 30 August 2011, 02:50:59 »
For my keyboard project I'm working on, I'm using a Microchip PIC controller, simply because that's what I'm most familiar with, and have a lot of different PCBs around with those MCUs installed that I can just connect jumper wires to and am ready to go.  Currently I'm using a PIC32MX device (32-bit MCU) because I've been migrating to that recently opposed to the PIC24F devices (16-bit MCU) which I used for many years.  Either one of them will work fine and are in my opinion easy to develop on, but are probably overkill, at least for the devices I'm using.  Some of the earlier PIC 8-bit MCUs had an architecture which resulted in an extremely limited stack size.  If you're into writing well-organized modular code, it's almost impossible to use one of those unless for the simplest of tasks.  Either the PIC24F or PIC32MX though don't have such limitations.  The PIC32MX uses a MIPS32 core, whereas previous PICs I believe were all proprietary Microchip cores.  That probably though won't matter much to anyone making a keyboard controller, being I imagine you'd be coding in C, BASIC, or another high-level language, and not in Assembler.

If you're not into doing the whole thing yourself, including writing the firmware, I wouldn't recommend any Microchip MCUs being I haven't seen others using them.  In that case I'd recommend you stick with the Teensy, being as mentioned it seems to be the favorite around here and you can get a lot of advice/support.  If you are doing it all yourself, then I would think the primary factor would be which MCU you're most familiar with.  If you don't have any experience writing firmware for MCUs, I wouldn't recommend a keyboard controller as your first project.  Not that it's very complicated, but simply coming from coding PCs or other computers down to the MCU level might involve a bit of a learning curve that you aren't expecting.

As Hasu mentions, any of those MCUs on his list should do the job.  Choose the one which you're most familiar with, and/or already have tools to support it.

If I didn't have any significant experience or preference, I think I'd go with the Teensy, and do all the development with it, being that's what it's designed for.  Then when finished, and needing a different form factor, simply design a PCB to what you need utilizing the stand alone Atmel ATmega MCU.  Seems to me using that method you get the best of both worlds.

Offline sordna

  • Posts: 2249
Programmable Keyboard Microcontroller Options
« Reply #4 on: Tue, 30 August 2011, 10:48:07 »
Have you noticed the Rapoo v7 has a fully programmable controller? I wonder if the standalone controller itself might be available somewhere.
Kinesis Contoured Advantage & Advantage2 LF with Cherry MX Red switches / Extra keys mod / O-ring dampening mod / Dvorak layout. ErgoDox with buzzer and LED mod.
Also: Kinesis Advantage Classic, Kinesis Advantage2, Data911 TG3, Fingerworks Touchstream LP, IBM SSK (Buckling spring), Goldtouch GTU-0077 keyboard