geekhack
geekhack Community => Keyboards => Topic started by: NorrittMTG on Sat, 02 January 2021, 17:11:22
-
Heya,
I’ve been around a little bit and just starting to try and develop my knowledge.
Learnt a fair amount along the way and loved the journey, just starting to design bits more and more.
If I’m getting a keyboard PCB manufactured how does it work exactly?
I’ve seen that people use jlcpcb and they offer an assembly service...
What about the MCU?
I’m assuming they won’t flash the MCU for you right, even if they can do all the assembly stuff?
Experience and advice welcome.
Thanks all
-
You can get PCBs either bare or assembled. If you need assembly you need to compile a bill-of-materials and position files. The instructions for those usually vary by the PCB manufacturer - e.g. JLCPCB's instructions are here (https://support.jlcpcb.com/article/84-how-to-generate-the-bom-and-centroid-file-from-kicad). You can browse their websites for how to upload a position and BOM file.
JLCPCB does fairly limited assembly, but with a lot of limitations - they will only do SMD parts (i.e. no USB ports or connectors), only assemble parts they keep in stock (you can see if they stock the parts here (https://jlcpcb.com/parts)), only do HASL-Lead-Free finish, and only do up to 50 pieces. Any parts they won't solder on you'll have to solder on yourself. Until recently only green solder mask was available if you were getting PCB assembly done (though they do offer black now). In exchange for those limitations, JLCPCB is quite cheap and has very fast turnaround times (days rather than weeks). For most keyboard designers, because of those limitations, they only use JLCPCB for prototypes, and only if they're good enough at soldering to solder on a USB port on themselves.
Other places such as PCBWay, AllPCB, and Elecrow do full-service PCB assembly - this means they'll do all kinds of parts (USB ports, through-hole, BGA, etc.), assemble parts they don't stock themselves, and can assemble PCBs in any quantity, but they do cost a lot more and the lead times are significantly longer. They can also flash the MCUs for you for an extra fee.
-
Hello!
I think that Pylon pretty much answered your questions.
I'll just add minor information based on my small experience at doing keyboard PCB.
For my last design I was tempted to used the very new JLCPCB assembly service.
I saw during component placement review that most coponents were not properly aligned, so I did not use their assembly service and did all the soldering by myself.
Quite a good amount of time has passed and many people that used this assembly service and have been pretty happy with it.
Also even if the component are not correctly placed during the review it does not look to really matter as they are doing a manual inspection and place all the components at their correct position and orientation.
Most of the components to populate a board are available:
- diodes, resistors, capacitors can be found in their basic line of components.
- MCU and crystal in their extended line of components.
You are somewhat limited in MCU offering:
- ATMEGA32u4 in QFN package only: ok if you let JLCPCB do the soldering for you but quite tricky to do yourself without experience and good equipment.
- Good amount STM32 MCU variants but most are out of stock at the moment (wafer chips are made in Italy, Covid situation seem to have slowed/stopped their production capacity).
JLCPCB now also offer other colors than green as said Pylon: Green, Blue and Black (not matte version).
They also offer ENIG finish in addition to HASL.
I will definitely test their assembly service for my new PCB design in the upcoming weeks, and post a quick feedback here if you are interested.
The remaining components I usually order them from their sister company LCSC, they share the same compoment reference numbers used in JLCPCB assembly service.
It does not hurt to buy a few spare of compoments just in case some are not working or not correctly soldered, mostly thinking on the diodes (those are very cheap).
As for MCU flashing.
Atmegas with USB support (atmega32u4/32u2, AT90USB variants) and STM32 MCUs (I don't have experience with them, just a small warning) have a bootloader installed.
All you need is QMK Tool Box to flash your QMK firmware though the USB bus.
-
Are you thinking of designing everything yourself or are you just curious how it works and you might decide to commission a PCB design? If it's the former, I think the other comments have already covered it. If it's the latter, usually you don't have to worry about the firmware. Your designer will often be able to write the firmware for you and make the pull request to QMK. VIA support is usually a bit more involved but can also be done by the designer.
I would recommend not paying extra to get the PCBs flashed by the manufacturer. It takes only a few seconds to do it yourself per PCB, so depending on the number of units you want to order, you can probably save a decent chunk of money this way.
If you happen to speak Mandarin and have a Wechat account, there are some smaller Chinese manufacturers that can do quantities in the hundreds for cheaper than the more well-known manufacturers that others have mentioned here.
-
Many can flash firmware, just need to ask.