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

0 Members and 1 Guest are viewing this topic.

Offline PancakeMSTR

  • Posts: 491
Re: The Living PCB Design Thread
« Reply #550 on: Thu, 13 April 2017, 18:04:33 »
I'm having trouble understanding what else I need. There are a lot of surface mount components that I don't understand the purpose of on the Teensy. The basic idea here, I guess, is to replicate a (the necessary parts of) a Teensy on the PCB.
Sure, replicating the Teensy is a good way to start. Its schematic will greatly help you in the process.

Okay, but is it the best approach? Is there a simple approach? I'm not trying to replicate a teensy perfectly, I'm trying to integrate the microcontroller on the PCB. I.e., everything surface mount, no breakout boards.


Let me just clarify here. Please understand I'm already way over my head. I find this stuff really confusing. Anyway here's an outline:

  • Slapping an Atmega 32u4 on a PCB and wiring rows and columns to it won't just work, right? So what other components does it need to function and where do they go? I imagine this list of components could be deduced from the Teensy schematic, but consdering I have NO IDEA how it works, I don't know what parts I need and what I don't. That's where I could really use help, what are the functions of the components? What do I need to include and what do I not need to include?
     
  • Let's say I've figured the above out. Supposing I've attached a USB connector and plugged it into my computer, what would happen? Naturally having done no programming to the microcontroller I don't expect my computer to realize I've plugged a keyboard in and have everything work. So what do I need to do at this point? My presumption is install the bootloader first. This is accomplished with AVRdude, but apparently bootloader choice effects things? Which bootloader should I choose?
  • Now that I've flashed the bootloader onto the MC, I have to actually program it. I'd probably do this with FLIP. I've tried to use dfu-programmer before and could make zero sense out of it. But god knows I'll probably have the same luck with FLIP. Anyway, I generate a QMK or TMK firmware on a layout editor, i.e. produce the .hex file, and program it. Where does Grendel come in? Is his bootloader necessary?


Hang on a moment I'm gonna make a picture from the Teensy schematic to try and illustrate where I am here.


« Last Edit: Thu, 13 April 2017, 18:06:06 by PancakeMSTR »
   

Offline TalkingTree

  • Posts: 2452
  • Location: Italy (142)
    • My projects
Re: The Living PCB Design Thread
« Reply #551 on: Fri, 14 April 2017, 06:19:36 »
Okay, but is it the best approach? Is there a simple approach?
There's no absolute best or simple approach. There are best and simple approaches to different situations. It really depends on your layout.

Slapping an Atmega 32u4 on a PCB and wiring rows and columns to it won't just work, right?
Right.

So what other components does it need to function and where do they go?
The datasheet will tell you everything you need to know but, since most users have already gone through that and PCB design, you'll find most of those informations spread out in this thread (and others).

what are the functions of the components? What do I need to include and what do I not need to include?
Different componets do different things. Capacitors, for example, store energy for the MCU. You need to include what the datasheet suggests. Again, call me pedantic, but sticking to the design rules is enough to start with.
For example, the datasheet tells you you need 22 Ohms resistors on the USB pins of the MCU. You don't really need to know the reason of the resistors' value. You just need to abide by that because the MCU works that way.

Let's say I've figured the above out. Supposing I've attached a USB connector and plugged it into my computer, what would happen? Naturally having done no programming to the microcontroller I don't expect my computer to realize I've plugged a keyboard in and have everything work. So what do I need to do at this point? My presumption is install the bootloader first. This is accomplished with AVRdude, but apparently bootloader choice effects things? Which bootloader should I choose?
Correct. Nothing will happen because the MCU is blank. Without firmware and bootloader, your board is a nice paperweight. So, you start flashing a bootloader and the choise in that case is yours. There are many and most are listed here. This guide will explain you how to flash.

Now that I've flashed the bootloader onto the MC, I have to actually program it. I'd probably do this with FLIP. I've tried to use dfu-programmer before and could make zero sense out of it. But god knows I'll probably have the same luck with FLIP. Anyway, I generate a QMK or TMK firmware on a layout editor, i.e. produce the .hex file, and program it.
Correct.

Where does Grendel come in? Is his bootloader necessary?
No, any other bootloader will do just fine. It was a mere example.

My opensource projects: GH80-3000, TOAD, XMMX. Classified: stuff

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: The Living PCB Design Thread
« Reply #552 on: Fri, 14 April 2017, 13:09:05 »
Atmel USB capable AVRs come with Atmel's DFU bootloader. As far as I know only the 'R'-versions don't.

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: The Living PCB Design Thread
« Reply #553 on: Fri, 14 April 2017, 15:27:35 »
I think 'R' means reel package instead of tray. They also come with bootloader probably.

Offline HeroXLazer

  • Posts: 70
Re: The Living PCB Design Thread
« Reply #554 on: Fri, 14 April 2017, 22:45:58 »
I'm now thinking about using the ATMEGA32U2, is this right? It says to connect AVCC to VCC through a low-pass filter, but I think I got it wrong. Could someone check this?
Also, what type of header should I use for the 6 pin ISPAVR breakout? Should I connect the RST pin to the header before the pullup resistor or before the pullup resistor?
« Last Edit: Fri, 14 April 2017, 23:08:28 by HeroXLazer »

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: The Living PCB Design Thread
« Reply #555 on: Sat, 15 April 2017, 01:11:41 »
I think 'R' means reel package instead of tray. They also come with bootloader probably.

My mistake, it's RC they are called, ATmega32U4RC-AU rather than just ATmega32U4-AU. The suffix -AU is for TQFP, -MU is for QFN. The RC variants have the fuse set from factory to use the internal oscillator. They can be changed back to use an external crystal, but then you need to flash a bootloader (if you want one).

I'm now thinking about using the ATMEGA32U2, is this right? It says to connect AVCC to VCC through a low-pass filter, but I think I got it wrong. Could someone check this?
Also, what type of header should I use for the 6 pin ISPAVR breakout? Should I connect the RST pin to the header before the pullup resistor or before the pullup resistor?

If you aren't going to use the analog comparators you can just connect AVCC straight to VCC. You want to connect VCC and AVCC to UVCC as well.

You don't need a pull-up on RESET. You don't need the "filter" on the Shield, and you probably don't need the ISP header either.

See the controller part of this for a ATmega32u2 schematic
https://deskthority.net/wiki/File:Costar_Replacement_Controllers_Schematics.PNG
« Last Edit: Sat, 15 April 2017, 01:32:13 by bpiphany »

Offline vvp

  • Posts: 886
Re: The Living PCB Design Thread
« Reply #556 on: Sat, 15 April 2017, 06:02:47 »
I have ATxmega128A4U-AU and ATxmega64A4U-AU. They both arrived without bootloader.
Maybe the bootloader comes only with ATmega and not with ATxmega.

Offline TalkingTree

  • Posts: 2452
  • Location: Italy (142)
    • My projects
Re: The Living PCB Design Thread
« Reply #557 on: Sat, 15 April 2017, 06:25:17 »
Maybe the bootloader comes only with ATmega and not with ATxmega.
All the ATMegas I got so far came in blank. I guess it up to the vendor.
My opensource projects: GH80-3000, TOAD, XMMX. Classified: stuff

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: The Living PCB Design Thread
« Reply #558 on: Sat, 15 April 2017, 08:41:36 »
Didn't we have this discussion recently?.. From the 32U4 datasheet
Quote
Parts using external XTAL clock are pre-programed with a default USB bootloader

The 500 or so AVRs I've ordered surely came with one. Except the RC ones I had to get when the world was out of the regular...

Offline TalkingTree

  • Posts: 2452
  • Location: Italy (142)
    • My projects
Re: The Living PCB Design Thread
« Reply #559 on: Sat, 15 April 2017, 09:58:41 »
Didn't we have this discussion recently?.. From the 32U4 datasheet
Quote
Parts using external XTAL clock are pre-programed with a default USB bootloader

The 500 or so AVRs I've ordered surely came with one. Except the RC ones I had to get when the world was out of the regular...
I'll take this one for good then. I must have missed something.
My opensource projects: GH80-3000, TOAD, XMMX. Classified: stuff

Offline HeroXLazer

  • Posts: 70
Re: The Living PCB Design Thread
« Reply #560 on: Sat, 15 April 2017, 10:50:25 »
I think 'R' means reel package instead of tray. They also come with bootloader probably.

My mistake, it's RC they are called, ATmega32U4RC-AU rather than just ATmega32U4-AU. The suffix -AU is for TQFP, -MU is for QFN. The RC variants have the fuse set from factory to use the internal oscillator. They can be changed back to use an external crystal, but then you need to flash a bootloader (if you want one).

I'm now thinking about using the ATMEGA32U2, is this right? It says to connect AVCC to VCC through a low-pass filter, but I think I got it wrong. Could someone check this?
Also, what type of header should I use for the 6 pin ISPAVR breakout? Should I connect the RST pin to the header before the pullup resistor or before the pullup resistor?

