Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Case Construction #27

Open
8 of 9 tasks
bschwind opened this issue Oct 29, 2022 · 5 comments
Open
8 of 9 tasks

Case Construction #27

bschwind opened this issue Oct 29, 2022 · 5 comments
Labels
Milestone

Comments

@bschwind
Copy link
Owner

bschwind commented Oct 29, 2022

Tasks

PCB

  • Move row 0 diodes (top row or F row) below their switches instead of above to keep them off the edge of the PCB
  • Move row 0 traces to be below the switch

Plates

Case

  • Give some space for PCB-mount stabilizer screws, especially the spacebar on the bottom which is very close to the edge
  • Add some tolerance to the case walls, maybe 0.2 to 0.5 mm so the PCB and top plate can slot in more easily
  • Have the case support being placed on top of a macbook keyboard

Summary

I'd like to create a case for this keyboard, with three varieties:

  • A bottom-plate case, to protect the electronics on the bottom of the PCB. It will still be open from the sides
  • A 3D-printable (and maybe eventually aluminum CNC-able) case
  • Just a PCB and top plate, with the ability to attach some sort of screw-in rubber feet instead of requiring sticky pads for the feet

Ideally one PCB design will be able to work for all three case styles.

Measurements

  • Currently the tallest component on the board is the USB-C connector, at 3.26mm, followed by the QSPI flash module at 1.95mm, and the kailh hotswap sockets (if they're used) at 1.85mm.

USB-C Connector
Screen Shot 2022-10-29 at 10 57 56 PM
Flash Memory
Screen Shot 2022-10-29 at 10 13 35 PM
Kailh Hotswap Socket
Screen Shot 2022-10-29 at 10 18 50 PM

Constraints

  • The USB-C connector should still be mounted on the same side as the electronics for easier manufacturing
  • The reset and USB-boot buttons should ideally still be accessible in some way (side-mounted buttons? holes in the bottom plate?)
  • The design should require as few screws as possible, no nuts, and especially no custom 3D-printed spacers as I've used before.

Bottom Plate Design

Following on the design of other keyboards (such as the 7spro), there will be M2 spacers which go through the main PCB, with screws securing it to the top and bottom plates.

Image 2

I would try to get away with 8mm spacers first if the USB connector isn't as tall as it says in the datasheet, otherwise 9mm spacers will have to do.

The screws should be as flat as possible to stay flush with the top and bottom plate. 3-4mm length should be fine.

Screen Shot 2022-10-29 at 10 48 15 PM

Screen Shot 2022-10-29 at 10 48 22 PM

3D Case Design

Instead of having a bottom plate, the PCB will rest on the bottom of the case, with a slot cut out for the USB connector. There should be raised edges on the top and bottom edges of the case which the PCB will sit on.

There should be slot cutouts of some sort on the PCB edge to allow it to pass through to the bottom, with equivalent "posts" on the case itself, which will prop up the top plate on its edges and keep it at the right height away from the PCB.

IMG_4838

Screen Shot 2022-10-29 at 11 12 48 PM

These can run along the top and bottom of the PCB, the sides may not be necessary.

The "posts" in the 3D case which support the top plate should have M2-sized holes in them to allow for screws to tap into

To Be Determined

  • The drill radius needed to allow M2 spacers to pass through the PCB. (4.5mm)
  • How to provide adjustable angles on the keyboard (Add screw-holes on the corners of the bottom PCB for standoffs/feet #22)
  • Are these design compatible with assembling the keyboard in a sane/easy order? For the 3D case version, the switches need to be able to be soldered to the PCB before the PCB is placed in the case.
    • From some testing, it seems easiest to snap in some "anchor" switches in the plate on the corners and middle, then progressively add switches from there. The combined force from the snap-in clips on the switches provides enough tension to keep the top plate separated properly from the PCB.
@skywhale
Copy link

If you are okay with an aluminum back plate, then using rivet nuts (an example) is one easy way to make custom feet attachable.

@bschwind
Copy link
Owner Author

Here's a good video showing how a non-hotswap keyboard is expected to be constructed in a case similar to what I want to build:

https://youtu.be/017aGAJiNJg

@bschwind
Copy link
Owner Author

bschwind commented Nov 30, 2022

Some findings from @mcginty for adding threading to the PCB:

https://www.keyelco.com/category.cfm/Spacers-Standoffs/Standoffs-Spacers-Inserts-Surface-Mount/id/1335

https://www.mouser.com/ProductDetail/Keystone-Electronics/24929?qs=Znm5pLBrcAJPd1Bwfdw1vA%3D%3D

Specifically part 24939 which has an M3 thread.

These could be soldered directly to the PCB as a solid, no-fuss solution to adding threading points on the PCB.

Very similar to @skywhale 's suggestion of rivet nuts, but without the need of a special tool (besides a soldering iron) for attaching it.

@bschwind
Copy link
Owner Author

bschwind commented Dec 4, 2022

Progress with the "PCB with threaded inserts" version of the case:

Screen Shot 2022-12-04 at 9 35 01 PM

@bschwind bschwind added this to the v0.3 milestone Jan 1, 2023
@bschwind
Copy link
Owner Author

More progress!

Screen Shot 2023-01-24 at 1 01 07 AM

Screen Shot 2023-01-25 at 11 33 14 PM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants