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

0 Members and 1 Guest are viewing this topic.

Offline ЫъГЬ

  • Posts: 4
Re: The Living PCB Design Thread
« Reply #350 on: Wed, 21 September 2016, 16:03:01 »
Hello. I'm new to mechanical keyboard business, but somewhat less new to electronics.

I'm thinking about trying to build a keyboard and what I don't understand is why all of the designs (both hobbyist and mass produced) seem to use key matrices. When I'm thinking of scanning massive number of keys I'm thinking of shift registers such as 74HC165 which are durty cheap and can be daisy chained to use as low as 3 (iirc) pins on microcontroller. Each being 8bit it'll take about 14 of them to drive full size keyboard and even something like Attiny 2313 can pull referesh rate of several kHz on them.
I understand designing board with this approach it's not quite as easy as wiring through-hole diodes pin to pin, but should it be used at least in commercial deigns?
Is there some critical part I'm missing?

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 #351 on: Thu, 22 September 2016, 15:35:59 »
From a commercial perspective, what advantage do you gain by bringing more components into the mix? For $2-3/unit I can buy mcu's (in bulk) that have plenty of pins for a full sized keyboard. My firmware programming is more straightforward. I have fewer parts that can fail. I can scan the matrix fast enough that latency isn't a concern. What will I gain by bringing shift registers into the mix?

Offline ЫъГЬ

  • Posts: 4
Re: The Living PCB Design Thread
« Reply #352 on: Fri, 23 September 2016, 02:22:09 »
They render ghosting and jamming inapplicable. With matrix design you can't avoid both and have to deal with them either programmatically or with extra components. When each key is wired directly to a pin (MCU or shift register) this problems simply does not exist. This is where firmware gets simpler as well, you're just reading serial bits and that's it, a bit for each key in a single loop. Reading matrix involves two loops for two pins and additional calculations to figure out simultaneous presses and which of them actually happened. So, it's the opposite, matrix is more complex and shift register more straightforward

As for pricing, $2-3 is the price of about 50 Texas Instruments 74HC series registers even on end-consumer market.

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 #353 on: Fri, 23 September 2016, 15:33:42 »
Maybe you should make a design around shift registers then. I've been trying to wrap my head around how it'd be simpler, and it still strikes me as more complicated. For example, how do you daisy chain shift registers so you only use 3 pins on the mcu?

Having a design we can actually point to and talk about would make discussing the pro's/con's easier.

Offline twiddle

  • Posts: 165
    • Portfolio
Re: The Living PCB Design Thread
« Reply #354 on: Fri, 23 September 2016, 15:51:16 »
I've been trying to wrap my head around how it'd be simpler, and it still strikes me as more complicated. For example, how do you daisy chain shift registers so you only use 3 pins on the mcu?

The shift registers have serial input pins (DS) as well as serial out (Q7). You can daisy-chain Q7 from one to the DS of the next, and then only need to use the mcu to read Q7 for the final shift register.
 
If you're connecting every switch to a shift register input, though, I'd think it also would make routing much more complex. Traces don't have a cost as such, of course, but I'm not sure how easily you would route a full 108 keys on say a 2-layer board, especially if you had LED support, and while I don't usually worry about EMI/FCC, even if it's possible to route I would guess it would be much messier and perhaps more likely to run into issues as an unintentional emitter?

On the issue of cost, that same $2 gets me 450 1n4148s. Quick search of Octopart shows 74hc165 at 8c each, but only in 2500 quantity. Thats feasible for commercial enterprises but I couldn't find anything close to the price mentioned here of a hypothetical 6c each in smaller quantities, more like 30c each in 1s or 100s.

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: The Living PCB Design Thread
« Reply #355 on: Fri, 23 September 2016, 17:17:26 »
With shift registers you also need pull resistors. So that's a one-to-one correspondence to the matrix diodes.

Shift registers scale easier, adding more keys. But that's probably about it. Well actually smaller chips are easier to fit somewhere too. But it's hardly a coincidence that all(?) commercial keyboards are matrix based.

Even fly-wiring a keyboard is easier in matrix form. 100+ cables is a guaranteed mess..

Also enthusiast custom keyboards require quite a bit of flash memory to store keymaps and the such. The smaller chips may sometimes have less memory as well as pins.

