Can we design the teensy alternative for keyboards?

Matt_

07 May 2016, 19:57

matt3o wrote: Totally agree with you @Matt_

Something like this (if feasible) would allow to position the board both close to the top and more recessed (and enough pins on both configs)

Image
I like this layout, but as flabbergast noted it's larger than what we were initially aiming for, so it may not fit under a spacebar for instance.

If we remove one column on the left, we may get closer to the initial dimensions and still keep enough pads (29).

I agree that traces with be a bit bunched up if everything is routed to the center section, but if you use only one column in the center you'll still have 24 pads to work with, which should give a bit of leeway and still be enough for most 60-ish% projects. Larger keyboards may have enough spare space to implement the controller with all its pads.

User avatar
matt3o
-[°_°]-

07 May 2016, 20:06

I don't know guys, let's just try not to overthink it. I agree that it should be small enough. I believe it is also possible to make it so it can be put over the switches with enough exposed pins. Unfortunately I can't work on kicad otherwise I would give it a spin.

Just FYI, the latest design I proposed is 38x17mm (+1.6mm USB island), so technically it would be within specifics :) and it fits under the spacebar by a whisker. But I'm sure you kicad geniuses could squeeze it even more :)

proof
Spoiler:
Image

Matt_

07 May 2016, 20:12

Well you're the one who sets the guidelines ;)

Honestly I'd rather have the controller on top of switches rather than under the spacebar (where there may not always be enough space because of multiple switch locations), so if the size and layout of your last version are acceptable, I'm all for it.

edit : and it still fits nicely under a regular spacebar, that's great.

User avatar
matt3o
-[°_°]-

07 May 2016, 20:17

also, if we make the pads with holes and castellated we could access ALL pins in any position you put the board

User avatar
flabbergast

07 May 2016, 20:19

I think we need to settle on a general design first (e.g. like the matt3o's above, or something else) - manual routing requires quite an effort and (primarily) time. And almost every change to the layout usually requires rerouting a substantial part of the board (certainly on the smaller boards where everything's just so). Mohit does an amazing job and seems to be able to route pretty much anything ;) but it still takes time.

For the above matt3o's design:
- I'm not sure that you can get 17mm - you have big pads along the edge and there's nothing that you can do about that (well except doing the half-pads). With the full pads it'd be 2.54 * 7 = 17.78mm.
- it would help tremendously with the routing if we'd ditch two pads from the middle column horizontally. The point is that with the dimensions we currently use, you can only have 2 traces (top and bottom) between the pads. We could make the pads a tad smaller to have 4 traces between, but not sure we want to do that (the area around the pads is also one of the more stressed ones, it gets often abused with beginner soldering).

User avatar
matt3o
-[°_°]-

07 May 2016, 20:24

flabbergast wrote: For the above matt3o's design:
- I'm not sure that you can get 17mm - you have big pads along the edge and there's nothing that you can do about that (well except doing the half-pads). With the full pads it'd be 2.54 * 7 = 17.78mm.
- it would help tremendously with the routing if we'd ditch two pads from the middle column horizontally. The point is that with the dimensions we currently use, you can only have 2 traces (top and bottom) between the pads. We could make the pads a tad smaller to have 4 traces between, but not sure we want to do that (the area around the pads is also one of the more stressed ones, it gets often abused with beginner soldering).
please don't take my design as an actual doable PCB, the circles just identify the area where you could put the pads, I don't know exactly how many you can fit there. If you need to remove a couple of pads from the middle, by all means do that. Also I did not include pads that could stay under the switches, but we can definitely have more pads there!

would be fantastic if you could work on an actual sketch with real dimensions (even without routing traces)

mohitgarg

07 May 2016, 20:39

With 14mil annular rings, and 6 mil traces with 6 mil spacing, we can fit 4 traces between two pads, two on either layers. Only one trace can be routed on either side when using 10mil traces for the power net. With some smart play, moving the pads on either side by 5 mil to free up 10mils, so that pins can still go through, we should be able to route one power trace and a standard trace.

User avatar
flabbergast

07 May 2016, 20:48

I'd much rather not make the pads smaller (currently 17mil rings I think), unless we really can't design the board in any other way. Of course we can make just the middle pads smaller, but...

mohitgarg

07 May 2016, 21:01

I've worked with 14mil rings for 0.1" headers, they seem fine. The infinity boards use a similar spec IIRC as well as being the default spec in the KiCAD packages.

Matt_

07 May 2016, 21:05

Here a quick mockup with no components, just to see if Matt3o's idea can work:

Image

I had to omit two pads on the top row (drawn in white) because the micro USB connector is too wide. Pads are .066 diameter, .035 hole. Easy enough to solder for newbies, and headers will fit.
Last edited by Matt_ on 07 May 2016, 21:15, edited 2 times in total.

User avatar
matt3o
-[°_°]-

07 May 2016, 21:13

mmh I believe I'm getting boner now :)

and don't forget we can add more pads in the middle to have all I/O covered

Matt_

07 May 2016, 21:16

This is just a quick mockup job, I trust mohitgarg and flabbergast to amend it with finer pad size and location (and remove whatever needs to be in the center pad column), but I think it can work.

edit : oh, and the best thing is that since it is a little wider, you can actually use pads from both the top and the bottom row, as it's the same spacing as the Teensy:

Image

That's 35 available pads, not counting those 8 from the columns in the center. So perhaps we can get rid of them partially and redistribute those pads where they'll be more convenient on the controller?

