Project Description
A lot of people are using mechanical keyboard. Having a custom SUSE-branded keycap would be cool. The idea is to create a set of 3D models for such keycaps in various profiles for everyone to print.
Goal for this Hackweek
- List the required profiles
- Create STL files for each of them
- 3D print and test if possible
Resources
- 3D printer, I don't have one
Looking for hackers with the skills:
This project is part of:
Hack Week 21
Activity
Comments
-
over 2 years ago by bmwiedemann | Reply
For the instructions for the previous mini batch of black-chameleon-on-green keycaps see https://mailman.suse.de/mlarch/SuSE/maxtorhof/2018/maxtorhof.2018.02/msg00022.html
-
over 2 years ago by bmwiedemann | Reply
Would also be cool if we could get the Geeko as a standard keycap into https://www.wasdkeyboards.com/products/keycaps.html?p=2 next to Arch, Debian and Mint
-
over 2 years ago by rainerkoenig | Reply
The question is: 3D print the keycap or do it in a more professional way? In my previous job I worked at Fujitsu and when we were producing keyboards they were taking raw keyboads and then engraving them with a laser. You can see lots of videos on keyboard laser engraving on YouTube. Maybe there are services around that do custom keyboards with laser engraving.
On the other hand there are laser cutters for 3D printers on the market, so you could also try to engrave them at home with a 3D printer plus laser unit. I have no idea how precise this is.
3D printing could be possible as well, but don't expect very high quality (shiny surface) from a 3D printed keycap, at least with PLA. Maybe ABS and then finishing it wir Aceton works better. But keep in mind the usually the nozzle of a 3D printer has a diameter of 0.4 mm, so the question is how good the logo will come out with this limitations.
-
over 2 years ago by rainerkoenig | Reply
There are STLs for Cherry Keycaps on Thingiverse. I just setup my 3D printer to try out...
-
over 2 years ago by rainerkoenig | Reply
Half an hour later:
Printed with 0.1mm resolution. The side surfaces are great, the top is a bit rough because its round and not flat.
-
over 2 years ago by rainerkoenig | Reply
Took the SVG scaled and extruded it in openSCAD. Then export to STL. Then then merging this with the STL of the key cap in FreeCAD. STL-Export again. Result: FDM printer is at its limits when using a 0.4 mm nozzle). Maybe better results with resin printers that have a higher resolution.
-
over 2 years ago by cbosdonnat | Reply
Could it help using some filler and sanding to get a better surface before drawing on it?
-
-
over 2 years ago by MattK | Reply
I have a modified CR-10 and have tried to make keycaps before with varying levels of success. I've also tried printing molds in TPU and then using them to make resin keycaps. My smallest nozzle right now is 0.4mm though. Maybe this is my excuse to finally buy a resin printer.
-
over 2 years ago by cbosdonnat | Reply
Not really 3D printable models, but still instructions to build brandable keycaps: https://www.instructables.com/Wooden-Keycaps-Using-Hand-Tools/
Similar Projects
Build a split keyboard from scratch by mpagot
Description
I'm getting older... this summer I experienced an annoying and persistent tingling in one hand and arm. That was the initial motivation to get more interested in ergonomic work gadgets, and from that to split keyboards. And that was the entrance in a rabbit hole.
Which keyboard I like to create:
- Split keyboard for ergonomic (I'm not primary interested in having it portable)
- I have big hands: I like it to fit as much as possible my hands measures
- Columnar stagger keys position
- Not too few keys (at the moment I'm at 24 + 24)
- One row thumb cluster
- No wireless, not to have batteries and for security reason
- CherryMX, or generally speaking no low profile/corne choc
- Hot swap Socket switches
Goals
- Create PCB design for a split keyboard
- Get it produced
- Mount it
- Evaluate FWs
Resources
- Main project repo: Zenga
- ZKM config for a hand wired 4 keys something: nne
- Blog posts opensuse.hackweek.2024
Progress
Day1
Get the existing Ergogen project working on my TW machine Get Kicad as flatpack Go back to the https://flatfootfox.com/ergogen-part3-pcbs/ Join the #ergogen Discord channel and ask for help about the nets
Day2
Redesign the keyboard matrix on Inkscape Implement it in the Ergogen YAML format Create a Kicad PCB file Start routing it Iterate over the matrix arrangement to try to implement it like 2 layer board and ideally with not vias Get some Kicad tutorials
Day3
Get my hand dirty building a 2x2 key matrix --> welcome to nne
Look at ZKM and how to configure it --> https://github.com/michelepagot/zmk-config-nne Get the FW built by github, try to flash it: get matrix scan pulse but no keys to the PC
Get in contact with ceoloide
, an Ergogen maintainer, about net issue.
SUSE AI Meets the Game Board by moio
Use tabletopgames.ai’s open source TAG and PyTAG frameworks to apply Statistical Forward Planning and Deep Reinforcement Learning to two board games of our own design. On an all-green, all-open source, all-AWS stack!
Results: Infrastructure Achievements
We successfully built and automated a containerized stack to support our AI experiments. This included:
- a Fully-Automated, One-Command, GPU-accelerated Kubernetes setup: we created an OpenTofu based script, tofu-tag, to deploy SUSE's RKE2 Kubernetes running on CUDA-enabled nodes in AWS, powered by openSUSE with GPU drivers and gpu-operator
- Containerization of the TAG and PyTAG frameworks: TAG (Tabletop AI Games) and PyTAG were patched for seamless deployment in containerized environments. We automated the container image creation process with GitHub Actions. Our forks (PRs upstream upcoming):
./deploy.sh
and voilà - Kubernetes running PyTAG (k9s
, above) with GPU acceleration (nvtop
, below)
Results: Game Design Insights
Our project focused on modeling and analyzing two card games of our own design within the TAG framework:
- Game Modeling: We implemented models for Dario's "Bamboo" and Silvio's "Totoro" and "R3" games, enabling AI agents to play thousands of games ...in minutes!
- AI-driven optimization: By analyzing statistical data on moves, strategies, and outcomes, we iteratively tweaked the game mechanics and rules to achieve better balance and player engagement.
- Advanced analytics: Leveraging AI agents with Monte Carlo Tree Search (MCTS) and random action selection, we compared performance metrics to identify optimal strategies and uncover opportunities for game refinement .
- more about Bamboo on Dario's site
- more about R3 on Silvio's site (italian, translation coming)
- more about Totoro on Silvio's site
A family picture of our card games in progress. From the top: Bamboo, Totoro, R3
Results: Learning, Collaboration, and Innovation
Beyond technical accomplishments, the project showcased innovative approaches to coding, learning, and teamwork:
- "Trio programming" with AI assistance: Our "trio programming" approach—two developers and GitHub Copilot—was a standout success, especially in handling slightly-repetitive but not-quite-exactly-copypaste tasks. Java as a language tends to be verbose and we found it to be fitting particularly well.
- AI tools for reporting and documentation: We extensively used AI chatbots to streamline writing and reporting. (Including writing this report! ...but this note was added manually during edit!)
- GPU compute expertise: Overcoming challenges with CUDA drivers and cloud infrastructure deepened our understanding of GPU-accelerated workloads in the open-source ecosystem.
- Game design as a learning platform: By blending AI techniques with creative game design, we learned not only about AI strategies but also about making games fun, engaging, and balanced.
Last but not least we had a lot of fun! ...and this was definitely not a chatbot generated line!
The Context: AI + Board Games