How is reading serial easier than a matrix? Activate row - read columns, can't get much simpler..

And it's already been done, by YT =) https://geekhack.org/index.php?topic=67713

Offline ЫъГЬ

  • Posts: 4
Re: The Living PCB Design Thread
« Reply #356 on: Sat, 24 September 2016, 06:59:23 »
For example, how do you daisy chain shift registers so you only use 3 pins on the mcu?

Basically each has a dedicated daisy chain pin. From controller's perspective two chained 8bit registers are no different from one 16bit.

I'm not sure how easily you would route a full 108 keys
The schematic I have in my head groups keys with registers. Say, QWER-TASDF are all wired to one SR positioned somewhere in the middle of the group which is then wired to the main data lines. Then there's TYUI-GHJK group, etc... Shouldn't be too messy as it only requires about 3 global buses.

I don't have a design planned since at this point I was just trying to figure out in general whether it's possible in theory.

And it's already been done, by YT =) https://geekhack.org/index.php?topic=67713
Great, this is exactly what I was looking for, thanks. Seems like there was a working concept at the very least. Are there any functioning boards built on that PCB?

Offline MacGruber117

  • Posts: 121
  • Location: WI, USA
Re: The Living PCB Design Thread
« Reply #357 on: Sat, 24 September 2016, 14:37:46 »
This post is very similar to Fourfour's post since I copied his teensy replacement board for my layout. Here is my schematic with controller:


I'm an extreme noob, so I'm hoping this controller will work. I was also hoping to add LEDs to this board, but I don't think I have enough I/O pins to support that. Is there a different controller I should be using? Would adding an I/O expander be a good option? I'm also struggling to find a schematic showing how in switch LEDs figure into the schematic, so if someone could point me to any info on that I'd really appreciate it. Thanks!
I want to buy your ETF and Garbo Pusses. PM me

Offline sypl

  • Posts: 116
Re: The Living PCB Design Thread
« Reply #358 on: Tue, 27 September 2016, 13:46:17 »
I'd like to use a small SMD crystal but I'm not sure if my schematic is right.

Here's one with two poles.
149297-0

I want to use something with this footprint:
149299-1

I think it's connected like this:
149301-2

Can anyone confirm whether this is correct or not?

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: The Living PCB Design Thread
« Reply #359 on: Tue, 27 September 2016, 16:27:45 »
You are most probably wrong. Pins 1 and 3 are usually the connections to the crystal, pins 2 and 4 are GND pins, or rather shield pins. I don't think they actually need to be connected at all.

Well, actually your image even shows this. All this of course depends on which way the pins are ordered in your footprint in the end. But pin 1 and 3 of the package is the connections to the crystal.
« Last Edit: Tue, 27 September 2016, 16:30:40 by bpiphany »

Offline sypl

  • Posts: 116
Re: The Living PCB Design Thread
« Reply #360 on: Thu, 29 September 2016, 04:57:27 »
Yes, you're right, the numbers on the footprint don't match up with the schematic.

If I connect 1 to XTAL1 and 3 to XTAL2 that should be enough, right? I think it's probably best to 2 and 4 to ground, just in case.

Offline vvp

  • Posts: 886
Re: The Living PCB Design Thread
« Reply #361 on: Thu, 29 September 2016, 05:56:57 »
I would ground them since it is easy to do and you do not risk thermally damaging the crystal.
You may find this interesting too. It is not for ATmega but maybe you can find similar document for ATmega too.

Offline monkeyplusplus

  • Posts: 43
Re: The Living PCB Design Thread
« Reply #362 on: Thu, 29 September 2016, 14:20:39 »
Hi all,

I'm working on a little 40 key ortholiniar board, having lots of fun figuring out all the steps necessary for creating a PCB. My layout is heavily derivative of the Planck, and I actually used the public GH60 design to start me off with the integrated controller. I've gone through this thread and learned a lot, but I'm still just starting out, so I'm probably doing some things wrong. I did notice that the diodes on the GH60 design were laid out differently than what I'm used to for hand wiring a board, so I changed that to be what I'm used to. For the controller, I'm just hoping that what I've kitbashed from the GH60 is a good start. Could anyone here offer me pointers for improving this schematic? Thank you for your time :D


Offline 27.9.2016

  • Posts: 18