User avatar
matt3o
-[°_°]-

08 May 2016, 08:43

I hope 38.1mm actually works :) I need to make a test with a real device I guess.

Matt_

08 May 2016, 10:33

If we remove one pad from the bottom row we can shave it off slightly:

Image

Still 34 pads around the switches, which is more than enough for this configuration, and we can put the rest (for the remaining I/O lines) wherever it's convenient — I don't think we even need the central columns.

mohitgarg

08 May 2016, 11:13

There's a total of 41 pins required for same functionality as the current design

Matt_

08 May 2016, 11:21

I meant I don't think we necessarily need the extra pads to be arranged like this in the center, they can be placed wherever you think it's most convenient ;)

mohitgarg

08 May 2016, 11:55

Yeah, i'm thinking we can probably get rid of the center columns altogether to ease out the process of routing, have one more pad on the bottom row, and spread the remaining 6 required pins around the board. Given that these dimensions are larger than the previous board, it should in theory be easier to route and similar in layout to the current board, with some tweaks.

User avatar
matt3o
-[°_°]-

08 May 2016, 13:01

Matt_ wrote: If we remove one pad from the bottom row we can shave it off slightly:

Image
this would probably work without an issue

User avatar
flabbergast

08 May 2016, 13:04

Sounds pretty good to me. I'd probably keep a few pads in the middle (maybe the top two and let them be the D+/D- lines)?
I would still prefer that the power pins + 2 UART pins are on one of the sides. I know it some of those are actually not needed for this particular usage, but I really like the idea of hooking up add-on boards using just standard (right-angled) headers. {Unfortunately on the QFN package there are no pins that would have both UART and I2C, but would be probably good if some of the I2C go someplace nearby the power as well.}

mohitgarg

08 May 2016, 13:11

I think we can probably keep a very similar pin distribution to the current design, so that the pins required for addon wireless board, i2c, uart is on one side.

Matt_

08 May 2016, 13:35

flabbergast wrote: Sounds pretty good to me. I'd probably keep a few pads in the middle (maybe the top two and let them be the D+/D- lines)?
Yes, those two in the middle seem idally placed for the USB data lines.
flabbergast wrote: I would still prefer that the power pins + 2 UART pins are on one of the sides.
As it stands, there are 34 pads on the edge so if four of them are power & UART that means that 30 are I/Os, which should be largely enough. You could even use a few more of them for other specific connections if it makes further expansions more convenient. If "only" 26 pads are left for I/Os on the edge, that will still be much better than what a Teensy offers. And we can always use a few wires between the controller and the PCB if we reaaally need more I/Os on compact keyboards.


Pads on the longest edges are easier to access when laying traces on the leyboard PCB, so maybe it would be more convenient to put I/Os there in priority (perhaps power as well), and to distribute those special connections on the sides?

edit : alright, that was what mohitgarg suggested already :)

User avatar
matt3o
-[°_°]-

08 May 2016, 14:27

just a note since we are getting close, I need Gerber files and BOM to request a quote. The quote will includes a bunch of samples.

I'll work on the logo later today, any ideas?

Matt_

08 May 2016, 14:42

Something like this?

Image

Forget about the goofy name :D Not this shape specifically (I'll probably like to use it on my own PCBs, if I ever get to finish them) but something simple/geometric with a copper accent could work I think.

Or, since this is a concerted DT effort, why not a DT logo? I don't think that would be vanity, but it's open to discussion.

User avatar
matt3o
-[°_°]-

08 May 2016, 15:20

you mean I could have any shape in copper? that is interesting

mohitgarg

08 May 2016, 15:26

Yeah, just provide the svg, yellow part for copper, white for the silkscreen. Will however have to see how much space is available for the copper part. Probably can only place it on the back, like the nucleus logo I had on my first board.

Matt_

08 May 2016, 15:34

It just hit me that what you see is not actually copper, but ENIG plating. Depending on what finish you choose (ENIG or HASL) and how the fab assembles the board, it may turn... grey-ish instead, because during the assembly process all exposed copper is usually covered in solder.

Unless there a special "leave copper exposed" rule that can be taken advantage of, in which case it could work, but I have no idea if this is possible. That will depend on the fab you choose and the assembly process.

User avatar
flabbergast

08 May 2016, 16:04

You can have pics in the copper layer as well, just like bpiphany has. Those are cool (for say a logo), but not necessarily very well visible (so not for pin/part names, etc). BTW I would argue for ENIG in any case - I think it makes a difference in how long will the exposed pads remain usable without extra treatment (makes way more difference for SMT pads - which won't matter for us).

User avatar
matt3o
-[°_°]-

08 May 2016, 16:54

Was thinking something like this... with the heart in copper.
logo-1.svg.png
logo-1.svg.png (3.22 KiB) Viewed 4471 times
the controller is the heart of the keyboard, but it is also made with love :) I know, I'm a romantic...

Matt_

08 May 2016, 17:25

That looks great :D

Maybe I missed something, what does LF stand for?

User avatar
flabbergast

08 May 2016, 17:34

I think it's supposed to be 'elf' with the 'e' being a part of the IC. But it took me a while... ;)

EDIT: Forgot to say - yea I like the little IC (have been using a little IC like that on my own boards).
Last edited by flabbergast on 08 May 2016, 17:36, edited 1 time in total.

Post Reply

Return to “Workshop”