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

Add Azoteq TPS65 trackpad and NIZ socket #41

Merged
merged 14 commits into from
Jan 21, 2025

Conversation

Olson3R
Copy link
Contributor

@Olson3R Olson3R commented Jan 14, 2025

Adding part for Azoteq TPS65 trackpad and NIZ (rubber dome/topre).

  • For the NIZ switch, I'm trying out AH3572 HE switches. I'm not sure if they can be wired into a matrix... Possibly have to be direct pins.

Purchased mine from:
https://www.mouser.com/ProductDetail/Azoteq/TPS65-201A-S?qs=pfd5qewlna5Lh8O0E8DcUQ%3D%3D
https://shop.beekeeb.com/product/niz-ec-switch/
https://www.digikey.com/en/products/detail/diodes-incorporated/AH3572-P-B/9649753

Example:
image
image

Copy link

vercel bot commented Jan 14, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
cosmos-keyboards ✅ Ready (Inspect) Visit Preview Jan 20, 2025 3:28pm

@rianadon rianadon changed the title Add Azoteq TPS65 trackpad Add Azoteq TPS65 trackpad and NIZ socket Jan 16, 2025
@rianadon
Copy link
Owner

Loving the models! A few comments:

  1. I noticed the socket for the NIZ switch is quite wide. Is it possible to reduce the border around the part to reduce its size? Because Cosmos adds webbing and walls all around the switch you barely need any border around the holes for strength. Thickness of 0.1mm on the outer walls is ok. Just don't make the socket smaller than 18x18–that's the limit at which things will start intersecting the MX keycaps.

  2. Similarly, you could could reduce the border thickness on the trackpad socket. Or, you could simply delete the entire 4mm tall border so that only the 2.5mm tall part is left. Keeping socketSize at 4mm will ensure that Cosmos adds its own 4mm tall border around the socket. This is how the display models work. And don't worry about the rounded corners because the trackpad will be held in by the 4 sides.

    Personally I think the model looks better with that padding, but it's ultimately better the model is as small as we can get it. Configurable padding around keys is something I can add to the generator.

  3. If you have the STEP for the trackpad model, I'd appreciate if you could bundle that step file for the socket, and name each according to the documentation. It's easier for me and others to edit the model later on if it's a STEP.

  4. If you don't mind adding a little more detail to the niz switch model, that would help a ton. If you can get the silhouette correct, I have a pipeline (renderSwitch.ts + tracing in inkscape) to produce the switch icons in the dropdown menu.

  5. Docs for assembling the niz switches / hardware can go in another PR.

src/model_gen/parts.ts Outdated Show resolved Hide resolved
@rianadon
Copy link
Owner

One more thing: you should check what the distance from keycap bottom -> keyboard top is when the switch is both pressed and not pressed. That information goes into src/lib/geometry/switches.ts, and the lack of configuration here might be what's causing the intersection errors.

@Olson3R
Copy link
Contributor Author

Olson3R commented Jan 19, 2025

Adding the switch heights did the trick!
Anything else you want for this?

{:else if $protoConfig.partType.type == 'niz'}
<InfoBox>
<p>
This variant requires direct pin assignment to the microcontroller and a well-tuned 3D printer.
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume this is because the Niz switch is press-fitted into the socket? It'd be great if we had a solution that doesn't require press-fitting, but I see little helpful to create a latching mechanism in the Niz switch housing.

P.S. The PR looks A-OK to me!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, they are press fit.
They do have slots for tabs, but IMO, it would be tough to 3d print something with FFM. Less sure about resin.

I may eventually look for a different HE sensor again. Getting it into a matrix setup would definitely be ideal.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, I see. Tabs are pretty tough to print consistently across FDM printers.

Thanks again for the PR! It would be cool to see this working with a matrix, but I'm out of ideas on how to make it work.

@rianadon rianadon merged commit c42e6a5 into rianadon:main Jan 21, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants