Author Topic: The Living PCB Design Thread  (Read 382533 times)

0 Members and 1 Guest are viewing this topic.

Offline skullydazed

  • * Vendor
  • Posts: 307
  • Location: Bay Area, CA
  • Had to turn PM's off. Email info@clueboard.co!
    • Clueboard
Re: The Living PCB Design Thread
« Reply #250 on: Sat, 12 December 2015, 23:21:22 »
Can I get a bit of a sanity check? The PCB I'm working on at the moment is my first attempt to support both ANSI/ISO at the same time.
I'm connecting the alternate switches up like so:
Show Image

Show Image


Is this the way it's usually done? I don't have a decent multi-layout PCB design on hand for reference.
Still gotta work out where in the matrix I'm going to add the extra key that comes with a split backspace , but aside from these couple of things I'm just about done with the switches and can move onto the rest of the board, so any other general comments or pointing out of stupid things I've missed would be appreciated.

Show Image


I have seen the ISO enter in both orientations. On the fc660m and GON's PCB, for example, it's rotated like vertical keys would be. On WKL's boards it is oriented in the same way yours is. I haven't found a good reason to choose one orientation over the other.

Is there a reason you have the trace from ANSI enter's column to ISO enter's column running parallel to a trace on the same net? Normally I would have it join the column immediately and have only a single trace run vertically from that point.

Offline twiddle

  • Posts: 165
    • Portfolio
Re: The Living PCB Design Thread
« Reply #251 on: Sun, 13 December 2015, 03:18:47 »
Is there a reason you have the trace from ANSI enter's column to ISO enter's column running parallel to a trace on the same net? Normally I would have it join the column immediately and have only a single trace run vertically from that point.
I'm not altogether sure what you're meaning by 'join the column immediately' - If you look at the other picture, showing the left shift, the way I handled it there was to simply run the column through the standard key, then connect the corresponding pins of the variant switches in series with each other. It's a T junction of sorts, with the column being the cross bar and the variant keys arranged along the line that is perpendicular to it, if that makes sense.
I've done the same with the return key, but given the hole in the PCB for the centre of the ISORETN switch I had to route the trace around it rather than it simply flowing to the right like on the shift image.
Are you suggesting that I do away with the trace between ISORETN and UP, and simply route ISORETN->RETN->UP like the following?


Offline skullydazed

  • * Vendor
  • Posts: 307
  • Location: Bay Area, CA
  • Had to turn PM's off. Email info@clueboard.co!
    • Clueboard
Re: The Living PCB Design Thread
« Reply #252 on: Sun, 13 December 2015, 05:39:36 »
Is there a reason you have the trace from ANSI enter's column to ISO enter's column running parallel to a trace on the same net? Normally I would have it join the column immediately and have only a single trace run vertically from that point.
I'm not altogether sure what you're meaning by 'join the column immediately' - If you look at the other picture, showing the left shift, the way I handled it there was to simply run the column through the standard key, then connect the corresponding pins of the variant switches in series with each other. It's a T junction of sorts, with the column being the cross bar and the variant keys arranged along the line that is perpendicular to it, if that makes sense.
I've done the same with the return key, but given the hole in the PCB for the centre of the ISORETN switch I had to route the trace around it rather than it simply flowing to the right like on the shift image.
Are you suggesting that I do away with the trace between ISORETN and UP, and simply route ISORETN->RETN->UP like the following?

Show Image


What you've done is one possible solution, although not exactly what I was suggesting. I was suggesting you join the two traces into one at the location I'm pointing to here, rather than have 2 traces for the same net running parallel to one another.



Any of the 3 configurations will work just fine for this application, but the second two are cleaner looking than your initial attempt.

Offline martin525622

  • Posts: 21
  • Location: slovakia
Re: The Living PCB Design Thread
« Reply #253 on: Sun, 13 December 2015, 06:20:43 »
Hello i would need help with designing a onboard 32u4 controller but the hard side my project should be single sidet  so there come some hickups

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: The Living PCB Design Thread
« Reply #254 on: Sun, 13 December 2015, 11:51:41 »
How thin are those traces anyway. They look very thin to me. The board manufacturer would probably question your sanity over that hole overlapping the pad like that. But if that is what you want you may be able to talk them into doing it for you =)

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: The Living PCB Design Thread
« Reply #255 on: Sun, 13 December 2015, 11:53:25 »
Hello i would need help with designing a onboard 32u4 controller but the hard side my project should be single sidet  so there come some hickups

Are you etching yourself? Double sided boards aren't much more expensive otherwise, are they? You'll just need to add some jumpers to get signals to where you need them. Drawing a matrix on a single sided board doesn't usually come very easy either...

Offline martin525622

  • Posts: 21
  • Location: slovakia
Re: The Living PCB Design Thread
« Reply #256 on: Sun, 13 December 2015, 13:09:14 »
My teacher in electronics class is making my pcbs :) he is ok with that so no problemo i could push a onboard controller  in like 2 dqts got q lot if learning :D

