[GB] Filco tenkeyless custom ATmega32u4 controller

controller_final.png


Update: 2012-09-11CET
PCB files have been sent for final DRC (design rule checking) at pcbwing.com.

Deadline: 2012-09-09 23:59 CET
Anyone registering their interest before the deadline will be guaranteed their units when they are done and tested.

When the deadline has passed, I think I will set some system up to do the final ordering by email to keep track of everything.

What is this all about?
Ever wanted your Filco tenkeyless to have a programmable controller? Thought it sounded a bit insane to build a Phantom only for this reason? What if you could just simply replace the stock controller daughter board in your keyboard with a programmable one? Why not I say.

With this replacement daughter board you will basically have a Teensy that plugs conveniently into your Filco tenkeyless. There are a number of different keyboard project with code running on the Teensy that should be easily adopted to work with this controller.

The ATmega32u4 chip
This is the same chip as on the Teensy2.0. It is a 16MHz 8-bit AVR from Atmel.

It has 32kB of flash to hold the bootloader, firmware code and key matrix information. The flash memory is read only during normal operation, so it can only be altered when loading code onto it through the bootloader. Both the stock bootloader from Atmel and the open source bootloader from LUFA take 4kB of the flash memory. The very basic code for the Phantom with one single layer key matrix takes almost 9kB. This leaves more than 18kB for custom layers and macros or whatever.

There is 2.5kB of SRAM memory, this is used to run the program and store variables during runtime. It is like normal RAM memory erased when the power is cut.

There is also 1kB of EEPROM memory available, this can be used to store data when the power is off. So any recorded macro or on the fly remappings should be stored here.

Flashing the firmware
Almost all code for AVRs you will find is written in c and compiled to hex files. It is these hex files that are flashed to the chip. The flashing is done through a program running on your computer, talking to the chip via the bootloader. I haven't tried this in Windows but there are applications to do this that should be easily maneuvered. I will look into this and make sure there are no problems. In Linux I've got everything under control.

The TeensyLoader that the Teensys use will unfortunately not be available since that is PJRC proprietary. This is only a slight drawback. It may be more user friendly, and their bootloader is much smaller, but all in all this doesn't make a big difference.

Compatibility
I have based this design on my "gen2" Filco tenkeyless. I believe there are no differences compared to the "gen1" keyboard except the higher quality PCB. Electrically everything is the same. I cannot guarantee that it will work for everyone though since there may be differences I don't know about. If your keyboard turns out to be incompatible this would of course be handled somehow. Passing it on to someone else for example, or in the worst case returning it for a refund.

The Filco main PCB that I have reverse engineered is a "gen2" marked "CST-F87/88/89/91-MB V1.1" 2010-11-09, and the controller is marked "Tenkeyless PCBA Rev 2.1-ESD" 2010-08-24.

There are pictures of the stock controller in this thread http://geekhack.org/index.php?topic=6557

Roadmap to HID liberation
  1. 2012-09-06 (Probably) Receive first batch of components.
  2. 2012-09-07 (Hopefully) Receive new Filco tenkeyless for final testing of breadboard setup.
  3. 2012-09-09 Interest check deadline.
  4. 2012-09-11 Ordering PCBs.
    the more expensive components. The cheap ones I already have ordered in large numbers. Delivery time to me is very fast.
  5. 2012-09-24 (Earliest) Delivery of PCBs.
  6. 2012-09-25 Testing.
  7. 2012-09-26 Building.
  8. 2012-09-27 Asking people for money. I am probably going to order components for 25 at a time. That is a good cutoff for
  9. 2012-09-28 First shipments. I will start off with a few completely subjectively selected orders, and after that asking in random order.
  10. 2012-10-04 21 days with tons of spare time.

Pricing
At a quantity of 10 a total production cost of ~$20 a piece (not including shipping from me) could probably be expected.

Shown interest:
GeekHack
  • 3-4 jdcarpe
  • 1 reaper
  • 2 alaricljs
  • 1-2 boost
  • 1 inlikeflynn
  • 2 Saviant
  • 1 damorgue
  • 1 longweight
  • 2 The_Beast
  • 2 tipo33
  • 2 WhiteFireDragon
  • 2 WRXChris
  • 1 alixinhzai
  • 1 hashbaz
  • 2 skriefal
  • 4 litster
  • 2 mickd
  • 2 tjweir
  • 1 Appeac
  • 1 nolliepoper
  • 2 Glissant
  • 1 priyadi
  • 2 Tenkey
  • 1 modulor
  • 1-2 harrison
  • 2 Nunez
  • 2 Autolyze
  • 1 metalliqaz
  • 1 strider_ani
  • 3 BossBorot
  • 2 jcrouse
  • 1 Djuzuh
  • 1 4LI4Z
  • 1 Surreal Killa
  • 1 fruktstund
  • 2 bnp70kr
  • 1-2 Game Theory
  • 1 DarkShot
  • 1 daerid
  • 1 nebo
  • 1 oneproduct
  • 1 Feints
  • 3 TheProfosist
  • 1 Icarium
  • 2 ChaoticKinesis
  • 1 Sifo
  • 1 anthropornis
  • 1 gizzard
  • 4 RiffRaff
  • 1 bisl
  • 1 fl0w3n
  • 1 esoomenona
DeskThority
  • 1 HzFaq
  • 1 maoiste
  • 1 kvad
  • 2 webwit
  • 1 csimi
  • 1 hamza_tm
  • 1 yeeeargh
  • 2 pasph
  • 1 graboy
  • 1 lapin00b
  • 1 hoggy
  • 1 blighty
  • 1 zoidbergslo
  • 1 Kurrk
  • 1 stevedreams
  • 1 dfxdx
  • 1 Daemon Raccoon
  • 1 mrdk
  • 0-2 korne
  • 2 chronos
  • 1 bone
  • 2 fossala
Last edited by bpiphany on 08 Oct 2012, 13:53, edited 40 times in total.
bpiphany

Unread post28 Aug 2012, 13:43

X
bpiphany
 
Posts: 393
Joined: 19 Mar 2011, 19:15
Location: Stockhom, Sweden
Main keyboard: Symmetric Stagger Board
Main mouse: Kinzu
Favorite switch: Topre
Club member: -
 
Great idea for Filco owners!
dirge
User avatar

Unread post28 Aug 2012, 14:26

User avatar
X
dirge
 
Posts: 2033
Joined: 28 Jan 2012, 19:02
Location: Newcastle Upon Tyne, United Kingdom.
 
I'd be very interested in one,keep us posted.
HzFaq
User avatar

Unread post28 Aug 2012, 15:56

User avatar
X
HzFaq
 
Posts: 1653
Joined: 16 Sep 2011, 13:23
Location: Windsor, UK
Main keyboard: Phantom
Main mouse: CST L-Trac
Favorite switch: MX Clears
Club member: 0034
 
I will make this happen no matter how low the interest is, but it looks like hitting 10 won't be any problem. I don't mind taking a small risk over ordering some either. I do want to know if I should order 10, 20, or 100 though =) I set up an interest check thread at geekhack as well.
bpiphany

Unread post28 Aug 2012, 16:49

X
bpiphany
 
Posts: 393
Joined: 19 Mar 2011, 19:15
Location: Stockhom, Sweden
Main keyboard: Symmetric Stagger Board
Main mouse: Kinzu
Favorite switch: Topre
Club member: -
 
can't this be used with any keyboard (with some rewiring)
mintberryminuscrunch

Unread post28 Aug 2012, 17:06

X
mintberryminuscrunch
 
Posts: 1923
Joined: 29 Apr 2011, 11:58
Location: Germany
 
i would be interested aswell
maoiste

Unread post28 Aug 2012, 17:45

X
maoiste
 
Posts: 27
Joined: 22 Nov 2011, 21:16
Location: Germany
Main keyboard: g80-3000 ghetto red's double shot white/beige keys
Main mouse: Razer Abyssus
Favorite switch: Mx Linears
Club member: -
 
Would soldering be needed? Or can you just plug it in?
fossala
User avatar
Elite +1