Re: The Living PCB Design Thread
« Reply #363 on: Mon, 03 October 2016, 12:36:53 »
Hello

I have started creating my own PCB for standard 60% keyboard and i have some questions:

1. Where can I find the standard distance between the switches (cherry mx) for 60% layout


2. Is it okey to connect switch to diode and to teensy or i have to add anything else?


3. And last one about matrix what do you think is okey?


Thank you for help  :thumb:
« Last Edit: Mon, 03 October 2016, 12:39:35 by 27.9.2016 »

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: The Living PCB Design Thread
« Reply #364 on: Mon, 03 October 2016, 14:51:24 »
The center to center (c-c) distance is measured in units of 0.75". Keys come in widths of 1.00u 1.25u 1.50u 1.75u  2.00u 2.25u 2.75u 6.25u. There are others, but those are the most common. Your distance indicated by the red arrows is meaningless and will depend on the exact footprint you use. That is why c-c distances are regularly used for these kind of things.

Offline dantan

  • Posts: 288
Re: The Living PCB Design Thread
« Reply #365 on: Sun, 09 October 2016, 22:00:03 »
I'm a newbie to PCB design and electronics.

I would like to design my own split layout keyboard someday. I was inspired by the Mistel Barocco and the SmartYao, but really want to build some skills to customize because I may want my own layout someday.

 I want to start with a very simple design and layout just to get my basics right. Maybe an ortholinear keyboard featuring 6 or 7 rows, and 8 columns. That should be enough to squeeze in all the basic keyboard functions for one half of a keyboard.

My PCB should be rigid enough to function as a PCB mounted keyboard. I think it is too much trouble and extra expense to design and cut a plate.

I propose to use Cherry MX keyswitches and a teensy 2.0, because that's what I have used before and I don't have much experience. To get nkro I know I have to have diodes on every switch.

Am I right in saying that on my PCB I need to design paths for keyswitches leading to a place where I can mount a teensy daughterboard, and I also need to design paths for diodes leading... to where?

What next? Much of the discussion on this thread is beyond me. I really don't want to put down a lot of money (or time) on a CAD package and spend time building skills that I will never need. I'm hoping to make things as simple as possible for my first run. No leds or lock lights or staggered key placements. Everything a 1.00u switch. I'll be overjoyed if my first PCB works.

Grateful for any advise. Thank you to all the nice helpful people in advance!

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: The Living PCB Design Thread
« Reply #366 on: Mon, 10 October 2016, 08:45:33 »
Look two posts up in monkeyplusplus's post. The diodes goes in series with the switch. Row-switch-diode-column, or Row-diode-switch-column, whichever you prefer.

You probably want the correct PCB thickness for PCB mount stabilizers to clip in properly. Rigidity can be accomplished in other ways.

KiCAD is good and free.

Offline monkeyplusplus

  • Posts: 43
Re: The Living PCB Design Thread
« Reply #367 on: Mon, 10 October 2016, 12:28:45 »
Yeah! I've learned SO MUCH by just sitting down and following each and every trace on the ergodox and gh60 boards. KiCad is super fun once you get the hang of it.

Offline monkeyplusplus

  • Posts: 43
Re: The Living PCB Design Thread
« Reply #368 on: Thu, 27 October 2016, 20:02:21 »
Holy cow it actually works! Already have things I want to do with the next iteration. I still have a lot to learn, but making something that actually functions is pretty addicting :)

In the photo below, the topmost board is a hand wired prototype, the middle one is a populated and flashed PCB version, and a naked PCB (one of the three I ordered from OSHPark) is on bottom.


Offline monkeyplusplus

  • Posts: 43
Re: The Living PCB Design Thread
« Reply #369 on: Thu, 27 October 2016, 20:22:06 »
(also, a Planck PCB in the background... Learned a lot from eyeballing that thing too. :D :D :D )

Offline 27.9.2016

  • Posts: 18
Re: The Living PCB Design Thread
« Reply #370 on: Tue, 01 November 2016, 15:35:37 »
Holy cow it actually works! Already have things I want to do with the next iteration. I still have a lot to learn, but making something that actually functions is pretty addicting :)

In the photo below, the topmost board is a hand wired prototype, the middle one is a populated and flashed PCB version, and a naked PCB (one of the three I ordered from OSHPark) is on bottom.

Show Image


Hello can you tell me how big are your soldering pads

Thank you

Offline monkeyplusplus

  • Posts: 43
Re: The Living PCB Design Thread
« Reply #371 on: Tue, 01 November 2016, 15:42:19 »
Holy cow it actually works! Already have things I want to do with the next iteration. I still have a lot to learn, but making something that actually functions is pretty addicting :)

In the photo below, the topmost board is a hand wired prototype, the middle one is a populated and flashed PCB version, and a naked PCB (one of the three I ordered from OSHPark) is on bottom.

Show Image


Hello can you tell me how big are your soldering pads
Show Image


Thank you
Sure, for which component? I used the library from the GH60 board, which helped out quite a bit.

Offline 27.9.2016

  • Posts: 18
Re: The Living PCB Design Thread
« Reply #372 on: Tue, 01 November 2016, 15:53:57 »
Holy cow it actually works! Already have things I want to do with the next iteration. I still have a lot to learn, but making something that actually functions is pretty addicting :)

In the photo below, the topmost board is a hand wired prototype, the middle one is a populated and flashed PCB version, and a naked PCB (one of the three I ordered from OSHPark) is on bottom.

Show Image


Hello can you tell me how big are your soldering pads
Show Image


Thank you
Sure, for which component? I used the library from the GH60 board, which helped out quite a bit.

I need it for cherry mx switches, is this library available for eagle pcb to?

Offline monkeyplusplus

  • Posts: 43
Re: The Living PCB Design Thread
« Reply #373 on: Tue, 01 November 2016, 16:47:26 »
Oh, sorry, didn't see your image on mobile. For the one I'm using, the diameter is 2.49936mm and the drill hole is 1.50114mm

I'm sure these footprints exist for eagle, but alas I'm using kicad.

Offline deadall127

  • Posts: 17
  • Location: France
Re: The Living PCB Design Thread
« Reply #374 on: Sun, 06 November 2016, 08:14:13 »
Hi, can someone tells me the position of the enter switch on iso keyboard?

here is the actual position of it (in white):



EDIT:
sorry, I finally found it (after a loooong time)

« Last Edit: Sun, 06 November 2016, 08:33:28 by deadall127 »

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: The Living PCB Design Thread
« Reply #375 on: Sun, 06 November 2016, 13:00:15 »
Yep, that's correct. Be sure to also rotate it 90° if you intend to ever use costar stabilizers.

Offline Tye

  • Posts: 69
Re: The Living PCB Design Thread
« Reply #376 on: Mon, 07 November 2016, 19:51:04 »
Having never designed a PCB nor keyboard, could I get a sanity check here? Any input or feedback is appreciated. I think I'm quickly approaching it being ready to send to fabrication.
Not even really sure what to ask about. It's a pretty straightforward board that I made complicated by making it split-able, adding built in support for a Trackpoint and lots of SK6812 LEDs.
Main project URL: https://easyeda.com/TyeEasyEDA/Boomerang_Keyboard-a2d4e41a4fbf4da490f883c4b93fd55c

152335-0

152337-1

152339-2

152341-3

Offline hanya

  • Posts: 132
  • Location: Japan
Re: The Living PCB Design Thread
« Reply #377 on: Mon, 07 November 2016, 21:42:48 »
Having never designed a PCB nor keyboard, could I get a sanity check here? Any input or feedback is appreciated. I think I'm quickly approaching it being ready to send to fabrication.
Not even really sure what to ask about. It's a pretty straightforward board that I made complicated by making it split-able, adding built in support for a Trackpoint and lots of SK6812 LEDs.
Main project URL: https://easyeda.com/TyeEasyEDA/Boomerang_Keyboard-a2d4e41a4fbf4da490f883c4b93fd55c
Are VCC and GND pins for P8 Trackpoint connector swapped? CLK and DATA lines should be pulled-up, the capacitor direction is opposit and the RESET pin is active HIGH. So it seems VCC and GND are swapped on P8.
PFU HHKB JP, Sanwa MA-TB38 trackball

Offline Tye

  • Posts: 69
Re: The Living PCB Design Thread
« Reply #378 on: Tue, 08 November 2016, 00:29:38 »
Are VCC and GND pins for P8 Trackpoint connector swapped? CLK and DATA lines should be pulled-up, the capacitor direction is opposit and the RESET pin is active HIGH. So it seems VCC and GND are swapped on P8.
Yikes. Yes, those were swapped. Fixed. Thank you!

