geekhack
geekhack Projects => Making Stuff Together! => Topic started by: murasaki on Fri, 04 February 2022, 22:24:18
-
Hello my keeb friends!
I hope you all are having a wonderful day. ;D
I am designing a keyboard PCB for the very first time, and looking for some feedback on the schematics, routing, and placement of the components.
I started learning PCB design from scratch a few months back with no prior knowledge of electrical engineering or circuit design. I followed different tutorials several times and learned a lot along the way, yet I still assume there are errors and mistakes I am not even aware of.
I would appreciate it very much if you can spot any mistakes or things you would do differently in the design, or even share with me general advice for a first-time newbie like me.
Details and screenshots follow.
Thanks so much in advance!
Overview of the design
- ATmega32u2
- USB Type-C
- Hot-swap sockets
- Per-key RGB LED with SK6812 MINI-E
- Underglow RGB with WS2812B
Screenshots below include:
- Schematics (Main logic, key matrix, LEDs)
- Routings (Font / back + near the crystal zoomed in + around the USB zoomed in )
-
Welcome to geekhack :)
When I see "first PCB" I'm expecting a strange layout and maybe a couple of RGBs for backlighting, not endgame "all the LEDs!" - very impressive!
Sadly I'm not confident checking such an advanced design so here's a bump in the hope someone else is.
-
Welcome to geekhack :)
When I see "first PCB" I'm expecting a strange layout and maybe a couple of RGBs for backlighting, not endgame "all the LEDs!" - very impressive!
Sadly I'm not confident checking such an advanced design so here's a bump in the hope someone else is.
Hey thanks for the bump! ;D
Yeah, maybe I should've started with something small, but I thought it'd be more fun to challenge myself and make something that I would actually want to use every day.
And it's all thanks to this great community and those who left detailed information and tutorials that I can take that path!
-
You will probably need a driver to supply the current for the leds if you haven't implimented one already.
-
You will probably need a driver to supply the current for the leds if you haven't implimented one already.
Hi nevin, thanks for your advice!
I'm such a noob and have no idea where to look to find the answer..
Could you maybe point me in the right direction or share with me some links that teach me on that topic?
Also I came across some additional questions about LEDs while I was seeking the answer to your comment.
- Do I need a resister between the MCU and the first LED?
- Do I need a resister and a capacitor for each LED?
-
@nevin: Maybe he will not need a driver. Looks like he is using some kind of strip RGB leds with an integrated IC controller and a data feed line only. I may be wrong. I did not find the precise part he is using.
@jota: You likely do not need any resistors. But it depends on the precise specification of your LEDs and their built in control circuit. Read the data sheet for the LEDs.
EDIT: You may need a capacitor for each led. Take care for the maximum total capacitive load of your power source. Likely you will need to add an NTC thermistor or some other part (e.g parts for active LED power control from MCU) to obey maximum capacitive load of your power source.
I did not check the schematic nor anything else. Only the LEDs took my attention so I checked it a tiny bit.
-
@nevin: Maybe he will not need a driver. Looks like he is using some kind of strip RGB leds with an integrated IC controller and a data feed line only. I may be wrong. I did not find the precise part he is using.
@jota: You likely do not need any resistors. But it depends on the precise specification of your LEDs and their built in control circuit. Read the data sheet for the LEDs.
EDIT: You may need a capacitor for each led. Take care for the maximum total capacitive load of your power source. Likely you will need to add an NTC thermistor or some other part (e.g parts for active LED power control from MCU) to obey maximum capacitive load of your power source.
I did not check the schematic nor anything else. Only the LEDs took my attention so I checked it a tiny bit.
Hi vvp! Thanks so much for taking a look! Maybe it took you just a tiny bit of your time, but your quick look is worth more than tens of hours of me staring at the design myself. So thanks again.
-
if it was just an rgb underglow strip, no you probably wouldn't need any extra circuitry to drive the underglow. but they are planning per-key as well as underglow.
here are some resources i know of:
Ai03 & Gondolindrim have some good documentation & resources.
https://wiki.ai03.com/books/pcb-design/page/backlighting-and-rgb
http://acheronproject.com/pcbs/apollo/apollo87h/
https://github.com/AcheronProject
gondo streams regularly on twitch. walking through various pcb design's he's working on. and is usually open to questions.
https://www.twitch.tv/gondolindrim_
https://docs.qmk.fm/#/feature_rgb_matrix
and komar's blog (GH60 originator)
http://blog.komar.be/projects/gh60-programmable-keyboard/
https://github.com/komar007/gh60
-
if it was just an rgb underglow strip, no you probably wouldn't need any extra circuitry to drive the underglow. but they are planning per-key as well as underglow.
here are some resources i know of:
Ai03 & Gondolindrim have some good documentation & resources.
https://wiki.ai03.com/books/pcb-design/page/backlighting-and-rgb
http://acheronproject.com/pcbs/apollo/apollo87h/
https://github.com/AcheronProject
gondo streams regularly on twitch. walking through various pcb design's he's working on. and is usually open to questions.
https://www.twitch.tv/gondolindrim_
https://docs.qmk.fm/#/feature_rgb_matrix
and komar's blog (GH60 originator)
http://blog.komar.be/projects/gh60-programmable-keyboard/
https://github.com/komar007/gh60
nevin, thanks for all the links!
I will go over them one by one and hopefully, I will be more confident about my design when I'm done reading them.
-
cool, I found so many useful recommendations :'(