[WIP] THKB - Tiny Hacking Keyboard - 40%

User avatar
ne0phyte
Toast.

12 Oct 2015, 14:53

Muirium wrote: So, you're comfortable with SMD?
I have barely any experience with SMD, but you gotta do things to get better :P
The first Atmega32u4 is in place, now for the other parts. I used 1206 (3.2x1.6 mm) components so it's really not THAT small.

Image
Image

User avatar
Muirium
µ

12 Oct 2015, 14:56

Nicely done! That's so much neater, smaller, and cheaper than a Teensy. I'm already jealous!

User avatar
ne0phyte
Toast.

12 Oct 2015, 15:34

Awwww yeah. It shows up on windows!
Sadly I have to leave now, so further tests have to wait till tonight :(

User avatar
Muirium
µ

12 Oct 2015, 15:35

Tease!

Anyway, this is looking great and I'll be following closely now. Thanks for getting this project back to life again!

User avatar
RoastPotatoes

12 Oct 2015, 16:33

Everything's looking good. Please come back.

User avatar
Plasmodium

12 Oct 2015, 16:50

I'll just join the line of people saying that this project is neat, it's coming along well, etc. :)

I really like the idea of tiny little keyboards, but I'm not sure I'd be able to use one as my main board! That said, the more I see it, the more I like the idea of a split spacebar/more mods under the thumb area. Not only do I like the angled corners of the case, but there's less pinkie stretching to reach stuff I guess. Anyhow, watching this with interest!

User avatar
ne0phyte
Toast.

12 Oct 2015, 19:26

Thanks guys! Those are the posts that keep me motivated :oops:
I really want to finish this keyboard eventually - to the point that I have at least one case option (either with or without mount plate) and can make a group buy :mrgreen:

Just got back home, so I'll post some updates in the coming hours and will hopefully let you know that everything is working :D

User avatar
ne0phyte
Toast.

12 Oct 2015, 20:34

Looking good! I flashed the fuses so it's now using the external 16MHz oscillator.
Flashing the keyboard firmware works both using the ISP pins and a usb bootloader so from now on I can flash via USB.

Now for the diodes and some switches :D

Boring stuff:
Spoiler:
Image

Code: Select all

[ 1575.126033] usb 1-2: new full-speed USB device number 5 using xhci_hcd
[ 1684.207356] usb 1-2: USB disconnect, device number 5
[ 1686.242790] usb 1-2: new full-speed USB device number 6 using xhci_hcd
[ 1806.637529] usb 1-2: USB disconnect, device number 6
[ 1934.171554] usb 1-2: new low-speed USB device number 7 using xhci_hcd
[ 3310.827897] usb 1-2: USB disconnect, device number 7
[ 3312.853465] usb 1-2: new low-speed USB device number 8 using xhci_hcd
[ 3392.554972] usb 1-2: USB disconnect, device number 8
[ 3397.285559] usb 1-2: new full-speed USB device number 9 using xhci_hcd
[ 3397.460923] usb 1-2: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes
[ 3397.460931] usb 1-2: ep 0x82 - rounding interval to 64 microframes, ep desc says 80 microframes
[ 3397.460936] usb 1-2: ep 0x83 - rounding interval to 64 microframes, ep desc says 80 microframes
[ 3397.991310] input: ne0phyte THKB as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:FEED:1717.0003/input/input18
[ 3398.042010] hid-generic 0003:FEED:1717.0003: input,hidraw1: USB HID v1.11 Keyboard [ne0phyte THKB] on usb-0000:00:14.0-2/input0
[ 3398.042183] input: ne0phyte THKB as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.1/0003:FEED:1717.0004/input/input19
[ 3398.042360] hid-generic 0003:FEED:1717.0004: input,hidraw2: USB HID v1.11 Mouse [ne0phyte THKB] on usb-0000:00:14.0-2/input1
[ 3398.042854] input: ne0phyte THKB as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.2/0003:FEED:1717.0005/input/input20
[ 3398.095236] hid-generic 0003:FEED:1717.0005: input,hidraw3: USB HID v1.11 Device [ne0phyte THKB] on usb-0000:00:14.0-2/input2
[ 3398.095598] hid-generic 0003:FEED:1717.0006: hiddev0,hidraw4: USB HID v1.11 Device [ne0phyte THKB] on usb-0000:00:14.0-2/input3
[ 3398.095915] input: ne0phyte THKB as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.4/0003:FEED:1717.0007/input/input21
[ 3398.148674] hid-generic 0003:FEED:1717.0007: input,hidraw5: USB HID v1.11 Keyboard [ne0phyte THKB] on usb-0000:00:14.0-2/input4