I do have a few specific questions that I'm still confused about:
1. I am especially uncertain if the resistors are set up correctly connected to the IO Expander on the left half.
2. Are the diodes in the right direction, considering that the board is split?
3. On the Ergodox, I see that most builds recommend that a capacitor is added to the left side at the IO Expander. What pins would I connect that to in this build?
« Last Edit: Tue, 08 November 2016, 01:47:17 by Tye »

Offline hanya

  • Posts: 132
  • Location: Japan
Re: The Living PCB Design Thread
« Reply #379 on: Wed, 09 November 2016, 08:30:17 »
Yikes. Yes, those were swapped. Fixed. Thank you!

I do have a few specific questions that I'm still confused about:
1. I am especially uncertain if the resistors are set up correctly connected to the IO Expander on the left half.
2. Are the diodes in the right direction, considering that the board is split?
3. On the Ergodox, I see that most builds recommend that a capacitor is added to the left side at the IO Expander. What pins would I connect that to in this build?
Hi, Tye
1: I2C lines should be pulled-up to VCC. It looks ok for me.
2: Direction of diodes in the key matrix depends on MCU firmware. In your case, you have to read COL value while chaing ROW level. Some people connects diodes to ROW wise if they choose hand wiring. It is easier to connect output line horizontally while most keyboard have straight row of keys.
3: Decoupling/bypass capacitor should be placed near each VCC pins of ICs. If they has coupled GND pins with VCC pins, place a capacitor near both pins. In genral, 100nF (0.1uF) capacitor is used for such case. It reduces noise on power line or helps to make power line stable. You have dozen of LEDs on the board, so if you tern on many at the same time, the power source would be unstable.

- You have 1000uF capacitor on VBUS (5V) line but USB specification recommend capacitance up to 10uF on VBUS line for bus powred devices. They saids if capacitance is quite large, pins on USB connector would be melt by rush current when you connect plug.
- You should decide screw positions to fix the PCB in your case or something before moving some components around on the board.
- You can prepare additional pattern for spare capacitor on left side which can be soldered if your circuit is not stable enough.
- I have never used SK6812. Its datasheet recommend bypass capacitor on each SK6812 on typical circuit.
PFU HHKB JP, Sanwa MA-TB38 trackball

Offline Tye

  • Posts: 69
Re: The Living PCB Design Thread
« Reply #380 on: Thu, 10 November 2016, 16:22:28 »
2: Direction of diodes in the key matrix depends on MCU firmware. In your case, you have to read COL value while chaing ROW level. Some people connects diodes to ROW wise if they choose hand wiring. It is easier to connect output line horizontally while most keyboard have straight row of keys.
Thank you. So for a PCB split board, I think I'm okay.

3: Decoupling/bypass capacitor should be placed near each VCC pins of ICs. If they has coupled GND pins with VCC pins, place a capacitor near both pins. In genral, 100nF (0.1uF) capacitor is used for such case. It reduces noise on power line or helps to make power line stable. You have dozen of LEDs on the board, so if you tern on many at the same time, the power source would be unstable.
Please see other notes/questions below related to this.

- You have 1000uF capacitor on VBUS (5V) line but USB specification recommend capacitance up to 10uF on VBUS line for bus powred devices. They saids if capacitance is quite large, pins on USB connector would be melt by rush current when you connect plug.
This seemed weird to me too. It was suggested in a private message that I do this. It is from the suggestions here: https://learn.adafruit.com/adafruit-neopixel-uberguide/power .
I reduced it to 10uF per your suggestion. Can I add this capacitor directly from the Teensy's VCC and GND, as I show in the newest PCB version? This allows me to plug the USB cable directly into the Teensy and skip using a second USB like on the Ergodox.

- You can prepare additional pattern for spare capacitor on left side which can be soldered if your circuit is not stable enough.
I added a empty C4 cap between pins 1 and 11 on the IO expander. I also added a .1uF to help clean the signal. Is this what you mean?

- I have never used SK6812. Its datasheet recommend bypass capacitor on each SK6812 on typical circuit.
I will have to look into this more.