Unread post28 Aug 2012, 17:50

User avatar
X
fossala
Elite +1
 
Posts: 2730
Joined: 05 Aug 2011, 15:25
Location: UK
Main keyboard: HHKB Type-S
Main mouse: Rollermouse Free2
Favorite switch: Topre
Club member: -
 
I'm pretty sure the daughter board just plugs in, no soldering needed. I'm sure bpiphany can clarify though.
HzFaq
User avatar

Unread post28 Aug 2012, 17:51

User avatar
X
HzFaq
 
Posts: 1653
Joined: 16 Sep 2011, 13:23
Location: Windsor, UK
Main keyboard: Phantom
Main mouse: CST L-Trac
Favorite switch: MX Clears
Club member: 0034
 
I assume this would be the same size as the original Filco one and fit in cases that are not Filco?
If it works with 1st gen TKL I'm definitely interested (or if there's no info on it I'll try myself).
csimi
User avatar

Unread post28 Aug 2012, 21:04

User avatar
X
csimi
 
Posts: 12
Joined: 17 Jul 2012, 18:30
Location: Budapest, Hungary
Club member: -
 
mintberryminuscrunch wrote:can't this be used with any keyboard (with some rewiring)

You would probably be better off just using a regular Teensy in that case, expanding it in a suiting way if that is needed for the matrix your keyboard is using. This is more or less just a Teensy copy that is modified to work in this particular case.
fossala wrote:Would soldering be needed? Or can you just plug it in?

I am planning to order all components, solder them, load the LUFA bootloader to the chip along with some basic firmware before shipping. The controller daughter board is just push fitted into the main board. You only need to pull the old one out and insert this one in its place.
csimi wrote:I assume this would be the same size as the original Filco one and fit in cases that are not Filco?
If it works with 1st gen TKL I'm definitely interested (or if there's no info on it I'll try myself).

Yes, this is the same size as the Filco tenkeyless daughter board. (The full size Filcos use another daughter board.) I am quite confident that this will work with the "gen 1" tenkeyless as well. Someone at geekhack said his "gen 1" had the same revision of the daughter board.


The original Filco controller can be seen above the arrow keys in one of the pictures in this thread http://geekhack.org/index.php?topic=6557.0
bpiphany

Unread post28 Aug 2012, 21:23

X
bpiphany
 
Posts: 393
Joined: 19 Mar 2011, 19:15
Location: Stockhom, Sweden
Main keyboard: Symmetric Stagger Board
Main mouse: Kinzu
Favorite switch: Topre
Club member: -
 
Count me in!
Would this allow, say adding a numpad on another layer activated by scroll lock?
kvad
User avatar

Unread post28 Aug 2012, 21:48

User avatar
X
kvad
 
Posts: 47
Joined: 16 Jan 2012, 23:12
Location: Bergen, Norway
Main keyboard: Filco Majestouch 2 TKL ISO
Main mouse: Logitech G9
Favorite switch: MX Brown
Club member: -
 
2 for me please.
webwit
User avatar
Wild Duck

Unread post28 Aug 2012, 21:53

User avatar
X
webwit
Wild Duck
 
Posts: 9695
Joined: 27 Jan 2011, 23:27
Location: The Netherlands
Main keyboard: HHKB Pro II
Favorite switch: IBM beam spring
Club member: 0000
 
 
kvad wrote:Count me in!
Would this allow, say adding a numpad on another layer activated by scroll lock?

Yes =)



I am adding a deadline to show interest, 2012-09-09 before midnight. Anyone registering before then will be guaranteed their units. And I can sort of see already how that is going to go wrong... Let's say that when 80% of them also have paid I will do the ordering.
bpiphany

Unread post28 Aug 2012, 22:16

X
bpiphany
 
Posts: 393
Joined: 19 Mar 2011, 19:15
Location: Stockhom, Sweden
Main keyboard: Symmetric Stagger Board
Main mouse: Kinzu
Favorite switch: Topre
Club member: -
 