If you aren't going to use the analog comparators you can just connect AVCC straight to VCC. You want to connect VCC and AVCC to UVCC as well.

You don't need a pull-up on RESET. You don't need the "filter" on the Shield, and you probably don't need the ISP header either.

See the controller part of this for a ATmega32u2 schematic
https://deskthority.net/wiki/File:Costar_Replacement_Controllers_Schematics.PNG
For a keyboard do I need the analog comparators? So, I put a cap on each VCC, and then connect all three of them before the cap? I know I don't need a pull up on reset, but can't the MCU reset by accident a few times without it? I'm just wondering what is the ISP header for? Also, should I connect the shield to the ground, or should I just not connect the shield?
« Last Edit: Sat, 15 April 2017, 10:58:50 by HeroXLazer »

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: The Living PCB Design Thread
« Reply #561 on: Sat, 15 April 2017, 12:38:05 »
For a keyboard do I need the analog comparators? So, I put a cap on each VCC, and then connect all three of them before the cap? I know I don't need a pull up on reset, but can't the MCU reset by accident a few times without it? I'm just wondering what is the ISP header for? Also, should I connect the shield to the ground, or should I just not connect the shield?

I've never seen a spurious reset, as far as I know. Given you need to ask, you're not building anything to military or aerospace specifications, so I doubt you need to worry about it.

The only likely thing ISP will give you is the possibility to brick the chip (and maybe fix it again).

You won't use the analog comparator.

Ask the internet about the shield - get fourteen different answers.

Define "before" the cap. Try to find a reference design, or just a working example layout.

Don't forget the pull-down resistor on HWB.

Offline HeroXLazer

  • Posts: 70
Re: The Living PCB Design Thread
« Reply #562 on: Sat, 15 April 2017, 14:18:39 »
Excuse my terrible writing. Also, I was looking through the datasheet, and it says it's highly recommended to put a 10µF capacitor on the VBUS line, should I do that, or should I use a 1µF capacitor? It's on page 189.
« Last Edit: Sat, 15 April 2017, 14:50:52 by HeroXLazer »

Offline tee-eye

  • Posts: 25
  • Location: oregon
Re: The Living PCB Design Thread
« Reply #563 on: Sat, 15 April 2017, 20:32:01 »
Was hoping someone could take a peep at my schematic and let me know if anything looks amiss on it?
The USB on the right will be connecting to another half of a keeb.
Let me know if anything looks wrong please :) thanks!!!


More

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: The Living PCB Design Thread
« Reply #564 on: Sun, 16 April 2017, 03:07:39 »
Excuse my terrible writing. Also, I was looking through the datasheet, and it says it's highly recommended to put a 10µF capacitor on the VBUS line, should I do that, or should I use a 1µF capacitor? It's on page 189.

Yes, all VCC's connect "before" like that. Each cap goes as close to the pin as possible.

Since USB specifies 10µF as a maximum and you already have a few farads already across GND-VCC you can drop that to perhaps 4.7µF or 6.3µF (or whatever the common values for caps are). All just to be on the safe side, you would still almost certainly get away with 10µF (or more). As long as you don't go completely Blinkenstein with tons of LEDs you should be fine anyway =)

Offline HeroXLazer

  • Posts: 70
Re: The Living PCB Design Thread
« Reply #565 on: Sun, 16 April 2017, 17:14:45 »
What if I have a ton of LEDs? I'm planning to have 62 RGB LEDs. I was barely able to squeeze them in on the ATMEGA32U2, but I did.

Offline HeroXLazer

  • Posts: 70
Re: The Living PCB Design Thread
« Reply #566 on: Mon, 17 April 2017, 22:31:53 »
For the the Cherry MX switch footprint, I understand how big the drill should be for the two pins, but how big should the actual pad to solder onto be in diameter if the drill is 1.5mm?
« Last Edit: Sun, 27 August 2017, 12:22:35 by HeroXLazer »

Offline TalkingTree

  • Posts: 2452
  • Location: Italy (142)
    • My projects
Re: The Living PCB Design Thread
« Reply #567 on: Tue, 18 April 2017, 04:16:02 »
how big should the actual pad to solder onto be in diameter if the drill is 1.5mm?
I use a 100 mil diameter pad with a 60 mil hole and it's large enough to be comfortable to solder.
My opensource projects: GH80-3000, TOAD, XMMX. Classified: stuff

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: The Living PCB Design Thread
« Reply #568 on: Tue, 18 April 2017, 04:34:04 »
.
never mind.
« Last Edit: Tue, 18 April 2017, 05:20:25 by hasu »

Offline pomk

  • Posts: 470
  • Location: Finland