It's important to note that I don't ever plan on lighting up all the LEDs full brightness at the same time. I only want them for visual cues on the layers. For example: In main layer only light up asdf & jkl; . In navigation layer, light up hjkl and a few other keys in green to show Vim keys. If caps lock is on, light up the letter keys in a dim red.
My plan is NOT to light up my keyboard like a dance club.

THANK YOU for all your input! I really appreciate it and I'm excited to be so close to making this a reality.

152611-0
152613-1
« Last Edit: Thu, 10 November 2016, 16:33:42 by Tye »

Offline Eszett

  • Posts: 543
  • Supporting the communities Geekhack & Deskthority
Re: The Living PCB Design Thread
« Reply #381 on: Thu, 17 November 2016, 19:08:04 »
Hi! One question. I've looked at the schematics of dhcabinian. What is the sense of having this capacitor near the USB connector? AFAIK a capacitor stabilizes a VCC signal near an IC, but the USB connector is a passive component, why having a capacitor there?

Offline hanya

  • Posts: 132
  • Location: Japan
Re: The Living PCB Design Thread
« Reply #382 on: Sat, 19 November 2016, 07:54:03 »
Hi! One question. I've looked at the schematics of dhcabinian. What is the sense of having this capacitor near the USB connector? AFAIK a capacitor stabilizes a VCC signal near an IC, but the USB connector is a passive component, why having a capacitor there?
Show Image

It is used to increase response of power line if power source is placed far away from the circuit. The capacitor works like a power tank for the local circuit. It is placed near the connector or near important circuit which consume much power. In general, USB cable is longer than local traces in the circuit, so it is recommended to put near the USB connector.
PFU HHKB JP, Sanwa MA-TB38 trackball

Offline Eszett

  • Posts: 543
  • Supporting the communities Geekhack & Deskthority
Re: The Living PCB Design Thread
« Reply #383 on: Sun, 20 November 2016, 05:15:19 »
hanya thanks for the explanation. However I never saw this type of capacitor before in keyboard PCBs, I guess it's rare because not really necessary?

Offline hanya

  • Posts: 132
  • Location: Japan
Re: The Living PCB Design Thread
« Reply #384 on: Sun, 20 November 2016, 10:10:42 »
If you have large capacitor placed near the circuit, it might enough to make the power stable. Most MCU specification recommends large capacitor (like 1-4.7 uF) and decoupling capacitor.
If you have regulator to change power voltage on your circuit, it needs some capacitor to make power source stable. The capacitor works like a tank to store some power from USB cable.
Most keyboard matrix does not consume large current, so we might not need it.
Some MCU which consume much current needs such care. It seems EPS32 modules needs 204mA at start up and it does not work with simple USB connection.
PFU HHKB JP, Sanwa MA-TB38 trackball

Offline deadall127

  • Posts: 17
  • Location: France
Re: The Living PCB Design Thread
« Reply #385 on: Sun, 20 November 2016, 15:39:13 »
it is just a matter of choice, you prefer a keyboard with a beautiful gold finished PCB or a hand-wired one?
or would you prefer $400 mechanical switches or some kind of $5 ****ty keyboard?
it's the same for decoupling and bulk capacitors, it works without it but it's not professional, not beautiful ;)

Offline Eszett

  • Posts: 543
  • Supporting the communities Geekhack & Deskthority
Re: The Living PCB Design Thread
« Reply #386 on: Sun, 20 November 2016, 21:43:41 »
Quote
It seems EPS32 modules needs 204mA at start up and it does not work with simple USB connection.
Alright, but I still don't understand why it has to be placed close to the USB connector? Could be placed anywhere else, no?
« Last Edit: Sun, 20 November 2016, 21:52:28 by Eszett »

Offline deadall127

  • Posts: 17
  • Location: France
Re: The Living PCB Design Thread
« Reply #387 on: Mon, 21 November 2016, 09:32:49 »
Quote
Alright, but I still don't understand why it has to be placed close to the USB connector? Could be placed anywhere else, no?

yeah, bulk capacitors haven't to be close to the power input as decoupling ones have to be closest as possible to the device powered

Offline tee-eye

  • Posts: 25
  • Location: oregon
Re: The Living PCB Design Thread
« Reply #388 on: Tue, 22 November 2016, 01:15:40 »
Hey yall.
So I am starting on my first full PCB design.
I was originally going to spend the time and look at putting an atmega 32u4 right on the board but for now, I am just going to design one that uses the teensy LC.
can anyone take a look at my schematic and see if anything looks wrong?
153464-0