bpiphany wrote:Yes, this is the same size as the Filco tenkeyless daughter board. (The full size Filcos use another daughter board.) I am quite confident that this will work with the "gen 1" tenkeyless as well. Someone at geekhack said his "gen 1" had the same revision of the daughter board.


The original Filco controller can be seen above the arrow keys in one of the pictures in this thread http://geekhack.org/index.php?topic=6557.0

In that case please sign me up for one.
csimi
User avatar

Unread post28 Aug 2012, 22:24

User avatar
X
csimi
 
Posts: 12
Joined: 17 Jul 2012, 18:30
Location: Budapest, Hungary
Club member: -
 
I have a Filco TKL MJ1 with board-wide chattering, will this fix that problem?
Either way I'm in for one please!
hamza_tm
User avatar

Unread post28 Aug 2012, 22:47

User avatar
X
hamza_tm
 
Posts: 491
Joined: 31 Mar 2012, 20:32
Location: Manchester, UK
Club member: -
 
hamza_tm wrote:I have a Filco TKL MJ1 with board-wide chattering, will this fix that problem?
Either way I'm in for one please!

If the problem is controller related it should possibly make the problem go away. Otherwise you may be able to increase the de-bouncing parameters to have the chattering go away. No promises on that though.
bpiphany

Unread post28 Aug 2012, 23:29

X
bpiphany
 
Posts: 393
Joined: 19 Mar 2011, 19:15
Location: Stockhom, Sweden
Main keyboard: Symmetric Stagger Board
Main mouse: Kinzu
Favorite switch: Topre
Club member: -
 
I'm also interested in one of these :D
yeeeargh

Unread post29 Aug 2012, 00:08

X
yeeeargh
 
Posts: 35
Joined: 26 Apr 2012, 17:23
Location: Germany
Club member: -
 
Interested in 2
pasph

Unread post29 Aug 2012, 03:58

X
pasph
 
Posts: 662
Joined: 27 Feb 2012, 22:02
Location: Italy
Club member: -
 
Possible interest in one... what would shipping cost to the US?
graboy
User avatar

Unread post29 Aug 2012, 04:55

User avatar
X
graboy
 
Posts: 107
Joined: 09 Nov 2011, 01:49
Main keyboard: Filco Tenkeless w/blues
Main mouse: Logitech G9x
Favorite switch: Cherry MX Blue
Club member: -
 
bpiphany wrote:
hamza_tm wrote:I have a Filco TKL MJ1 with board-wide chattering, will this fix that problem?
Either way I'm in for one please!

If the problem is controller related it should possibly make the problem go away. Otherwise you may be able to increase the de-bouncing parameters to have the chattering go away. No promises on that though.

Thanks for the reply! It is indeed controller related (completely randomly happens over any key at any time), but is it possible to mess about with the de-bouncing parameters on the stock Filco controller?
hamza_tm
User avatar

Unread post29 Aug 2012, 06:33

User avatar
X
hamza_tm
 
Posts: 491
Joined: 31 Mar 2012, 20:32
Location: Manchester, UK
Club member: -
 
graboy wrote:Possible interest in one... what would shipping cost to the US?

If I ship them myself a 100g letter is $4, or a 250g letter is $8, I should have left over material to pack them in.. And there may be someone wanting to help out with distributing US orders.
hamza_tm wrote:
bpiphany wrote:Thanks for the reply! It is indeed controller related (completely randomly happens over any key at any time), but is it possible to mess about with the de-bouncing parameters on the stock Filco controller?

I don't think so, I was talking about the new controller. If you would still have had chattering you could have down clocked it until it went away =)
bpiphany

Unread post29 Aug 2012, 07:02

X
bpiphany
 
Posts: 393
Joined: 19 Mar 2011, 19:15
Location: Stockhom, Sweden
Main keyboard: Symmetric Stagger Board
Main mouse: Kinzu
Favorite switch: Topre
Club member: -
 
OK thanks, I do indeed want one please!
hamza_tm
User avatar

Unread post29 Aug 2012, 08:18

User avatar
X
hamza_tm
 