Offline skullydazed

  • * Vendor
  • Posts: 307
  • Location: Bay Area, CA
  • Had to turn PM's off. Email info@clueboard.co!
    • Clueboard
Re: The Living PCB Design Thread
« Reply #257 on: Sun, 13 December 2015, 13:35:48 »
How thin are those traces anyway. They look very thin to me. The board manufacturer would probably question your sanity over that hole overlapping the pad like that. But if that is what you want you may be able to talk them into doing it for you =)

My fabricator may question my sanity, but if they do they've never said anything to me about it. ;) This is the swiss cheese you'll find on the clueboard in that area:



As you can see one of the mount pins for ISO enter is completely within the alps pad for backslash. I've had that configuration on boards from several fab houses and all of them made the board without complaint. And yes, the backslash switch works great even with that chunk missing.

Offline twiddle

  • Posts: 165
    • Portfolio
Re: The Living PCB Design Thread
« Reply #258 on: Sun, 13 December 2015, 14:48:52 »
How thin are those traces anyway. They look very thin to me. The board manufacturer would probably question your sanity over that hole overlapping the pad like that. But if that is what you want you may be able to talk them into doing it for you =)
Pretty sure some of the SPRiT boards have holes and pads overlapping like that.
As far as the traces go, they are 6mil trace/space. I use the following diagram from my fab (Smart-Prototyping):


They work fine on all the prototypes I've done so far.

As far as supporting the split spacebar goes, I'm thinking of simply placing the extra key at the top of one of the columns above the spacebar that only have 4 keys. Any other suggestions people have?

Offline qwack

  • Posts: 310
  • Location: ISO FR
Re: The Living PCB Design Thread
« Reply #259 on: Sun, 13 December 2015, 14:57:53 »
A lot of PCBs that allows several bottom row configurations feature overlapping pads and drilled pads, e.g. the GH60 or the Whitefox, so some fabs can definitely do that, but some explicitely warn against it (itead for instance).

As for trace width/spacing, it's usually better (read: safer) to go with wider traces — there is no need to stick to the fab's absolute minima if your pcb can accomodate wider traces.

Pure Pro w/MX Red - [review]

Offline twiddle

  • Posts: 165
    • Portfolio
Re: The Living PCB Design Thread
« Reply #260 on: Sun, 13 December 2015, 15:07:09 »
As for trace width/spacing, it's usually better (read: safer) to go with wider traces — there is no need to stick to the fab's absolute minima if your pcb can accomodate wider traces.

Agreed. I used to have them wider, but then got lazy and just leave them at 6, and change the power traces to be thicker.

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: The Living PCB Design Thread
« Reply #261 on: Mon, 14 December 2015, 06:59:58 »
If you can't do it with 30 mil you are doing it wrong ;-) And I know all about overlapping... Gave up on PCB mount rubbish long ago =P

120044-0

Offline qwack

  • Posts: 310
  • Location: ISO FR
Re: The Living PCB Design Thread
« Reply #262 on: Mon, 14 December 2015, 07:47:27 »
Can you fit a LED matrix with 30 mil traces as well? ;D

Pure Pro w/MX Red - [review]

Offline mrbishop

  • * Maker
  • Posts: 799
  • Location: South Carolina USA
  • Evil Genius
    • Bishop Computer Design web
Re: The Living PCB Design Thread
« Reply #263 on: Mon, 14 December 2015, 07:51:44 »
is there a good way to place switch footprints to a DXF plate of a keyboard in KiCad? i'm ding it by hand at the moment and boy is that painful. i as to ensure precise placement of the switches. and for time's sake.
Projects
Build to give back, 40% | Alps/Matias Removal ToolUltraHack 67% Hackdura  | ErgoDox case
                             
    

Offline joey

  • Posts: 2296
  • Location: UK
Re: The Living PCB Design Thread
« Reply #264 on: Mon, 14 December 2015, 07:56:10 »
If you can't do it with 30 mil you are doing it wrong ;-) And I know all about overlapping... Gave up on PCB mount rubbish long ago =P

(Attachment Link)
Wow, that's a lot of switches next to each other!

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: The Living PCB Design Thread
« Reply #265 on: Mon, 14 December 2015, 08:02:16 »
is there a good way to place switch footprints to a DXF plate of a keyboard in KiCad? i'm ding it by hand at the moment and boy is that painful. i as to ensure precise placement of the switches. and for time's sake.

I usually set the grid to 0.75" divided by 8 or 16, that is 0.09375" or 0.046875". Then you can use 's' to snap the grid origin to wherever you want. Activate the trace tool and hover over the central pad for a switch. The tool will "magnetically" snap to that pad. Hit 's' and set the origin there. Then you can use the 0.09375" grid to place components correctly.

Or you script it some way... The KiCAD file formats are quite scriptable.