thank you all..
I am basically taking a keycool 84 layout but seperating the function row from the numbers.
« Last Edit: Tue, 22 November 2016, 04:44:44 by tee-eye »

Offline Eszett

  • Posts: 543
  • Supporting the communities Geekhack & Deskthority
Re: The Living PCB Design Thread
« Reply #389 on: Tue, 22 November 2016, 01:38:33 »
@deadall Ye, right.
« Last Edit: Wed, 23 November 2016, 19:42:41 by Eszett »

Offline deadall127

  • Posts: 17
  • Location: France
Re: The Living PCB Design Thread
« Reply #390 on: Thu, 24 November 2016, 02:35:10 »
Hey yall.
So I am starting on my first full PCB design.
I was originally going to spend the time and look at putting an atmega 32u4 right on the board but for now, I am just going to design one that uses the teensy LC.
can anyone take a look at my schematic and see if anything looks wrong?
(Attachment Link)

thank you all..
I am basically taking a keycool 84 layout but seperating the function row from the numbers.

there is some strange things, (wire on other wire) but I'm waiting for the pcb routing before I can tell if there is something wrong ;)
and I don't know the pinout of the teensy...

Offline tee-eye

  • Posts: 25
  • Location: oregon
Re: The Living PCB Design Thread
« Reply #391 on: Thu, 24 November 2016, 14:13:17 »
Well good news
I actually scrapped that one
I was trying out eagle and decided didn't like it.
So I restarted in ki cad and am much more comfortable so I'll be posting again soon

Offline dantan

  • Posts: 288
Re: The Living PCB Design Thread
« Reply #392 on: Mon, 28 November 2016, 11:04:59 »
I had a question about bridging traces on a PCB. I posted it here https://geekhack.org/index.php?topic=86066.0

Hope to get some help. I don't understand how come a PCB has traces that skip alternate keys.

Offline TalkingTree

  • Posts: 2452
  • Location: Italy (142)
    • My projects
Re: The Living PCB Design Thread
« Reply #393 on: Sun, 11 December 2016, 15:26:47 »
I need some noob questions answered.

1. In universal PCBs, duplicated keys (such as on-center and stepped Caps lock) share the same diode. Is that enough for the firmware (namely TMK) to consider them as one key alone or do I need something else to avoid overcrowding the matrix?
2. I'm using a Teensy 2.0 and, by looking at the firmware, looks like each LED indicator requires a dedicated pad on the controller, is that correct?
3. How do I actually connect the LEDs? I assume anodes go to controller pads, but what about the cathodes?
4. I'll be using 2x3x4 mm LEDs, green and reds which are rated for 2.2V. I calculated the resistance needed on this website and it reads 150 Ohms. Is that correct?

Thanks.
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 #394 on: Mon, 12 December 2016, 02:17:03 »
1. Well obviously don't populate more than one switch per diode.
2. How else do you plan to control them separately? You can do that matrix style as well. Or with extra chips, like expanders or shift registers.
3. It's commonly done the other way around, cathode to controller. I think that is more of historical reasons where chips had greater capacity to sink than source current. The Teensy should have symmetric sink/source capabilities according to the datasheet.
4. Totally depends on the current you want. If you are running at 5V and you want the LED to drop 2.2V you need to drop 2.8V over the resistor. After that apply Ohm's law and get the required resistance. With 150Ω you get 2.8V/150Ω=~20mA. That's probably going to be blinding, but within spec for the LED. If you use controller pins with PWM for the LEDs you can adjust the intensity (duty cycle) for them through software. Another reason to use dedicated IO pins for LEDs rather than expansions.

There, perhaps that came out in a harsh tone. If so it wasn't on purpose. I like to help =)

"If you never ask you won't have any answers"
« Last Edit: Mon, 12 December 2016, 02:19:49 by bpiphany »

Offline TalkingTree

  • Posts: 2452
  • Location: Italy (142)
    • My projects
Re: The Living PCB Design Thread
« Reply #395 on: Mon, 12 December 2016, 07:07:53 »
1. Well obviously don't populate more than one switch per diode.
So it just takes to connect them electrically and populate the matrix as if the secondary key isn't there. Correct?