Re: The Living PCB Design Thread
« Reply #569 on: Tue, 18 April 2017, 08:50:59 »
Guys, for the the Cherry MX switch footprint, I understand how big the drill should be for the two pins, but how big should the actual pad to solder onto be in diameter if the drill is 1.5mm?
Does not really matter, space on pcb vs. ease of soldering. Take your pick. I have used dia 1,5mm holes with 2mm pad.

Most fabs are happy if the annular ring is larger than 0,15mm. (1,8mm pad for 1,5mm drill)
« Last Edit: Tue, 18 April 2017, 08:53:33 by pomk »

Offline TalkingTree

  • Posts: 2452
  • Location: Italy (142)
    • My projects
Re: The Living PCB Design Thread
« Reply #570 on: Wed, 19 April 2017, 05:22:58 »
A question for you gentlemen: I've read that crystals (oscillators mostly) should be kept outside ground planes. What's your opinion about this? Will ground planes really significantly interfere with crystals? For instance, I'm using 16 MHz through-hole crystals with a ATMega32u4 (how original).
My opensource projects: GH80-3000, TOAD, XMMX. Classified: stuff

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: The Living PCB Design Thread
« Reply #571 on: Wed, 19 April 2017, 07:46:34 »
A question for you gentlemen: I've read that crystals (oscillators mostly) should be kept outside ground planes. What's your opinion about this? Will ground planes really significantly interfere with crystals? For instance, I'm using 16 MHz through-hole crystals with a ATMega32u4 (how original).

I think it's more about keeping the "noise" from the oscillator away from the plane. You ideally want to surround the oscillator circuit with ground, on the sides and below. You then connect this "cage" at a single point to the board ground plane.

Offline TalkingTree

  • Posts: 2452
  • Location: Italy (142)
    • My projects
Re: The Living PCB Design Thread
« Reply #572 on: Wed, 19 April 2017, 08:54:16 »
Got it. Thanks.
My opensource projects: GH80-3000, TOAD, XMMX. Classified: stuff

Offline PancakeMSTR

  • Posts: 491
Re: The Living PCB Design Thread
« Reply #573 on: Thu, 20 April 2017, 14:27:04 »
Can someone tell me the exact dimensions of a cherry MX footprint? No diode or LED. What size through-hole do I need for the metal leads? How big (diameter) should the copper pad be? What diameter through-hole do I need for the plastic pin in the middle of the bottom of the switches (the one that goes through the PCB, for stability I imagine)?


I can't find these dimensions anywhere.
   

Offline TalkingTree

  • Posts: 2452
  • Location: Italy (142)
    • My projects
Re: The Living PCB Design Thread
« Reply #574 on: Thu, 20 April 2017, 14:54:29 »
Can someone tell me the exact dimensions of a cherry MX footprint?
For the copper pad, I use a 100 mil diameter with a 60 mil hole. All the other specifics are in the attached image.
166440-0
My opensource projects: GH80-3000, TOAD, XMMX. Classified: stuff

Offline PancakeMSTR

  • Posts: 491
Re: The Living PCB Design Thread
« Reply #575 on: Thu, 20 April 2017, 15:01:17 »
Can someone tell me the exact dimensions of a cherry MX footprint?
For the copper pad, I use a 100 mil diameter with a 60 mil hole. All the other specifics are in the attached image.
(Attachment Link)

Great thanks


Wait that doesn't make any sense. 100 mm diameter pad is ENORMOUS. That's like 4 inches.
« Last Edit: Thu, 20 April 2017, 15:14:30 by PancakeMSTR »
   

Offline TalkingTree

  • Posts: 2452
  • Location: Italy (142)
    • My projects
Re: The Living PCB Design Thread
« Reply #576 on: Thu, 20 April 2017, 16:21:13 »
100 mm diameter pad is ENORMOUS.
It is, but I said mil, not millimeter. A mil is a thousandth of an inch.
« Last Edit: Thu, 20 April 2017, 16:25:36 by TalkingTree »
My opensource projects: GH80-3000, TOAD, XMMX. Classified: stuff

Offline PancakeMSTR

  • Posts: 491
Re: The Living PCB Design Thread
« Reply #577 on: Thu, 20 April 2017, 16:23:58 »
100 mm diameter pad is ENORMOUS.
It is, but I said mil, not millimeter. A mil is a thousanth of an inch.


ooooh okay okay gotcha.
   

Offline tk

  • Posts: 16