Offline mrbishop

  • * Maker
  • Posts: 799
  • Location: South Carolina USA
  • Evil Genius
    • Bishop Computer Design web
Re: The Living PCB Design Thread
« Reply #266 on: Mon, 14 December 2015, 08:04:41 »
is there a good way to place switch footprints to a DXF plate of a keyboard in KiCad? i'm ding it by hand at the moment and boy is that painful. i as to ensure precise placement of the switches. and for time's sake.

I usually set the grid to 0.75" divided by 8 or 16, that is 0.09375" or 0.046875". Then you can use 's' to snap the grid origin to wherever you want. Activate the trace tool and hover over the central pad for a switch. The tool will "magnetically" snap to that pad. Hit 's' and set the origin there. Then you can use the 0.09375" grid to place components correctly.

Or you script it some way... The KiCAD file formats are quite scriptable.

thanks i'll give that a try. doing it by hand is painful. it works but one of my upcoming projects is a 108 key. and doing that by hand would make me want to chop off my fingers and give up on keyboards LOL
Projects
Build to give back, 40% | Alps/Matias Removal ToolUltraHack 67% Hackdura  | ErgoDox case
                             
    

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: The Living PCB Design Thread
« Reply #267 on: Mon, 14 December 2015, 08:06:13 »
If you can't do it with 30 mil you are doing it wrong ;-) And I know all about overlapping... Gave up on PCB mount rubbish long ago =P

(Attachment Link)
Wow, that's a lot of switches next to each other!

Yeah =) And pcbwing didn't even say anything about it this time around. It should be delivered any day now, and we'll see how messed up it gets... Poetically the board ended up on exactly 1001 drill holes =D

Offline joey

  • Posts: 2296
  • Location: UK
Re: The Living PCB Design Thread
« Reply #268 on: Mon, 14 December 2015, 08:09:18 »
Care to show us what its going to be? :)

Offline twiddle

  • Posts: 165
    • Portfolio
Re: The Living PCB Design Thread
« Reply #269 on: Mon, 14 December 2015, 11:45:12 »
If you can't do it with 30 mil you are doing it wrong ;-) And I know all about overlapping... Gave up on PCB mount rubbish long ago =P
For the matrix, sure.. but no MCU I've ever routed could have 30 mil traces connected to adjacent pins, the pitch is way too small, and the amount of necking needed to make it work would defeat the purpose. It's only going to get worse, too, some ICs I've been using on non-keyboard projects are now only available in 3mm x3mm LGA  :eek:
Like I said, I usually just get lazy and only set up two net classes, power and signal.

Offline skullydazed

  • * Vendor
  • Posts: 307
  • Location: Bay Area, CA
  • Had to turn PM's off. Email info@clueboard.co!
    • Clueboard
Re: The Living PCB Design Thread
« Reply #270 on: Mon, 14 December 2015, 13:06:34 »
is there a good way to place switch footprints to a DXF plate of a keyboard in KiCad? i'm ding it by hand at the moment and boy is that painful. i as to ensure precise placement of the switches. and for time's sake.

I usually set the grid to 0.75" divided by 8 or 16, that is 0.09375" or 0.046875". Then you can use 's' to snap the grid origin to wherever you want. Activate the trace tool and hover over the central pad for a switch. The tool will "magnetically" snap to that pad. Hit 's' and set the origin there. Then you can use the 0.09375" grid to place components correctly.

Or you script it some way... The KiCAD file formats are quite scriptable.

thanks i'll give that a try. doing it by hand is painful. it works but one of my upcoming projects is a 108 key. and doing that by hand would make me want to chop off my fingers and give up on keyboards LOL

That's the entire reason I wrote a tool to lay those out for me in EAGLE. Doesn't help those of you using KiCAD, but maybe someday someone will write a similar tool for that.

Offline mrbishop

  • * Maker
  • Posts: 799
  • Location: South Carolina USA
  • Evil Genius
    • Bishop Computer Design web
Re: The Living PCB Design Thread
« Reply #271 on: Mon, 14 December 2015, 13:18:49 »
is there a good way to place switch footprints to a DXF plate of a keyboard in KiCad? i'm ding it by hand at the moment and boy is that painful. i as to ensure precise placement of the switches. and for time's sake.

I usually set the grid to 0.75" divided by 8 or 16, that is 0.09375" or 0.046875". Then you can use 's' to snap the grid origin to wherever you want. Activate the trace tool and hover over the central pad for a switch. The tool will "magnetically" snap to that pad. Hit 's' and set the origin there. Then you can use the 0.09375" grid to place components correctly.

Or you script it some way... The KiCAD file formats are quite scriptable.

thanks i'll give that a try. doing it by hand is painful. it works but one of my upcoming projects is a 108 key. and doing that by hand would make me want to chop off my fingers and give up on keyboards LOL

That's the entire reason I wrote a tool to lay those out for me in EAGLE. Doesn't help those of you using KiCAD, but maybe someday someone will write a similar tool for that.

