if we can find a way to make it work in both ways would be definitely better. Can you post the board exact dimensions? (usb island position, hole position, etc)mohitgarg wrote: ↑@flabbergast, yes, that is correct, however I think designing it with the intention of using it under the spacebar is by no means wrong, just wanted to make sure we were all on the same page in terms of feasible applications.
Can we design the teensy alternative for keyboards?
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
- flabbergast
- Location: Southampton, UK
- DT Pro Member: 0120
- Contact:
Once more about the staggered headers: the footprint that I used is from mchck. I have a spare unpopulated mchck PCB from OSH Park, and I just tried a row of pins - they are by no means absolutely tight, the pins wiggle very slightly. So I'd say these are on the 'safe' side (I haven't heard anyone complain about mchcks pins not fitting), which means that they'll probably not be completely tight. I think Matt_ is right, it is possible that the pins won't make proper electrical contact on insertion.
I personally don't mind the funky look and still think it's a plus, even if it doesn't work 100%
I personally don't mind the funky look and still think it's a plus, even if it doesn't work 100%
-
- Location: France
- Main keyboard: KBT Pure Pro
- Main mouse: G500
- Favorite switch: MX Red, MX Blue
- DT Pro Member: -
As long as they are not too tight, it's probably okay to keep them staggered. Best case, they work as intended (tight fit), worst case they're not different from regular pads (have to be soldered to make proper contact).
If we order a small batch for testing before making it more widely available, we'll see how that works and we'll be able to change that if needed anyway.
If we order a small batch for testing before making it more widely available, we'll see how that works and we'll be able to change that if needed anyway.
- chzel
- Location: Athens, Greece
- Main keyboard: Phantom
- Main mouse: Mionix Avior 7000
- Favorite switch: Beamspring, BS, Vintage Blacks.
- DT Pro Member: 0086
IIRC, the staggered pin idea started from sparkfun, so that their DIY kits would be easier to solder, with the header pins staying upright on their own making for easier alignment. They later made them available in their Eagle libraries.
They where never meant to provide reliable unsoldered connection.
Edit: found it!
They where never meant to provide reliable unsoldered connection.
Edit: found it!
- flabbergast
- Location: Southampton, UK
- DT Pro Member: 0120
- Contact:
Nice find - I knew it's originally from Sparkfun but didn't know about this article. Now I'm gravitating towards going back to the normal ones... Ah well.
-
- Location: France
- Main keyboard: KBT Pure Pro
- Main mouse: G500
- Favorite switch: MX Red, MX Blue
- DT Pro Member: -
Yes, this where it comes from. I've been using them for breakout boards in audio projects and they worked great (well, 50% of them worked great ). As you say they are not meant to replace a proper connector between two PCBs, but they're useful for prototyping, or for non-critical (read, non-commercial) applications.
Regarding this controller, as long as pad holes are properly sized... at worst, they'll be no different from regular pads. But I understand that one may prefer to scrape off the idea altogether.
Regarding this controller, as long as pad holes are properly sized... at worst, they'll be no different from regular pads. But I understand that one may prefer to scrape off the idea altogether.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
okay I seem to understand that the staggered pads are just vanity I'm okay at reverting them back to a straight path, but I leave the last word to flabbergast.
- flabbergast
- Location: Southampton, UK
- DT Pro Member: 0120
- Contact:
Yea, no worries. I remembered them being better than they really are - and now that Matt_ shared his experience (and now I also recall that bpiphany experimented with friction-insert pins for his replacement controllers as well, and also not entirely successfully) I'm fine with going for the normal ones. (And once more, apologies to Mohit. I'll owe you a beer!)
-
- Location: France
- Main keyboard: KBT Pure Pro
- Main mouse: G500
- Favorite switch: MX Red, MX Blue
- DT Pro Member: -
About that, here is a quick comparison between what a Teensy and mohitgarg's controller allow:flabbergast wrote: ↑If I read this right, Mohit is concerned that this can't be mounted on a PCB directly underneath a switch, like the Teensy or his original design could. This is a valid point; I thought that it's supposed to be mounted primarily underneath a spacebar.
I think if we want to make it mountable directly underneath a switch, a 'taller' board is much better (i.e. pretty much Teensy 2.0 dimensions).
All of the Teensy's pads are usable (if you can route tracks around the switches), but only 21 pads are comfortably usable (23 max) on the custom controller. That should be enough for a 60% board, and you can always run wires between the PCB and the controller if you need more.
I think this is acceptable (you probably can't design one controller that pleases everyone anyway), but it would be nice if those 21 pads were all connected to the MCU's I/Os (and not the USB lines and so on).
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
if you want to use the onboard USB you can use even less pads because the board has to be pushed closer to the top.
Honestly this is something I haven't thought about, but it's still pretty important. I believe it is worth exploring the possibility of making a design that could work in both scenarios.
Would it be possible to have an SVG of your schema, @Matt_?
Honestly this is something I haven't thought about, but it's still pretty important. I believe it is worth exploring the possibility of making a design that could work in both scenarios.
Would it be possible to have an SVG of your schema, @Matt_?
-
- Location: France
- Main keyboard: KBT Pure Pro
- Main mouse: G500
- Favorite switch: MX Red, MX Blue
- DT Pro Member: -
I placed both controllers on the top row, but as the Teensy needs a usb extension (and a properly placed USB connector on the main pcb), I figured it didn't matter if the custom controller did too (and you can place it one row lower so that the extension does not stick out from the back).
The schema is made with Eagle, it's actually a pretty messy .brd file. Let me see if I can clean that up and export to .svg.
The schema is made with Eagle, it's actually a pretty messy .brd file. Let me see if I can clean that up and export to .svg.
- vvp
- Main keyboard: Katy/K84CS
- Main mouse: symetric 5-buttons + wheel
- Favorite switch: Cherry MX
- DT Pro Member: -
Why do you want to have the edge of the USB socket aligned to the outside surface of the keyboard case. I also do not understand why some people think the USB peninsula is a good thing (except using the peninsula as a way to add space for the connector). If you sink in the USB socket a bit into the case then you have a slightly smaller chance that you break off the connector when pulling cable to a side; especially if your USB plug has a tight fit in its case cutout. If you make the case cutout for the plug too big (so that any USB cable can fit) you are still no worse then in the case when the USB socket is flush with the keyboard case.matt3o wrote: ↑... because the board has to be pushed closer to the top.
Actually if you want some robustness then you should sink in the whole USB plug into the case.
-
- Location: France
- Main keyboard: KBT Pure Pro
- Main mouse: G500
- Favorite switch: MX Red, MX Blue
- DT Pro Member: -
If we keep the same board size, we can at least have access to 27 pads if they are arranged as on the bottom example (I did not lay out the remaining pads):
http://reho.st/self/ed341ab8f7ad1eb0ccf ... 3d89e7.png
Export to .svg seems utterly unpractical with Eagle, but here is the .brd file if anyone wants to play with it (works with Eagle 6.4.0 Light and above): https://dl.dropboxusercontent.com/u/104 ... c_test.brd
http://reho.st/self/ed341ab8f7ad1eb0ccf ... 3d89e7.png
Export to .svg seems utterly unpractical with Eagle, but here is the .brd file if anyone wants to play with it (works with Eagle 6.4.0 Light and above): https://dl.dropboxusercontent.com/u/104 ... c_test.brd
Last edited by Matt_ on 07 May 2016, 17:46, edited 1 time in total.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
this would be my idea
texture is where we can put "accessible" pads
texture is where we can put "accessible" pads
-
- Location: France
- Main keyboard: KBT Pure Pro
- Main mouse: G500
- Favorite switch: MX Red, MX Blue
- DT Pro Member: -
One row of pads on the top, two columns in each space between switches? That could work. One thing to keep in mind is that routing traces to the row of pads on the top may be difficult (not that much space on the PCB), especially since the space around the switch in the middle is also filled with pads (which need their own traces too). This is why I kept the row of pads on the bottom.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
yeah it's not optimal but it exposes the USB port a little better to the top side. here below I've added the case in yellow (4mm thickness, which is the bare minimum). As you can see it's already pretty recessed
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
Probably better
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
please consider that we are talking "custom" keyboards here, 90% of the times you are probably dealing with "sandwich case", maybe 3d printed
-
- Location: France
- Main keyboard: KBT Pure Pro
- Main mouse: G500
- Favorite switch: MX Red, MX Blue
- DT Pro Member: -
Sure. That was just to show how it looks when the USB port is too far up.
But since this is aimed at custom builds, I'm not sure what would be the safest position for it to be compatible with the widest range of custom cases.
But since this is aimed at custom builds, I'm not sure what would be the safest position for it to be compatible with the widest range of custom cases.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
I guess, best case scenario you are reusing a CNC'd poker case, I don't think you could make it align with our board, so you would need to place the controlled inside the board anyway and route the USB pads.
but we could make the USB stick a little less if you think it is better (please provide visual proof )
but we could make the USB stick a little less if you think it is better (please provide visual proof )
- vvp
- Main keyboard: Katy/K84CS
- Main mouse: symetric 5-buttons + wheel
- Favorite switch: Cherry MX
- DT Pro Member: -
No visual proof needed. There is a practical reason why the connector should be as recessed as possible. The less the usb plug sticks out the smaller the chance a damaging force will be exerted on it.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
I'm pretty confident the current config is pretty robust, if one is really paranoid about USB fragility (which is totally understandable) he/she could add epoxy glue or put the controller inside the case and drive an extension cable.
-
- Location: France
- Main keyboard: KBT Pure Pro
- Main mouse: G500
- Favorite switch: MX Red, MX Blue
- DT Pro Member: -
To be fair, I don't think that USB placement matters that much. If it's located in a way that suits my project, fine; otherwise, I'll just design my pcb to accomodate its own USB port, with traces between it and the controller's USB pads (or a USB extension), which gives me much more flexibility than if I rely on the controller itself for USB (plus this allows me to use any kind of USB port — mini, micro or C).matt3o wrote: ↑but we could make the USB stick a little less if you think it is better (please provide visual proof )
Likewise, people who handwire their keyboard can use a USB breakout board and place it where they want, so they don't have to rely on the controller's USB. This, by the way, would put less stress on the controller itself, so we won't have to worry that much about making mounting holes fool-proof (they just need to be practical).
All that matters to me is that a sufficient number of pads are available if I want to mount the controller on top of switches (I don't expect all of the to be, Teensy-ish would be nice already). If there is a "best" way to place the USB port and we can do this without compromizing pad location, so much the better, but I think that the latter is much more critical than the former
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
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)
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)
- flabbergast
- Location: Southampton, UK
- DT Pro Member: 0120
- Contact:
I had the impression that most people (myself included) do not route out the USB to an extra connector on a basic handwired boards (reasons: cost, it's an extra layer of work that's not entirely necessary, practicality in actually buying the parts (they usually don't come from the places from which the other parts are obtained from)) and just place the controller board close to and edge and glue it there. Of course it's better for several reasons to actually do the work (Matt_ summarised them pretty well), but...
So I am for sticking the USB socket out a little. I don't think you can easily break off a 3mm x 5mm pad sticking out of a 1.6mm thick PCB (having cut some panelised PCBs in half, it wasn't that easy).
So I am for sticking the USB socket out a little. I don't think you can easily break off a 3mm x 5mm pad sticking out of a 1.6mm thick PCB (having cut some panelised PCBs in half, it wasn't that easy).
- flabbergast
- Location: Southampton, UK
- DT Pro Member: 0120
- Contact:
Ha! For me the challenge was to make the thing as small as possible...
{The only thing with this layout is that there's going to be many traces going between the middle pins...}
{The only thing with this layout is that there's going to be many traces going between the middle pins...}