Posts: 491
Joined: 31 Mar 2012, 20:32
Location: Manchester, UK
Club member: -
 
Just a quick noob question:
Why would/should I buy this controller and replace the Filco's one with it?
Acanthophis
User avatar

Unread post29 Aug 2012, 14:20

User avatar
X
Acanthophis
 
Posts: 1341
Joined: 15 Apr 2011, 08:38
Location: Berlin, Germany
 
Is this also useful for other keyboards?

Does it support larger PCB matrices?
7bit
User avatar

Unread post29 Aug 2012, 14:25

User avatar
X
7bit
 
Posts: 13413
Joined: 31 Jan 2011, 23:37
Location: Berlin, DE
Main keyboard: Tipro / IBM 3270 emulator
Main mouse: Logitech granite for SGI
Favorite switch: MX Lock
Club member: 0001
 
It's basically a Teensy on a different PCB.

So DeathAdder: It allows you to remap keys if you want to do that. That's all.

7bit: No, for everything else a Teensy makes more sense.
Icarium
User avatar

Unread post29 Aug 2012, 14:36

User avatar
X
Icarium
 
Posts: 1636
Joined: 11 Jan 2012, 16:22
Location: Germany
Main keyboard: These fields just
Main mouse: opened my eyes
Favorite switch: I need to bring stuff to work
 
Icarium wrote:It's basically a Teensy on a different PCB.

So DeathAdder: It allows you to remap keys if you want to do that. That's all.

Well,.. honestly that is quite narrow minded ;D You could make it do a number of things like extra layers, macros, anything you are able to program into it really. All that can be done on the OS side as well, so in that regard you are correct that it doesn't add anything else than hard-remapping keys.
bpiphany

Unread post29 Aug 2012, 16:00

X
bpiphany
 
Posts: 393
Joined: 19 Mar 2011, 19:15
Location: Stockhom, Sweden
Main keyboard: Symmetric Stagger Board
Main mouse: Kinzu
Favorite switch: Topre
Club member: -
 
Sorry, I didn't mean to belittle your project. I'd actually buy one if I had a Filco, I think hardware remapping is great. :) Especially to another layer. And macros I just totally forgot about. :)
Icarium
User avatar

Unread post30 Aug 2012, 07:36

User avatar
X
Icarium
 
Posts: 1636
Joined: 11 Jan 2012, 16:22
Location: Germany
Main keyboard: These fields just
Main mouse: opened my eyes
Favorite switch: I need to bring stuff to work
 
Great idea to set up a group buy for this !

I'm in for one.
lapin00b
User avatar

Unread post30 Aug 2012, 07:45

User avatar
X
lapin00b
 
Posts: 48
Joined: 18 Oct 2011, 13:21
Location: Belgium
Main keyboard: Filco Tenkeyless (cherry mx brown)
Main mouse: logitech performance mx
Favorite switch: cherry mx brown
Club member: -
 
Can you give an update on pricing
mintberryminuscrunch

Unread post30 Aug 2012, 14:03

X
mintberryminuscrunch
 
Posts: 1923
Joined: 29 Apr 2011, 11:58
Location: Germany
 
mintberryminuscrunch wrote:Can you give an update on pricing

I was hooking everything up on a breadboard, and realised that the diodes on the board are actually mounted backwards to what I thought. No big problem with that except I will need to use pull-down resistors instead of pull-up resistors. Pull-up resistors are built into the ATmega, pull down resistors I will need to solder myself, all 18 of them... They are very cheap, but it is probably going to double the time to solder one board =P

Also $20 was probably on the low side to start with, so I think it is still a reasonable figure.
bpiphany

Unread post30 Aug 2012, 17:09

X
bpiphany
 
Posts: 393
Joined: 19 Mar 2011, 19:15
Location: Stockhom, Sweden
Main keyboard: Symmetric Stagger Board
Main mouse: Kinzu
Favorite switch: Topre
Club member: -
 
Next

Who is online

Users browsing this forum: justcallmecrash, mikem, Mr. J, oknytt, repuls0r, Rubs80, Sankart, strah, wobbled and 34 guests