Thats pretty BA my friend. i can't wait to get my engraving bits and copper clad plate in and start me some milling ;)
Projects
Build to give back, 40% | Alps/Matias Removal ToolUltraHack 67% Hackdura  | ErgoDox case
                             
    

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: The Living PCB Design Thread
« Reply #272 on: Mon, 14 December 2015, 15:20:27 »
I actually sort of scripted my last design. I made a matrix with all "nodes" populated in the schematic. Then I made a single footprint with twice the number of pads in relation to switches. So column 0, row A, in the matrix is labeled with pads 0 and 2, column 1, row A with pads 2 and 3, and so on. If a switch has multiple possible locations, the pad numbers are just re-used. That works fine in KiCad at least. I then calculate where all pads go. That way I didn't need to place ~200 switch footprints, and it's also not possible to accidentally move them around.

A hundred switches or so really aren't that bad to place by hand. Routing them up is much more time consuming anyway. At least to me...

Offline joey

  • Posts: 2296
  • Location: UK
Re: The Living PCB Design Thread
« Reply #273 on: Mon, 14 December 2015, 15:24:49 »
I didn't quite get your last explanation..

Offline mrbishop

  • * Maker
  • Posts: 799
  • Location: South Carolina USA
  • Evil Genius
    • Bishop Computer Design web
Re: The Living PCB Design Thread
« Reply #274 on: Mon, 14 December 2015, 15:25:26 »
I actually sort of scripted my last design. I made a matrix with all "nodes" populated in the schematic. Then I made a single footprint with twice the number of pads in relation to switches. So column 0, row A, in the matrix is labeled with pads 0 and 2, column 1, row A with pads 2 and 3, and so on. If a switch has multiple possible locations, the pad numbers are just re-used. That works fine in KiCad at least. I then calculate where all pads go. That way I didn't need to place ~200 switch footprints, and it's also not possible to accidentally move them around.

A hundred switches or so really aren't that bad to place by hand. Routing them up is much more time consuming anyway. At least to me...
Alright I'll send you my footprint then lol
Projects
Build to give back, 40% | Alps/Matias Removal ToolUltraHack 67% Hackdura  | ErgoDox case
                             
    

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: The Living PCB Design Thread
« Reply #275 on: Tue, 15 December 2015, 01:51:02 »
I didn't quite get your last explanation..

In short, the whole keyboard is a single monster footprint with almost 400 pads. It's much harder to accidentally move anything around, and it seemed easier to script on the footprint than meddling with the board file. This of course requires the schematic to consist of a single corresponding monster component with a similar number of pads, well actually 24x8x2=384. There are of course a lot of gaps in that matrix, and there is a many to one relation between footprint pads and component pins. And a lot of unused diodes. I kept them separated from the switch matrix since I wanted to be able to move them around by hand. So I probably placed 200 switch footprints by script, and 110 or so diodes by hand before/while routing.

Offline iss

  • Posts: 82
Re: The Living PCB Design Thread
« Reply #276 on: Fri, 18 December 2015, 14:58:35 »
I've got a couple questions on using a secondary IC. I'm planning on using an atmega32u4 to drive my matrix and then adding an atmega328p to drive some WS2812Bs. Is it possible to program both chips without external tools? Here's what I was planning:

With MOSI, MISO, SCK, reset, power/ground, and RX/TX pins connected between the two,

1) Use the DFU bootloader on the 32u4 to upload code turning it into an AVR ISP.
2) With the above, burn a bootloader onto the 328p, then upload LED control code.
3) Upload TMK/etc to the 32u4.

Offline iss

  • Posts: 82
Re: The Living PCB Design Thread
« Reply #277 on: Sun, 20 December 2015, 15:42:23 »
.
« Last Edit: Mon, 11 January 2016, 17:52:29 by iss »

Offline VinnyCordeiro

  • Posts: 432
Re: The Living PCB Design Thread
« Reply #278 on: Sun, 20 December 2015, 18:23:08 »
I've got a couple questions on using a secondary IC. I'm planning on using an atmega32u4 to drive my matrix and then adding an atmega328p to drive some WS2812Bs. Is it possible to program both chips without external tools? Here's what I was planning:

With MOSI, MISO, SCK, reset, power/ground, and RX/TX pins connected between the two,

1) Use the DFU bootloader on the 32u4 to upload code turning it into an AVR ISP.
2) With the above, burn a bootloader onto the 328p, then upload LED control code.
3) Upload TMK/etc to the 32u4.
Why complicate something simple? You can use a LED driver for that. The IS31FL3731 IC is used by Ergodox Infinity and can be controlled through I2C. Example: http://imgur.com/a/FbJg9 (the guy didn't released his code, though. :( )

Offline iss

  • Posts: 82
Re: The Living PCB Design Thread
« Reply #279 on: Sun, 20 December 2015, 18:59:06 »
Why complicate something simple? You can use a LED driver for that. The IS31FL3731 IC is used by Ergodox Infinity and can be controlled through I2C. Example: http://imgur.com/a/FbJg9 (the guy didn't released his code, though. :( )