Re: The Living PCB Design Thread
« Reply #578 on: Thu, 20 April 2017, 23:36:52 »
Decided i wanted to try creating a PCB from scratch after realizing how cheaply they could be printed (seems worth it to not have to hand wire). Started to try and learn EasyEDA, then tried my hand at KiCad, only to realized I'd rather start with Illustrator and get the layout exactly how I want (and much more quickly), then learn actual EDA software to match my mockups (or find a kind soul willing to help). Here's my first attempt at getting what i hope is all the pieces i'll need on a board, pre-routing:


Full size image

End goal layout here.

Controller would be a teensy 2. I haven't started routing traces to the controller as I don't trust i have everything i need and expect that something is way off. The tricky spots for me are the 2u/1u hybrid slots, as I'd really like to be able to use 2u caps other than caps with POS style stems, but also want the flexibility. There are currently have dots for LEDS, but will likely ignore those until I try this on a second board.

Was hoping to get another opinion before i go through the masochistic practice of routing leads by hand?

Thanks for looking.


Offline ishtob

  • Posts: 514
  • Location: Boston,MA
Re: The Living PCB Design Thread
« Reply #579 on: Fri, 28 April 2017, 15:08:15 »
I was hoping for a sanity check before I put this onto more PCBs, here is schematic of what I am doing with a keyboard controller using a type-C jack:


Offline farhai

  • Posts: 2
Re: The Living PCB Design Thread
« Reply #580 on: Mon, 01 May 2017, 06:03:45 »
i want to try make keyboard pcb by my self, but i didnt have any skill for making pcb, i want to learn, but i dont know where i started, can you tell me where i can start?

i have friends, he can make pcb, at geekhack, we use kicad. but my friend use eagle. can u tell where most recommend?

and most people at here using teensy, can i use arduino? coz arduino have more cheap than teensy one, some article says that using arduino is cheapy but hard for flash, if like that what best controller inculding much compatible firmware
« Last Edit: Mon, 01 May 2017, 06:13:46 by farhai »

Offline dead_pixel_design

  • Posts: 623
  • Location: Portland, OR
  • IIIV is not a Roman Numeral. Positive Vibes.