User avatar
Muirium
µ

12 Oct 2015, 21:35

Cool. These will be user programmable right over USB?

User avatar
ne0phyte
Toast.

12 Oct 2015, 21:46

Yeah just like the Teensy.

I already updated my matrix.c, built the latest tmk and flashed it. So far with a jumper wire everything seems to work. I can confirm it in a few minutes - I just soldered the first switch :mrgreen:
Decided not to waste use my (last) spare mount plate of the old prototype though.

Image
Image

User avatar
ne0phyte
Toast.

12 Oct 2015, 23:30

It's alive! Everything is working as expected and I am typing on it right now.
To make it work I had to apply some more changes to the switch matrix in TMK that I forgot about (it was to make the routing easier) :lol: :roll:

I didn't want to pull the keys from the old prototype nor did I have enough 1.75 DSA key caps to go all gray/blue :x
Image

User avatar
Muirium
µ

12 Oct 2015, 23:32

Magnificent! I'd say looking good, but you kinda messed up with the random caps there. But great news nonetheless!

Now tell us sweet tales about cases…

User avatar
ne0phyte
Toast.

12 Oct 2015, 23:47

Well, actually, among the components that I ordered for this were a couple of different Micro USB connectors that I'm considering for the (hopefully) final PCB. But now I know the usb stuff and switch matrix is working so there is not much that can go wrong from here on.

However, the journey doesn't end yet, but I learned a lot along the way so far :D
I will add mount holes so you can screw it into a case without a mount plate and I also want to add at least one or two LEDs 8-)

Pick your weapon!
(sorry about the lower one, taking these with my phone and I was too lazy to redo it)
Image

User avatar
Muirium
µ

12 Oct 2015, 23:53

Go thin, naturally. All the micros are nicer than the mini.

User avatar
RoastPotatoes

13 Oct 2015, 00:00

I agree that micro would be a good choice

User avatar
ne0phyte
Toast.

13 Oct 2015, 01:23

STOP! Prototype PCBs gone for now!

=========
I regret ordering so many PCBs so I'm going to sell some of them to help fund the next revision :mrgreen:
You can get a DXF file for the mount plate and there is plenty of spots where you could drill a hole for a screw to mount it onto something without a plate.

Included (soldered): PCB, Atmega32u4, SMD parts, USB connector, crystal.
All you need is some diodes and switches. If you don't have any diodes I can add 50pcs for 1€.

The second price is for the PCB only without components.
Shipped to... [PCB only]
Germany: 20€ [11€]
Europe: 25€ [16€]

Please send a PM if you're interested, I don't want to pollute the thread with that.


This is the lowest I'm willing to go (at a loss). The Atmega32u4 and USB connector alone are ~7.50€ already so you pay less for the PCB than the components.
Last edited by ne0phyte on 13 Oct 2015, 22:53, edited 1 time in total.

User avatar
Plasmodium

13 Oct 2015, 12:10

How many switches does this need? 39 according to the picture - is that correct? I may have some spares after I've made my keyboard and I might see if my brother wants to try one of these as a project!

I realise you said to ask via PM, but I guess it might be good to have the number of switches necessary in the main thread for other people who are interested. Apologies if this was directly mentioned earlier and I missed it.

User avatar
Muirium
µ

13 Oct 2015, 12:23