Correct me if I'm wrong, but the IS3FL3731 can only drive typical LEDs, right? Only RGB LEDs literally composed of three LEDs (like the 5060BRG4 he used) would work, and that'd require 60*3=180 LEDs, too many for the IC.

Offline VinnyCordeiro

  • Posts: 432
Re: The Living PCB Design Thread
« Reply #280 on: Sun, 20 December 2015, 19:32:23 »
Why complicate something simple? You can use a LED driver for that. The IS31FL3731 IC is used by Ergodox Infinity and can be controlled through I2C. Example: http://imgur.com/a/FbJg9 (the guy didn't released his code, though. :( )

Correct me if I'm wrong, but the IS3FL3731 can only drive typical LEDs, right? Only RGB LEDs literally composed of three LEDs (like the 5060BRG4 he used) would work, and that'd require 60*3=180 LEDs, too many for the IC.
This IC can handle up to 144 individual LEDs or 32 RGB LEDs + 48 not-red LEDs. You would need 2 of them to light all the keys of a typical 60% keyboard with RGB LEDs.

Offline iss

  • Posts: 82
Re: The Living PCB Design Thread
« Reply #281 on: Sun, 20 December 2015, 20:34:30 »
Hmm, didn't know that- thanks for the help. How should the matrix be wired? Do the differing voltage drops make a difference for constant current drivers?

Offline VinnyCordeiro

  • Posts: 432
Re: The Living PCB Design Thread
« Reply #282 on: Sun, 20 December 2015, 20:45:07 »
Hmm, didn't know that- thanks for the help. How should the matrix be wired? Do the differing voltage drops make a difference for constant current drivers?
You'll need to look the datasheet for that: http://www.issi.com/WW/pdf/31FL3731.pdf

Offline mrbishop

  • * Maker
  • Posts: 799
  • Location: South Carolina USA
  • Evil Genius
    • Bishop Computer Design web
Re: The Living PCB Design Thread
« Reply #283 on: Tue, 22 December 2015, 10:24:26 »
anyone have any sources for really big 2 sided copper clad plates for pcb etching/engraving ??? i'm talking 18inx6in

i need materials so i can start prototyping PCB's and finding the big boys is somewhat of a challenge.

thanks!

Edit: i found a company in the US (MN ) that i'll likely be ordering from since they have MASSIVE sheets of the stuff.  link below to help anyone looking.

http://www.digikey.com/classic/Ordering/AddPart.aspx
« Last Edit: Tue, 22 December 2015, 10:49:25 by mrbishop »
Projects
Build to give back, 40% | Alps/Matias Removal ToolUltraHack 67% Hackdura  | ErgoDox case
                             
    

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: The Living PCB Design Thread
« Reply #284 on: Wed, 23 December 2015, 09:29:57 »
Care to show us what its going to be? :)

Actually, Santa came early =)

A full size board, that is expected to fit a number of Costar cases, both full size and TKL. It supports a range of different regular layouts as well as a bunch of symmetric ones. The matrix is 6 rows by 22 columns.
121332-0

It will be controlled by this daughter board. It's a Frosty Flake on steroids. It should work as a Flake as well (with some of the pins clipped). A Frosty Flake should also be able to control just the TKL parts of the Sane Matrix.
121334-1

I haven't had time to test anything yet...
« Last Edit: Wed, 23 December 2015, 09:33:47 by bpiphany »

Offline mrbishop

  • * Maker
  • Posts: 799
  • Location: South Carolina USA
  • Evil Genius
    • Bishop Computer Design web
Re: The Living PCB Design Thread
« Reply #285 on: Wed, 23 December 2015, 09:31:16 »
Care to show us what its going to be? :)

Actually, Santa came early =)

A full size board, that is expected to fit a number of Costar cases, both full size and TKL. It supports a range of different regular layouts as well as a bunch of symmetric ones.
(Attachment Link)

It will be controlled by this daughter board.
(Attachment Link)

I haven't had time to test anything yet...

thats glorious. i'm working up towards something like that!
very awesome
Projects
Build to give back, 40% | Alps/Matias Removal ToolUltraHack 67% Hackdura  | ErgoDox case
                             
    

Offline mrbishop

  • * Maker
  • Posts: 799
  • Location: South Carolina USA
  • Evil Genius
    • Bishop Computer Design web
Re: The Living PCB Design Thread
« Reply #286 on: Tue, 05 January 2016, 08:32:43 »
anyone familiar with FlatCAM especially work flow from KiCAD to FlatCAM? i have it working mostly. just trying to get a better understanding to ensure my cuts are highly accurate.
Projects
Build to give back, 40% | Alps/Matias Removal ToolUltraHack 67% Hackdura  | ErgoDox case
                             
    

Offline qwack

  • Posts: 310
  • Location: ISO FR
Re: The Living PCB Design Thread
« Reply #287 on: Tue, 09 February 2016, 16:44:34 »
I'd like to implement a Teensy on my board but I am not sure how to handle the USB port. The simplest way would be to do it like on the Ergodox:

127666-0

But I read that USB data lines have to be routed as a differential pair, so I am not sure whether wiring it like this would be a safe choice or not. Should I expect problems with this way or wiring the USB port?

Pure Pro w/MX Red - [review]

Offline joey

  • Posts: 2296
  • Location: UK
Re: The Living PCB Design Thread
« Reply #288 on: Tue, 09 February 2016, 17:07:22 »
I'd like to implement a Teensy on my board but I am not sure how to handle the USB port. The simplest way would be to do it like on the Ergodox:

(Attachment Link)

But I read that USB data lines have to be routed as a differential pair, so I am not sure whether wiring it like this would be a safe choice or not. Should I expect problems with this way or wiring the USB port?
Well... It works for the ergodox!

Offline mrbishop

  • * Maker
  • Posts: 799
  • Location: South Carolina USA
  • Evil Genius
    • Bishop Computer Design web
Re: The Living PCB Design Thread
« Reply #289 on: Tue, 09 February 2016, 17:09:02 »
Jd40 smallfry has a similar USB header hop
Projects
Build to give back, 40% | Alps/Matias Removal ToolUltraHack 67% Hackdura  | ErgoDox case
                             
    

Offline qwack

  • Posts: 310
  • Location: ISO FR
Re: The Living PCB Design Thread
« Reply #290 on: Wed, 10 February 2016, 06:33:26 »
Well... It works for the ergodox!

I was wondering if there had been any reports of problems with the Ergodox's USB connection, but a quick search didn't return anything. So I guess it's good enough indeed!

Jd40 smallfry has a similar USB header hop

True, and other prototype boards as well. If the cable is cut and soldered properly, maybe it's not that different from the internal USB cable on many keyboards (here for instance).

Pure Pro w/MX Red - [review]

Offline mrbishop

  • * Maker
  • Posts: 799
  • Location: South Carolina USA
  • Evil Genius
    • Bishop Computer Design web
Re: The Living PCB Design Thread
« Reply #291 on: Wed, 10 February 2016, 07:11:50 »
More
Well... It works for the ergodox!

I was wondering if there had been any reports of problems with the Ergodox's USB connection, but a quick search didn't return anything. So I guess it's good enough indeed!

Jd40 smallfry has a similar USB header hop

True, and other prototype boards as well. If the cable is cut and soldered properly, maybe it's not that different from the internal USB cable on many keyboards (here for instance).

it boils down to how much space you need under the PCB from an engineering standpoint. if you have a cavernous amount of space then it doesn't really matter. if your trying to get the thinnest thing possible then that extra 5-6mm the teensy and USB male header takes up becomes an annoyance. i'm dealing with that in a project now for my "build to give back" its not a HUGE deal as my material is thick enough to take the extra pocket i have to cut into account. dont get me wrong the JD40 smallfry PCB is really excellent. i'm only now starting PCB design. daughter boards such as the teensy are handy as it makes PCB creation and assembly easy. but long term a built in ATMega or similar controller would be great. i use the JD40 as an example as ive been studying it as i assemble my build. its always nice to have something in hand to look at.
back to your comment. the teensy seems to have some pad headers underneath it that could possibly be directly soldered onto the PCB eliminating the female USB plug. but its underneath the teensy so soldering it would require a heat gun or a solder re-flow station. also if it was me i'm not sure i'd like that solution as i couldn't be 100% sure i had the pads soldered correctly as it would be covered. making troubleshooting a nightmare.

food for thought.
Projects
Build to give back, 40% | Alps/Matias Removal ToolUltraHack 67% Hackdura  | ErgoDox case
                             
    

Offline qwack

  • Posts: 310
  • Location: ISO FR
Re: The Living PCB Design Thread
« Reply #292 on: Wed, 10 February 2016, 07:45:30 »
Yeah, I'm still debating whether to use a Teensy or implement the atmega chip on the pcb. I'll be making a very thin case (the project is here) but the keyboard will sit at a 7° angle so there will be room for the bulky Teensy+USB cable. The onboard chip would be more elegant and less costly should I build several of them, but I already have a few Teensies on hand and this is my first keyboard PCB so I'd rather go one step at a time.

I don't think the Teensy 2.0 has pads on the bottom of the board for the USB lines, only the 3.x and LC have them (unless I'm mistaken). And as you stated, it might not be the safest choice.

Also, I just saw that Teensies always communicate at Full Speed (12 Mbit/s), so trace impedance and such are no issue in this case. So I'll do it the Ergodox way this time. Thanks for all the answers guys!

Pure Pro w/MX Red - [review]

Offline mrbishop

  • * Maker
  • Posts: 799
  • Location: South Carolina USA
  • Evil Genius
    • Bishop Computer Design web
Re: The Living PCB Design Thread
« Reply #293 on: Wed, 10 February 2016, 07:47:51 »
Yeah, I'm still debating whether to use a Teensy or implement the atmega chip on the pcb. I'll be making a very thin case (the project is here) but the keyboard will sit at a 7° angle so there will be room for the bulky Teensy+USB cable. The onboard chip would be more elegant and less costly should I build several of them, but I already have a few Teensies on hand and this is my first keyboard PCB so I'd rather go one step at a time.

I don't think the Teensy 2.0 has pads on the bottom of the board for the USB lines, only the 3.x and LC have them (unless I'm mistaken). And as you stated, it might not be the safest choice.

Also, I just saw that Teensies always communicate at Full Speed (12 Mbit/s), so trace impedance and such are no issue in this case. So I'll do it the Ergodox way this time. Thanks for all the answers guys!

love wood cases. ive been making afew myself. ;)
Projects
Build to give back, 40% | Alps/Matias Removal ToolUltraHack 67% Hackdura  | ErgoDox case
                             
    

Offline regack

  • Posts: 660
  • Location: Thessia
Re: The Living PCB Design Thread
« Reply #294 on: Wed, 10 February 2016, 11:57:03 »
it boils down to how much space you need under the PCB from an engineering standpoint. if you have a cavernous amount of space then it doesn't really matter. if your trying to get the thinnest thing possible then that extra 5-6mm the teensy and USB male header takes up becomes an annoyance. i'm dealing with that in a project now for my "build to give back" its not a HUGE deal as my material is thick enough to take the extra pocket i have to cut into account. dont get me wrong the JD40 smallfry PCB is really excellent. i'm only now starting PCB design. daughter boards such as the teensy are handy as it makes PCB creation and assembly easy. but long term a built in ATMega or similar controller would be great. i use the JD40 as an example as ive been studying it as i assemble my build. its always nice to have something in hand to look at.
back to your comment. the teensy seems to have some pad headers underneath it that could possibly be directly soldered onto the PCB eliminating the female USB plug. but its underneath the teensy so soldering it would require a heat gun or a solder re-flow station. also if it was me i'm not sure i'd like that solution as i couldn't be 100% sure i had the pads soldered correctly as it would be covered. making troubleshooting a nightmare.

food for thought.

I don't believe the pads on the bottom break out the USB data lines.  The Teensy would really be made better for general keyboard use if the USB D+/D- were broken out into pins, eliminating the need for the need for that USB jumper.   I suppose you could remove the USB connector and try to solder directly to the 5 little pads at the base of it but that would be pretty fiddly.

At one point I made this thing:

...which is an ATMEGA32U4 + MCP23018 with that .5 pitch low-profile interconnect.  I made a breakout board for it which provided every single ATMEGA IO line, but in the end (even though it worked) I just abandoned it in favor of building everything on the PCB itself. 

Twiddle, both here on Geekhack and over on DT has some nice alternate controller ideas for the future going. 

It really wouldn't take very long to design a quick replacement for the Teensy that could be a lot better for daughterboard cases like the JD40 or original ErgoDox - the problem is who would front the cost of the first production run - and who is going to continue to have them made and hold stock? 

Sorry, I got kind of distracted and started rambling.

Offline mrbishop

  • * Maker
  • Posts: 799
  • Location: South Carolina USA
  • Evil Genius
    • Bishop Computer Design web
Re: The Living PCB Design Thread
« Reply #295 on: Wed, 10 February 2016, 12:17:27 »
it boils down to how much space you need under the PCB from an engineering standpoint. if you have a cavernous amount of space then it doesn't really matter. if your trying to get the thinnest thing possible then that extra 5-6mm the teensy and USB male header takes up becomes an annoyance. i'm dealing with that in a project now for my "build to give back" its not a HUGE deal as my material is thick enough to take the extra pocket i have to cut into account. dont get me wrong the JD40 smallfry PCB is really excellent. i'm only now starting PCB design. daughter boards such as the teensy are handy as it makes PCB creation and assembly easy. but long term a built in ATMega or similar controller would be great. i use the JD40 as an example as ive been studying it as i assemble my build. its always nice to have something in hand to look at.
back to your comment. the teensy seems to have some pad headers underneath it that could possibly be directly soldered onto the PCB eliminating the female USB plug. but its underneath the teensy so soldering it would require a heat gun or a solder re-flow station. also if it was me i'm not sure i'd like that solution as i couldn't be 100% sure i had the pads soldered correctly as it would be covered. making troubleshooting a nightmare.

food for thought.

I don't believe the pads on the bottom break out the USB data lines.  The Teensy would really be made better for general keyboard use if the USB D+/D- were broken out into pins, eliminating the need for the need for that USB jumper.   I suppose you could remove the USB connector and try to solder directly to the 5 little pads at the base of it but that would be pretty fiddly.

At one point I made this thing:
Show Image

...which is an ATMEGA32U4 + MCP23018 with that .5 pitch low-profile interconnect.  I made a breakout board for it which provided every single ATMEGA IO line, but in the end (even though it worked) I just abandoned it in favor of building everything on the PCB itself. 

Twiddle, both here on Geekhack and over on DT has some nice alternate controller ideas for the future going. 

It really wouldn't take very long to design a quick replacement for the Teensy that could be a lot better for daughterboard cases like the JD40 or original ErgoDox - the problem is who would front the cost of the first production run - and who is going to continue to have them made and hold stock? 

Sorry, I got kind of distracted and started rambling.

thats awesome!
Projects
Build to give back, 40% | Alps/Matias Removal ToolUltraHack 67% Hackdura  | ErgoDox case
                             
    

Offline MOZ

  • KING OF THE NEWBIES
  • * Maker
  • Posts: 3981
  • Location: Jo'burg
  • Busy making stuff
Re: The Living PCB Design Thread
« Reply #296 on: Wed, 10 February 2016, 12:40:56 »
it boils down to how much space you need under the PCB from an engineering standpoint. if you have a cavernous amount of space then it doesn't really matter. if your trying to get the thinnest thing possible then that extra 5-6mm the teensy and USB male header takes up becomes an annoyance. i'm dealing with that in a project now for my "build to give back" its not a HUGE deal as my material is thick enough to take the extra pocket i have to cut into account. dont get me wrong the JD40 smallfry PCB is really excellent. i'm only now starting PCB design. daughter boards such as the teensy are handy as it makes PCB creation and assembly easy. but long term a built in ATMega or similar controller would be great. i use the JD40 as an example as ive been studying it as i assemble my build. its always nice to have something in hand to look at.
back to your comment. the teensy seems to have some pad headers underneath it that could possibly be directly soldered onto the PCB eliminating the female USB plug. but its underneath the teensy so soldering it would require a heat gun or a solder re-flow station. also if it was me i'm not sure i'd like that solution as i couldn't be 100% sure i had the pads soldered correctly as it would be covered. making troubleshooting a nightmare.

food for thought.

I don't believe the pads on the bottom break out the USB data lines.  The Teensy would really be made better for general keyboard use if the USB D+/D- were broken out into pins, eliminating the need for the need for that USB jumper.   I suppose you could remove the USB connector and try to solder directly to the 5 little pads at the base of it but that would be pretty fiddly.

At one point I made this thing:
Show Image

...which is an ATMEGA32U4 + MCP23018 with that .5 pitch low-profile interconnect.  I made a breakout board for it which provided every single ATMEGA IO line, but in the end (even though it worked) I just abandoned it in favor of building everything on the PCB itself. 

Twiddle, both here on Geekhack and over on DT has some nice alternate controller ideas for the future going. 

It really wouldn't take very long to design a quick replacement for the Teensy that could be a lot better for daughterboard cases like the JD40 or original ErgoDox - the problem is who would front the cost of the first production run - and who is going to continue to have them made and hold stock? 

Sorry, I got kind of distracted and started rambling.

I still need to build mine, :(

Offline qwack

  • Posts: 310
  • Location: ISO FR
Re: The Living PCB Design Thread
« Reply #297 on: Wed, 10 February 2016, 12:41:11 »
The idea of a custom daughterboard holding an atmega with all pins broken out was actually my third option but I ruled it out for the same reason as you — if I have to hand-solder TQFPs I might as well do it directly on the board.

My idea was something like this, with all pins on one row and the USB at a proper angle so that you just have to connect the matrix to the daughterboard, which would sit under the top key row:



Your super low profile atmega board is awesome though! Harder to make for the average DIYer, but the execution is great.

Pure Pro w/MX Red - [review]

Offline sinusoid

  • Posts: 160
  • fd > ESC
Re: The Living PCB Design Thread
« Reply #298 on: Mon, 22 February 2016, 13:29:58 »
Does anyone know if/how KiCad/pcbnew supports curved tracks (or curved track corners at least)? Searched, but only saw this on several wishlists, and saw it being discussed about a year ago...

Do I have to stick to 45degs? (or approximate curves manually?) Could I use the circular drawing tool somehow to add these?

Offline joey

  • Posts: 2296
  • Location: UK
Re: The Living PCB Design Thread
« Reply #299 on: Mon, 22 February 2016, 13:34:26 »
Does anyone know if/how KiCad/pcbnew supports curved tracks (or curved track corners at least)? Searched, but only saw this on several wishlists, and saw it being discussed about a year ago...

Do I have to stick to 45degs? (or approximate curves manually?) Could I use the circular drawing tool somehow to add these?
It supports.. some kinda curves. The Infinity PCBs use them. However the traces were done by an autorouter, so while the file format might support it, I don't think the KiCAD UI does.

You can probably set the angle much lower, and just estimate a curve or look at generating the .kicad_pcb format manually.