geekhack Projects > Making Stuff Together!

How do I decide what components to use on a custom PCB?

<< < (3/3)

TomahawkLabs:
My biggest concern was SMD capacitors and resistors. My hope was to give a universal schematic with THT parts. A gift to those who want to make a USB keyboard out of an old Alps board with a one off layout. Ordering 10 bare PCBs at 18” x 6” vs ordering a PCB that is populated and 18” x 6” is a big difference.

Applet:
I'd recommend to stay away from the ATMEGA32A these days. I've had issues with V-USB keyboards and USB-hubs for example. If you want to keep the kit THT, I'd opt for using a dedicated controller like a pro-micro, nice-nano or similar. Then you could have all parts of the kit as THT-parts, but one of the part has SMD components on it.

TomahawkLabs:

--- Quote from: Applet on Thu, 03 October 2024, 02:34:19 ---I'd recommend to stay away from the ATMEGA32A these days. I've had issues with V-USB keyboards and USB-hubs for example. If you want to keep the kit THT, I'd opt for using a dedicated controller like a pro-micro, nice-nano or similar. Then you could have all parts of the kit as THT-parts, but one of the part has SMD components on it.

--- End quote ---

I did look at ATMEGA 32u4 modules and RP2040 modules, but I wasn't able to find an off the shelf solution that gave me the GPIO I needed, but in a form factor I wanted. Maybe the best solution is to design my own 32u4 module to use as a drop in part for a PCB that is only populated by LEDs, switches, and diodes. I am trying to find a solution that has the D+ and D- broken out as a GPIO pin vs an integrated USB because of I want to use a DINN connector for the USB cable.

Applet:
Do you really need that many GPIOs? There's ways to reduce GPIO count, for example using a "duplex maxtrix": https://wiki.ai03.com/books/pcb-design/page/matrices-and-duplex-matrix

Adafruit makes a controller with USB exposed and uses a MCU that is suitable for use with QMK: https://www.adafruit.com/product/5302

EDIT: Nothing wrong with wanting to write your own firmware, but, if your aim for this project is to make it available for others, I'd highly recommend to design it in a way where QMK will work.

TomahawkLabs:

--- Quote from: Applet on Fri, 04 October 2024, 02:11:53 ---Do you really need that many GPIOs? There's ways to reduce GPIO count, for example using a "duplex maxtrix": https://wiki.ai03.com/books/pcb-design/page/matrices-and-duplex-matrix

Adafruit makes a controller with USB exposed and uses a MCU that is suitable for use with QMK: https://www.adafruit.com/product/5302

EDIT: Nothing wrong with wanting to write your own firmware, but, if your aim for this project is to make it available for others, I'd highly recommend to design it in a way where QMK will work.

--- End quote ---

Do I really "need" the GPIO? Probably not, but currently there are few to no options on the market if you wanted to convert a vintage full size keyboard into USB without some kind of external converter. I wanted to create a solution to allow people like myself who want to daily drive a vintage keyboard or want to create something that doesn't exist. The MCU is clearly the most complicated part of any keyboard PCB. Having a drop in solution similar to the Teensy, but with enough GPIO to cover any layout or extra features with less complication. The I have tried tackling this idea using a few different microcontroller ideas and the 32u4 just doesn't have enough pins for the simplicity I want.

It really does seem that the Raspberry Pi RP2040 is the proper solution. Plenty of GPIO for a full size keyboard and LED status indicators. I will play with KiCAD this weekend to see if I can design a 2x4 macropad with status LEDs using the RP2040 hardware design document to create a one sided PCB I can order.

You're right. As someone with HTML experience as my only coding experience wanting to write my own firmware was a pipe dream at best.

Navigation

[0] Message Index

[*] Previous page

Go to full version