keyboard-pcb-guide icon indicating copy to clipboard operation
keyboard-pcb-guide copied to clipboard

Anyone interested in updating this guide with an ARM chip?

Open sypl opened this issue 4 years ago • 17 comments

I'm interested in updating this guide to use a STM32F103 series chip. I feel more keyboards are going in this direction. More on board memory and other good stuff.

I'd also update it to use a type C USB connect and maybe use footprints for hotswap sockets (probably Kailh's).

Would you, @ruiqimao, be interested in doing this with me, or would it be better that I fork and write a separate guide?

sypl avatar Aug 02 '19 23:08 sypl

Did you end up writing this guide? I'd be interested.

LouWii avatar Oct 23 '19 05:10 LouWii

@LouWii Sorry, have been busy and stepped away from the keyboard stuff for a while. I'll maybe pick this up in the new year. I would need a collaborator though, so if anyone's interested, get in touch.

sypl avatar Nov 15 '19 13:11 sypl

@sypl hey, i've been following this guide for ages now and built 2 boards with it but would be very interested in those things you mentionend. depending on what you would need help/assistance with i would be interested!

liftylol avatar Nov 15 '19 13:11 liftylol

Edit: sorry, pasted completely the wrong schematic. Back in a sec.

sypl avatar Nov 26 '19 01:11 sypl

@liftylol Do you have experience of making keyboard PCBs with the STM32103? If so could you advise on this?:

I have this schematic, which I think is for the development board: vuf4ezsjl

Also, a similar thing in slightly different format: Vcc-gnd.com-STM32F103C8-schematic.pdf

I don't need the rows of header pins and I think we can do away with the bootloader bit (or is it absolutely needed?). If I get rid of those and wire everything up according to this schematic, then wire switched to GPIO pins like so, will we have a working PCB?: Screenshot 2019-11-26 at 01 39 38

sypl avatar Nov 26 '19 01:11 sypl

STM32F1 is pretty old as STM32 and it is known which has different register mapping. USB D+ line has pull-down resistor in the schematic but recent STM32 contains this pull-down in the MCU. STM32F0 is enough to make keyboard and can reduce BOM. If some people loves faster MCU, STMF3 would be good choice.

The schematic contains large capacitors in the power lines, they should be reduced to match to the keyboard like device.

D3 output should not connected to K4 output in the matrix.

hanya avatar Nov 30 '19 12:11 hanya

Thanks for the advice @hanya. I think I chose STM32F1 because I bought a development board for it. I think I'll try to do this with a STMF3. I'll try and find another schematic.

And thanks for pointint out the matrix error. Must have accidentally drawn an extra connection. Braindead.

sypl avatar Dec 07 '19 06:12 sypl

@sypl I'm in the middle of writing a keyboard design guide for the newer ARM processors, but the ones QMK uses most, STM32F303 and F072.

Gondolindrim avatar Jan 06 '20 03:01 Gondolindrim

@Gondolindrim That's awesome. What do you have so far? Would you be willing to share?

I managed to grab the schematic of a discovery board, and I think these are the part (in red boxes) that I reckon need to be implemented for a keyboard: Screenshot 2020-01-07 at 04 15 41

Included:

  • MCU, capacitors, crystals
  • data line unit
  • reset

Left out because I don't think they're needed:

  • header pins (top-right)
  • bootloader (top-middle)
  • power source (middle-left)
  • SWD interface
  • LEDs

Would you concur with this, or is this a hopelessly naive reading of the schematic?

sypl avatar Jan 07 '20 04:01 sypl

@sypl You can have a look at the schematic of STM32F072 Discovery kit: https://www.st.com/content/ccc/resource/technical/document/user_manual/3b/8d/46/57/b7/a9/49/b4/DM00099401.pdf/files/DM00099401.pdf/jcr:content/translations/en.DM00099401.pdf

You do not need the following components in the schematic shown:

  • R10, pull-down of the D+ line, sice it is contained in the MCU
  • R9 and R11, can be removed, some recent MCU are prepared for termination Other components can be omitted
  • Y3, 32kHz crystal might not be used by keyboard
  • Y2, 8MHz crystal, this can be omitted if you use crystal-less USB function by clock recovery system of STM32F072

hanya avatar Jan 07 '20 07:01 hanya

@sypl @hanya I have been developing ARM keyboards for quite a while now. See https://github.com/Gondolindrim/Tsuki https://github.com/Gondolindrim/SharkPCB https://github.com/Gondolindrim/ArcticPCB https://github.com/Gondolindrim/KeebsPCB

Gondolindrim avatar Jan 07 '20 15:01 Gondolindrim

@hanya Thanks for the tips. Good to know even more components can be jettisoned. Not sure if both crystals can be got rid of. I'm not sure if I've seen a keyboard PCB without one. Of course I'm no expert and you may be right on this one.

sypl avatar Jan 15 '20 00:01 sypl

@Gondolindrim Oh I know who you are now! I've seen some of these PCBs before. It's great what you're doing for open source hardware.

You clearly know a lot more about PCB design than me, I'm sure you're going to write a better guide than I ever could. In fact it might make me trying to write one here a duplication of effort. Having said that I think I'll keep this open as I try to increase my own understanding of what it takes to create a keyboard PCB. I will more than likely seek your advice, if that's ok.

sypl avatar Jan 15 '20 01:01 sypl

@Gondolindrim Has there been progress on the guide? I would be very interested in giving it a look.

lstubbig avatar Jun 05 '20 20:06 lstubbig

@lstubbig @sypl

I have decided to contribute to ai03's guide and we will eventually enrich it and add an ARM development guide too.

Gondolindrim avatar Jun 06 '20 13:06 Gondolindrim

I recently saw that one as well. I will check for more information on ARM now and then, thanks!

lstubbig avatar Jun 06 '20 15:06 lstubbig

@Gondolindrim @lstubbig I've not really been working on this, unfortunately. This is the ai03 guide, right? https://wiki.ai03.me/books/pcb-design/page/pcb-guide-part-1---preparations

It looks pretty thorough. Any timeline on the ARM dev guide?

sypl avatar Jun 06 '20 21:06 sypl