Re: The Living PCB Design Thread
« Reply #581 on: Mon, 31 July 2017, 19:52:40 »
Hey guys, TalkingTree referred me over here from an isolated post asking for help following the same tutorial I see a lot of beginners here referencing (https://github.com/ruiqimao/keyboard-pcb-guide).

He had recommended I add a 6 pin ISP to flash the atmega32u4, since it looks like more often than not they come blank. I can just direct wire all of the pins between the header and the controller right?

I also wanted to ask after a few noticeable differences between some user's schematics I am curious about, hoping to get some context:

The tutorial advises this:
"add decoupling capacitors for VCC ... and one 4.7uF capacitor for UVcc"


I don't see anyone else including a 7.4uF cap, and I am curious why the author of the tut recommends this

and:

"add a GND symbol to represent ground, and connect everything"


I don't see anyone else using crystals with ground connecting them, what was the thought process here?


And is there any reason the default 6 pin isp is designed like this? With the pins in the schematic box? With a break on the left side of the box?
« Last Edit: Mon, 31 July 2017, 20:14:56 by dead_pixel_design »

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: The Living PCB Design Thread
« Reply #582 on: Mon, 31 July 2017, 20:48:48 »
Hey guys, TalkingTree referred me over here from an isolated post asking for help following the same tutorial I see a lot of beginners here referencing (https://github.com/ruiqimao/keyboard-pcb-guide).

He had recommended I add a 6 pin ISP to flash the atmega32u4, since it looks like more often than not they come blank. I can just direct wire all of the pins between the header and the controller right?

While having ISP header is good practice for development and prototype you can safely omit it if you choose proper variant of the chip. You just should avoid ATmega32u4RC, which is configured for internal RC oscillator, not for external xtal. Other variants should come with USB bootloader.


Quote
I also wanted to ask after a few noticeable differences between some user's schematics I am curious about, hoping to get some context:

The tutorial advises this:
"add decoupling capacitors for VCC ... and one 4.7uF capacitor for UVcc"
(Attachment Link)

I don't see anyone else including a 7.4uF cap, and I am curious why the author of the tut recommends this
I think(not sure) USB spec requires 10uF at a maximum for capacitance on Vbus 10uF for peripherals but most of any abitrary value cap will work in fact. you don't have to be careful much you can change the cap easily even if it has problem.

Quote
and:

"add a GND symbol to represent ground, and connect everything"
(Attachment Link)

I don't see anyone else using crystals with ground connecting them, what was the thought process here?
Some of SMD crystals has case terminal pin and grounding it is known as good and common practice in general.


Offline TalkingTree

  • Posts: 2452
  • Location: Italy (142)
    • My projects
Re: The Living PCB Design Thread
« Reply #583 on: Tue, 01 August 2017, 04:08:53 »
Hey guys, TalkingTree referred me over here from an isolated post asking for help following the same tutorial I see a lot of beginners here referencing (https://github.com/ruiqimao/keyboard-pcb-guide).
He had recommended I add a 6 pin ISP to flash the atmega32u4, since it looks like more often than not they come blank. I can just direct wire all of the pins between the header and the controller right?
While having ISP header is good practice for development and prototype you can safely omit it if you choose proper variant of the chip. You just should avoid ATmega32u4RC, which is configured for internal RC oscillator, not for external xtal. Other variants should come with USB bootloader.
In my experience, m32u4 comes with a set of bit fuses different from what's commonly used, hence I implemented a SPI on my boards, but hasu surely knows better.

I don't see anyone else using crystals with ground connecting them, what was the thought process here?
Most SMD crystals have four pins as you can see here. Usually the odd ones are for the crystal pins and the even ones are for ground, but always check the manufacturer's datasheet.

And is there any reason the default 6 pin isp is designed like this? With the pins in the schematic box? With a break on the left side of the box?
(Attachment Link)
That break is to match the connector. You can use a different standard but label your header accordingly.

Edit: quoting mess.
« Last Edit: Tue, 01 August 2017, 04:54:10 by TalkingTree »
My opensource projects: GH80-3000, TOAD, XMMX. Classified: stuff

Offline dead_pixel_design

  • Posts: 623
  • Location: Portland, OR
  • IIIV is not a Roman Numeral. Positive Vibes.
Re: The Living PCB Design Thread
« Reply #584 on: Tue, 01 August 2017, 18:18:16 »
Awesome, thanks for the information guys, Would be completely lost without you.

My PCB is turning out to be a lot more complicated than I had initially realized and I am straying a bit from the tutorial, once I get everything laid out I will post it to get some experienced eyes to review it

Offline _haru

  • Formerly linuxfanatic
  • Posts: 390
  • Location: Perth, Western Australia
  • Back from the dead
Re: The Living PCB Design Thread
« Reply #585 on: Wed, 02 August 2017, 00:36:59 »
Can I use Fritzing to design a 60% PCB? All diodes will be through-hole, no LEDs.
AMJ60 - 45g MX White | GH60 Rev. C - Ghost Gateron Blacks | DFK101 - Alps SKCM Cream | Filco Majestouch 2 TKL - 62g Vintage MX Ergo Clear

Offline TalkingTree

  • Posts: 2452
  • Location: Italy (142)
    • My projects
Re: The Living PCB Design Thread
« Reply #586 on: Wed, 02 August 2017, 01:17:21 »
Can I use Fritzing to design a 60% PCB? All diodes will be through-hole, no LEDs.
You can should use any software you're the most comfortable with. I personally tried with Fritzing to no avail and ended up feeling great with EasyEDA. Also check komar's OP for some info about Kicad.
My opensource projects: GH80-3000, TOAD, XMMX. Classified: stuff

Offline dead_pixel_design

  • Posts: 623
  • Location: Portland, OR
  • IIIV is not a Roman Numeral. Positive Vibes.
Re: The Living PCB Design Thread
« Reply #587 on: Wed, 02 August 2017, 03:08:31 »
Does it matter which key in a column I connect the trace back to the controller? Does each column need to connect back to the controller on the same row?

And do I need to connect any of the ground pads on resistors/xtal/buttons to any of the ground pins on the controller?
« Last Edit: Wed, 02 August 2017, 03:13:09 by dead_pixel_design »

Offline TalkingTree

  • Posts: 2452
  • Location: Italy (142)
    • My projects
Re: The Living PCB Design Thread
« Reply #588 on: Wed, 02 August 2017, 03:39:28 »
Does it matter which key in a column I connect the trace back to the controller? Does each column need to connect back to the controller on the same row?
No to both questions.

And do I need to connect any of the ground pads on resistors/xtal/buttons to any of the ground pins on the controller?
You can use ground planes but I prefer to route ground traces anyway, but I guess it's just me. If you don't use ground planes then yes, you have to connect ground pads to ground pins of the controller and to the USB connector's ground.
My opensource projects: GH80-3000, TOAD, XMMX. Classified: stuff

Offline dead_pixel_design

  • Posts: 623
  • Location: Portland, OR
  • IIIV is not a Roman Numeral. Positive Vibes.
Re: The Living PCB Design Thread
« Reply #589 on: Wed, 02 August 2017, 03:51:24 »
And do I need to connect any of the ground pads on resistors/xtal/buttons to any of the ground pins on the controller?
You can use ground planes but I prefer to route ground traces anyway, but I guess it's just me. If you don't use ground planes then yes, you have to connect ground pads to ground pins of the controller and to the USB connector's ground.

The tutorial has us use a ground plane, do I need to do anything to connect ground pads/pins to that plane?

Edit: I ended up tracing them all together anyways. Ended up with more vias than probably looks good, but I figure it's less of an issue for grounds. I would love to have one or two people look over it for me, but I'm unsure what the best way to go about that is..?
« Last Edit: Wed, 02 August 2017, 04:42:27 by dead_pixel_design »

Offline _haru

  • Formerly linuxfanatic
  • Posts: 390
  • Location: Perth, Western Australia
  • Back from the dead
Re: The Living PCB Design Thread
« Reply #590 on: Wed, 02 August 2017, 04:22:48 »
Quote
You can should use any software you're the most comfortable with. I personally tried with Fritzing to no avail and ended up feeling great with EasyEDA. Also check komar's OP for some info about Kicad.

I see. Thanks for that, will try. KiCad seems very difficult to learn, though  :confused:
« Last Edit: Wed, 02 August 2017, 05:32:52 by linuxfanatic »
AMJ60 - 45g MX White | GH60 Rev. C - Ghost Gateron Blacks | DFK101 - Alps SKCM Cream | Filco Majestouch 2 TKL - 62g Vintage MX Ergo Clear

Offline TalkingTree

  • Posts: 2452
  • Location: Italy (142)
    • My projects
Re: The Living PCB Design Thread
« Reply #591 on: Wed, 02 August 2017, 05:25:17 »
The tutorial has us use a ground plane, do I need to do anything to connect ground pads/pins to that plane?
No.

Ended up with more vias than probably looks good, but I figure it's less of an issue for grounds.
It is recommended to avoid vias for USB traces and capacitors, other than those, you could use as many as you want.

I would love to have one or two people look over it for me, but I'm unsure what the best way to go about that is..?
Either posting pictures of particular areas you want to be checked, or share the entire project, if you're comfortable with that.
« Last Edit: Wed, 02 August 2017, 05:26:57 by TalkingTree »
My opensource projects: GH80-3000, TOAD, XMMX. Classified: stuff

Offline dead_pixel_design

  • Posts: 623
  • Location: Portland, OR
  • IIIV is not a Roman Numeral. Positive Vibes.
Re: The Living PCB Design Thread
« Reply #592 on: Wed, 02 August 2017, 18:13:06 »
Ended up with more vias than probably looks good, but I figure it's less of an issue for grounds.
It is recommended to avoid vias for USB traces and capacitors, other than those, you could use as many as you want.

Either posting pictures of particular areas you want to be checked, or share the entire project, if you're comfortable with that.

The advice on vias is really good to know. I went through and rerouted a lot of traces, moved some caps around and was able to clean up some vias. I have a few resistors that net through vias and wasn't able to keep two of the caps ground sides from running through a via, but my hope is that it is minimal enough not to be an issue. I don't mind sharing the project if someone would be willing to take a look at my design to look for any bad practice/errors/opportunities. I would be happy to PM someone a file, I don't know if they would need KiCad, which I have been using, or if there is a way to export 'x' type of file I can figure that out

Offline MandrewDavis

  • Posts: 461
  • Location: Fl
  • Chasin' That Neon Rainbow
Re: The Living PCB Design Thread
« Reply #593 on: Tue, 08 August 2017, 13:37:26 »
Hello everyone,

About a year ago I found a really unique NOS blue Alps keyboard on eBay. After troubleshooting the error codes for a while and talking to Orihalcon, we figured out it couldn't be adapted to USB and so it was kept in a box up until about a week ago. With my spare Teensy 2++, I decided to teach myself some KiCAD and design a PCB for it. It will be using holtites, which is why the through-hole drill sizes for the switches are a bit larger than normal.

It would be greatly appreciated if someone could check my schematic, particularly what is going on with the locklights before I send to off to manufacturing. Also, do I really need a ground plane?




I have attached a zip if anyone needs a more detailed look at it.
I've come to view humanity as predominantly monkey business.

My Classifieds Thread

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: The Living PCB Design Thread
« Reply #594 on: Thu, 10 August 2017, 00:49:40 »
One thing you could do is to split the rows in "half" to get 10 rows. Then you'd only need half as many columns, using each column twice, once for each of the splits. That way you'd only need 21 instead of 26 pins for the matrix (you could probably do away with a few more mashing things together further) and get away with a regular Teensy rather than the plusplus.

It's common practice to connect LEDs the other way around, with the cathode towards the controlling pin. It doesn't matter much with a Teensy, but some chips are better at sinking than sourcing current and people just tend to do it that way. It may also be handy to connect all LEDs to pins that are connected to the same timer. For example yours are connected to pins with OC1A OC1B and OC2A if you move the one on PB4 to PB7 you'd only have OC1* pins. That way you can control the brightness with PWM using only one timer, which will be a bit cleaner to set up, and you'd not occupy the extra timer (which you aren't short on though).


Also, beef up on the traces, there's no reason to keep them skinny. Increase the spacing since you've got the room anyway. With tat in min, still tighten them up. Use more 45° traces and cut more corners. If you route some of the matrix lines from the controller underneath it, and move some more of them to the bottom layer you could slim down the board a bit (you may be physically constrained by the case to put the Teensy exactly there though). Green and red are allowed to overlap, that's the whole point =D

And no, you don't necessarily need a ground plane. Topres have them, but they do magic capacitive stuff. I have still to see a commercial cherry board that use one.

Are those half circle things cutouts for a ziptie or something? You probably want to make them regular round holes. Funky shaped holes usually cost extra.

If you put the matrix diodes on top as well the bottom of the board will be cleaner. They become a bit inaccessible for debugging if you use a plate though. Through hole diodes is a middle way. You can measure on them, but still not easily swap them out if broken.
« Last Edit: Thu, 10 August 2017, 01:14:08 by bpiphany »

Offline feraphic

  • Posts: 10
Re: The Living PCB Design Thread
« Reply #595 on: Tue, 15 August 2017, 20:58:36 »
Hey everyone,

I was wondering if I could get some advice and/or critiques on this before I send it over to EasyEDA to be manufactured. I won't pretend that I have much of an idea of what I'm doing, and I'm sure the design isn't very elegant or efficient, but I don't mind as long as it works since I'm really only doing this for personal use.

Thanks

Offline hanya

  • Posts: 132
  • Location: Japan
Re: The Living PCB Design Thread
« Reply #596 on: Wed, 16 August 2017, 07:24:45 »
I was wondering if I could get some advice and/or critiques on this before I send it over to EasyEDA to be manufactured. I won't pretend that I have much of an idea of what I'm doing, and I'm sure the design isn't very elegant or efficient, but I don't mind as long as it works since I'm really only doing this for personal use.
Hi, it looks 14, 34, 44 and 24 pins of MCU are not connected to the power source in your schematic.
PFU HHKB JP, Sanwa MA-TB38 trackball

Offline LazyDog

  • Posts: 35
    • My personal site
Re: The Living PCB Design Thread
« Reply #597 on: Wed, 16 August 2017, 08:01:33 »
Can someone tell me the exact dimensions of a cherry MX footprint? No diode or LED. What size through-hole do I need for the metal leads? How big (diameter) should the copper pad be? What diameter through-hole do I need for the plastic pin in the middle of the bottom of the switches (the one that goes through the PCB, for stability I imagine)?


I can't find these dimensions anywhere.

https://deskthority.net/w/images/d/de/Keymodule_MX.pdf
<-- Epilepsy and music autoplay warning there

Offline feraphic

  • Posts: 10
Re: The Living PCB Design Thread
« Reply #598 on: Wed, 16 August 2017, 08:40:23 »
I was wondering if I could get some advice and/or critiques on this before I send it over to EasyEDA to be manufactured. I won't pretend that I have much of an idea of what I'm doing, and I'm sure the design isn't very elegant or efficient, but I don't mind as long as it works since I'm really only doing this for personal use.
Hi, it looks 14, 34, 44 and 24 pins of MCU are not connected to the power source in your schematic.

Much appreciated! Hopefully this looks a little better.
« Last Edit: Wed, 16 August 2017, 09:01:58 by feraphic »

Offline dead_pixel_design

  • Posts: 623
  • Location: Portland, OR
  • IIIV is not a Roman Numeral. Positive Vibes.
Re: The Living PCB Design Thread
« Reply #599 on: Wed, 16 August 2017, 09:26:24 »
Would love for someone to proof this for me. Seems like a lot of us FNGs have designs we're trying to make.

And in the second picture, where I have circled, does it matter that the two grounds connect to one another between the resistor and the cap?
« Last Edit: Wed, 16 August 2017, 19:19:09 by dead_pixel_design »