You can do that matrix style as well.
Interesting, but since I have enough pads on my controller, I'll go for indivual connections for the time being.

Or with extra chips, like expanders or shift registers.
That's way beyond my electronics knowledge. I'm no engineer but a mere hobbist.

3. It's commonly done the other way around, cathode to controller. I think that is more of historical reasons where chips had greater capacity to sink than source current. The Teensy should have symmetric sink/source capabilities according to the datasheet.
By the looks of your statement, I guess it's safe to connect pad to anode then, but I'll follow your suggestion and go for the cathode. It's still unclear to me where to connect the other end of the LED.

4. Totally depends on the current you want. If you are running at 5V and you want the LED to drop 2.2V you need to drop 2.8V over the resistor. After that apply Ohm's law and get the required resistance. With 150Ω you get 2.8V/150Ω=~20mA. That's probably going to be blinding, but within spec for the LED. If you use controller pins with PWM for the LEDs you can adjust the intensity (duty cycle) for them through software. Another reason to use dedicated IO pins for LEDs rather than expansions.
Good, because I don't know where to start with expansions. The LEDs I have are rated for 20 mAh and they are going beneath a windowed cap anyway, so I guess I should be safe with that.

There, perhaps that came out in a harsh tone. If so it wasn't on purpose. I like to help =)

"If you never ask you won't have any answers"
Actually your tone sounded more like straightforward than harsh and I do appreciate your patience, explainations and the time you're wasting for me.
My opensource projects: GH80-3000, TOAD, XMMX. Classified: stuff

Offline pomk

  • Posts: 470
  • Location: Finland
Re: The Living PCB Design Thread
« Reply #396 on: Mon, 12 December 2016, 07:25:51 »
4. Totally depends on the current you want. If you are running at 5V and you want the LED to drop 2.2V you need to drop 2.8V over the resistor. After that apply Ohm's law and get the required resistance. With 150Ω you get 2.8V/150Ω=~20mA. That's probably going to be blinding, but within spec for the LED. If you use controller pins with PWM for the LEDs you can adjust the intensity (duty cycle) for them through software. Another reason to use dedicated IO pins for LEDs rather than expansions.
Good, because I don't know where to start with expansions. The LEDs I have are rated for 20 mAh and they are going beneath a windowed cap anyway, so I guess I should be safe with that.
I would suggest going for a 500-1000Ω resistor. The 20mA is likely the maximum the LED can withstand, and a lower current will give your LEDs better life expectancy. Also, the LED is going to be blinding. For example VE-A went with 1k if I remember correctly. PWM is also an option to make it less blinding, as bpiphany already suggested.

Offline TalkingTree

  • Posts: 2452
  • Location: Italy (142)
    • My projects
Re: The Living PCB Design Thread
« Reply #397 on: Mon, 12 December 2016, 07:39:17 »
I would suggest going for a 500-1000Ω resistor. The 20mA is likely the maximum the LED can withstand, and a lower current will give your LEDs better life expectancy. Also, the LED is going to be blinding. For example VE-A went with 1k if I remember correctly. PWM is also an option to make it less blinding, as bpiphany already suggested.
Noted. Much obliged.
My opensource projects: GH80-3000, TOAD, XMMX. Classified: stuff

Offline pomk

  • Posts: 470
  • Location: Finland
Re: The Living PCB Design Thread
« Reply #398 on: Mon, 12 December 2016, 08:19:52 »
The other pin one the LED goes to ground or VCC, depending on the orientation of the LED. Ie. if the anode is connected to the MCU, the cathode is connected to ground, and if the cathode is connected to MCU, you should connect the anode to VCC.

Offline menuhin

  • Posts: 1225
  • Location: Germany
Re: The Living PCB Design Thread
« Reply #399 on: Mon, 12 December 2016, 08:48:13 »
Where is a good source to get a PCB made in Europe? Like ExpressPCB or EasyEDA.
Wishlist: 1) nice thick Alps caps; 2) Cherry profile POM;
More
Wishful-list: 1) We order from keyboard-layout-editor.com; 2) usable Trackpoint module for all keyboards
IBM M13 black
NeXT non-ADB keyboard (AAE)
HHKB Pro 2 HasuBT
[~90WPM, in love with Emacs, and Lisp]