Sure looks like 39 to me. Note the PCB mounting pins. MX switches come in two variants: with and without those. If your switches don't have them, you'll probably want a plate so they hold in place properly. A plate works with either switch type.

User avatar
ne0phyte
Toast.

13 Oct 2015, 12:41

Yes, 39 switches is correct and just like Mu said they should be PCB mount ones with the two extra mount pins.

User avatar
Plasmodium

13 Oct 2015, 13:43

Hm, tempting. Looks like none of the keys are big enough to need stabilisers as well, right?

User avatar
ne0phyte
Toast.

13 Oct 2015, 13:51

Yes, that was one of the main ideas of the layout. The biggest key is 1.75u so you don't need any stabs. Just some DSA caps that you can get from Signature Plastics directly (or pimpmykeyboard.com).

User avatar
Muirium
µ

13 Oct 2015, 13:53

Indeed. That's a crafty design choice that makes things easier… if you've got the caps to handle it.

I might bite. But I want to know about cases. Can't use a keyboard without a case. (I have tried…)

User avatar
ne0phyte
Toast.

13 Oct 2015, 14:00

That's why I'm giving away the current PCBs so cheap (you basically pay less than the Teensy alone costs for the whole populated PCB). I just don't want them laying around and collecting dust :P

User avatar
Muirium
µ

13 Oct 2015, 14:06

Well, will your cases fit these? I don't mind helping out with the project, but I need a case. I could just pay you now and wait until the cases are ready so you can ship me the bundle! No rush.

User avatar
ne0phyte
Toast.

13 Oct 2015, 14:12

And there lies the problem. If I would be 100% certain that I will finish this project in one go I would have asked for money already so people could directly fund the prototyping and get a full THKB in the end. But... I just don't feel good doing that if I happen to take another break (even though it's very unlikely at this point).

That's why I'm giving away these PCBs at loss. I'd rather see someone fiddle with it or maybe build a case around it until I can do a GB for a full keyboard + case.

User avatar
flabbergast

13 Oct 2015, 22:26

Muirium wrote: Go thin, naturally. All the micros are nicer than the mini.
While micros are slimmer and ubiquitous, I personally don't like them that much. I think the official design specification says that they are more durable than minis, but my personal experience says otherwise. If space-saving isn't one of the main design considerations, I would go with a mini. (Mind you, keyboards don't get plugged in and un-plugged as often as a phone or a tablet, but ...)

I'm just hoping the C will be more durable - but it's definitely not hand-solderable.

User avatar
Muirium
µ

13 Oct 2015, 22:34

Hopefully someone makes a C socket that is builder friendly. I expect they will. Because that connector is the first in the whole damn family to be smart enough to know how to find the arse end of a pair of trousers…

I haven't had any USB sockets or jacks fail on me quite yet. The cables are always the bit that's worn out on me, so far. But I must disagree about plugging/unplugging keyboards. My HHKB gets a few cycles of that every day I use it. Just about as much as I pop the iPhone in its dock. Larger boards get to hog the desk, but these little guys are made for moving!

User avatar
ne0phyte
Toast.

13 Oct 2015, 22:52

Guys please stop PMing me! If everyone who messaged me actually takes a PCB they would be all gone and I want to keep one or two :mrgreen:

I see there is quite some interest and I'm really curious how many orders teh group buy will get :D

User avatar
flabbergast

13 Oct 2015, 22:55

What did you expect? I mean with these cool photos, and no (6+1)bit wait....

User avatar
flabbergast

13 Oct 2015, 23:05

Rereading the thread, came across:
ne0phyte wrote: ... I used a through hole oscillator for now as it fits snugly on top of the PCB (towards the mount plate). I read that the 4 pin SMD oscillators are a bitch to solder so I may actually keep this instead of a surface mounted one.
There are (relatively small) SMD crystals with only 2 pads, made by abracon, see e.g. on mouser. These are not too bad to solder, I've used one on a project of mine - you can see the pads for it in the upper-left corner of this board.

Post Reply

Return to “Workshop”