Author Topic: 3d printing keyboards discussion - best practices/tips includes large printers  (Read 10666 times)

0 Members and 1 Guest are viewing this topic.

Offline Leslieann

  • * Elevated Elder
  • Thread Starter
  • Posts: 4518
Mostly compiled from various threads I've replied in and am just trying to compile it all in one place and maybe foster more discussion.
Special thanks to Jamster who spawned the idea after one such discussion, I just kept putting it off.


First things first:
Note that this is not designed to teach you 3d printing basics or even advanced 3d printing, it's to give guidance in regards to 3d printing keyboards which have some specific things to consider (sound, size, complexity...). It covers very little in regards to wiring or designing the keyboard itself except in how to optimize it for 3d printing. Though some of this may be useful to someone prototyping a keyboard meant to be made with traditional methods it is not intended for that purpose.


This will be in two parts...
Basic 3d printing of keyboards and then a second about large format printers, ones that can do a keyboard in a single print.

Materials:
Why this first? Because material plays a large part in your design for multiple reasons.
PLA - It's cheap, easy to glue, shrinks very little (important for large items), however in my experience it's rough, harsh and has a very tinny sound. Even if I do a final project in PETG, I use PLA to prototype and test because it's just easier. Beware though, it will warp and deform in the summer heat.
ABS - It's cheap, sounds good, easy to glue but it's difficult to print due to layer adhesion and it's also terrible for large items due to shrinkage. It also smells terrible and that smell is toxic. For anything over a few inches it really needs a heated bed and in many cases, a heated chamber. "It's stronger than PLA", that's true when done properly, but when there's a problem, A.K.A. something as minute as a draft, it can be so weak you can crush it with your hand. If you can get it to work, great, but just understand the hassle of 3d printing in general gets more and more difficult the bigger your object and ABS is just not compatible with that.
Nylon - Not really stiff enough for much, and is in fact terrible for anything large at all and even more difficult than ABS to print. You could probably use it for a flexible plate if you designed it right but not if you're using hot swaps. Worse, you would probably need a commercial printer to do it at the necessary size. I wouldn't mess with it unless you have deep pockets or access to that sort of printing.
TPU or flexible filaments, really useful for gasket mount but not much else. yes, you could use it for a flexible plate, but like Nylon you would need to design around the flex. Also be prepared for the horrifically slow print speeds.
Carbon fiber anything - It lightens the plastic and adds strength (though only parallel to the layers) and while it makes it stiffer if makes it tinny, destroys nozzles and makes it more likely to fracture than bend. Not really a lot of reason to use it on a keyboard.
PET, PETG, PET+, Tglase, etc. - It's cheap, feels luxurious, heat resistant and sounds really good(!) the downside is that it can be a bit fickle with paint and glue so plan ahead and test. The shrink rate is close to PLA but not quite,so you may need to give it some help for large objects, but it's still far easier to work with than ABS. It's pretty much my go to for anything I want to keep.


Note: My preferred method is to use PETG, I use 3 perimeters and 40% infill. With the right design (see my 65% linked below) it results in a keyboard nearly as stiff as your typical steel plate/plastic case keyboard (very similar to my GMMK TKL) and it sounds quite good. Not the same as aluminum, it's different, but still darn good. Keep in mind the design will change how stiff it is but in the case of my 65% it was really good.


Design
Model Everything - If you haven't done anything multi-part, especially with fasteners model everything. It's extremely easy to put heads of screws against other (meaning no way to put them in) as well as simply forget to allow tool clearances. You can also forget to leave room for things such as switches. Use stand-ins if you have to, they can just be a box with no detail but they need to be to scale. This helps keep you grounded in terms of scale, but also makes sure you have no interference issues. You laugh, but it's easy to do and it's better to render something unnecessarily than to do your whole keyboard and find out you left no room for the switch. You laugh, but it's happened. A lot of people have great ideas, they just can't physically work in the real world, so render everything.

Don't stick with a traditional design, IMPORTANT!!!
By that I mean, don't try and make a thin plate held by a thin frame. You're not using traditional manufacturing or materials, stop using traditional designs. Different materials require different designs, a house built with bricks is quite different than a house made with timber even if for they perform the same function and even use many of the same parts. You are not going to get away with a 1.5mm plate and expect it to be strong/stiff enough, but you can add ribbing underneath and/or integrate the top cover. On my PF65 the plate and top cover are one piece and the plate extends down alongside the switches. Everything stacks flat on top of the previous layer similar to a polycarbonate plate case than a milled aluminum case. Once screwed together this creates a very stiff keyboard. You may prefer low profile but that extra top area can really add stiffness.

Here's a cutaway of my PF65:
292598-0


Other important things to consider
PCB and wiring
If you can, try and design for hot swaps. There's several ways to hold the swaps and allows you to hand wire something that looks and functions as a hot swap pcb. This means if you need to redesign anything you also will not be re-wiring and possibly ruining your switches. Just keep in mind, if you go for a trampoline/bouncy effect with hot swaps you will need to connect the plate and pcb/hotswap holders or the switches will try and pop in and out of the hot swaps and destroy each other.

Fasteners
People love those brass inserts but how many times will you actually open this once done? I use wood screws, specifically  #2 and #4 for lots of projects. Make your holes just a tad undersized then before you assemble it, thread the screw in (without other parts) just a bit, then heat it with a cigarette lighter and drive it in while hot. Let them cool, disassemble and start assembling the board. You get a nice good grip, works for bolts as well (up to about 3/8in) but for keyboard small wood screws work just fine. This works way better than people realize and will allow for thinner walls than when using brass inserts.

Legs - You have a printer, make different legs. It'll be more secure than anything that moves and odds are you never change it once set anyhow so why over think this? Better still, make your legs hollow and add coins or lead weights  to add weight if you want.

If you're concerned about connector stress, switch to a magnetic USB cable, it removes all stress from the connector. Personally, I like daughter boards and magnetic cables as it removes stress and allows different placement of the controller. It leaves you with more design options.

Wiring - Be sure to leave enough room, then double it. This is one reason I never really pushed my PF65, the wiring was a nightmare and the idea of taking it apart just to try and catch on film how I did the wiring was just too much. Odds are it would have never gone back together the same again. There were other reasons I ended the project as well but just heed my advice and leave twice the room you think you need.

Printer alignment is a BIG problem -  The larger your object and the more parts you have the more alignment and scaling becomes critical. Ever check your X-Y (or z) alignment (skew)? Most haven't since building (or ever) and as you add parts or print larger things it becomes a real problem. This is particularly important if you mix upside down and right side up, any skew gets doubled. What started out as a near imperceptible 0.2mm across 4inches becomes well over 1mm of skew by the time you make a 65% keyboard and if you flip parts during printing it becomes over 2mm of skew. That means holes are off by 2mm and walls are out of alignment by 2mm. Nothing is going to line up well. While nearly 1mm sounds like a of skew across a 12in bed you probably wouldn't notice under most circumstances even if you went looking for it. Skew can be especially bad on Deltas and CoreXY.

If you're doing half upright and half upside down, rotate one set (either all of the right side up or all of the upside down) 90 degrees, that will help by making it offset by 45 degrees, so instead of being 1mm off it would be 0.5mm off left and 0.5mm up. Not great obviously, but still may allow a part to work.

The best way is to simply fix it to a level it's not an issue but that can be tricky. You can print a few parts offset and measure but trying to measure 0.1mm skew over 10 or in my case 18 inches isn't easy without a micrometer that size so this was my solution. I made 4 little brackets, and a rod that fits into them (diagonally) with very little tolerance. I print the arrow then the blocks, test to see if the arrow fits, if not adjust the machine and re-print the blocks. Repeat until the arrow fits in both ways with equal tolerance.
292600-1

Dealing with shrinkage
As mentioned earlier, problems go up as you increase size. Some plastics shrink up to 8% as they cool, you see this as lifting.  One way people deal with this is lily pads (there is multiple names for it), put a thin disk, I use 10mm radius, 0.5mm high pads. Most people who use these put no break line and when they remove them not only is it more difficult but it leaves the inner honeycomb exposed. Instead, put a small gap between your part and the pad (use half your printer's tolerance), this way you retain a solid wall once it breaks away.
292602-2

These are nice because they are simple and if it starts to lift you can even use hot glue or C.A. glue (cyanoacrylate or super glue) to glue them down for even more grip. Fair warning though, if you do this you could ruin your bed surface, you could even ruin your bed plate entirely. I personally use a THICK glass bed plate for this very reason. GLASS?! How barbaric! Yes, but it works. On my PF65 when printing in PLA used lily pads, when I switched to PETG I had to use lily pads, but also hot glue on them to avoid a bit of lift, though to be fair I wasn't using a heated bed when I printed it.

The other way to hold down parts better is to de-stress them internally by inserting relief channels into the part. Make a thin solid floor and walls, but from there place a 2 layer thick, 0.2mm wide slot inside the part to relieve the tension as it prints. As shown here. Keep just enough wall to hide this. The impact on strength is negligible. Basically as the plastic shrinks it pulls more and more for each layer, hence lift, this gives it a chance to relax as only the sidewalls are now pulling and they don't have enough strength to overcome bed adhesion. This gives a chance for the rest to relax and set before continuing on, and from here the entire print lacks the leverage to pull up the print no matter how much shrinkage you have. TL/DR you're you're reducing the amount of pulling power at each end of the print.  This is a good tactic if you're doing production runs since you put them in once and never have to deal with it or cleanup again, but they are more difficult to place  and if the print lifts you can't use these to save it, so pads are still a good option. I usually go with lily pads first and only go this route if I have to or plan on doing lots.
292604-3



Extra reading Links/references:
PF65 - lots of good info and discussion about this topic (GH link)
Dactyl Manuform and acoustics More GH 3d printed keyboard discussion
My Pf65 on Thingiverse, with pf65 specific info



Large format printers  - These are basically any printer over 12-14 inches, I.E. large enough to print a TKL in one shot.
Instead of breaking down what how and why, I'll explain my setup and the theory behind how I built and use it.

If you've done much printing you've already realized that scaling something up is cubed, double the size means 3x the plastic, well scaling the printer itself works the same way. Not just in size but also problems and cost... You cannot just simply scale up what you have and expect it to work.  I mean, it will "work" or function, but it will not really work.

Reliability is a massive problem to contend with.
At this scale things take a looong time, most people think of a large print as being something like 12 or 24 hours, it may even fill much of your build plate. On a printer such as my big one a 24 hour print is just another day. I've done full size, wearable cosplay helmets in a single print that needed a full week and even that pales in comparison to some jobs I've done. That's not to brag, it's so you understand what I say next. You may think your printer is reliable because you made several items, maybe even gone through a full spool or a few hundred hours without maintenance but on a printer such as this that would be a 100% failure rate. A printer such as this needs to go thousands of hours between maintenance/failures and that takes good parts and a good design. This is what I was referring to when I said it may function but not work, if your printer fails at hour 5 on a 6 hour print is stinks but has little consequence compared to your printer failing on day 4 of a 5 day print and wasting a 2 kilos of plastic. Reliability is why people buy expensive printers.

Bit of a side note here, I hardwire everything that moves, no connectors. At the speeds and print times I run they fail incredibly fast, all of them. Connectors are one of the biggest failure points on a good printer, let alone a fast one. I've repaired and removed far too many. Hard wire everything back to a connector at the controller and make sure no solder joints are flopping in the wind. Is it more difficult to work on, absolutely, but I also work on it a whole lot less. You'd be amazed at how many wiring harnesses I've seen replaced by major brand printers because of bad connectors. I don't care if it's an aircraft connector, those fail too. That random heater cutout or thermistor fault, probably the connector.  Ditch them and watch your reliability go up.

People underestimate the size as well. - An 18 in printer like mine tends to be similar in size to a dorm fridge, mine is around 26 x 30 x 26 inches (670 x 780 x 670mm) and about 55 pounds (25kilos), it's a big boy. I put a lot of effort into making sure it could fit through typical door with enough room for fingers, but only just. It's not exactly petite. You can't just make those skinny little rails longer and extend the wires without it turning into a wet noodle, it's going to be much bigger and much heavier than you expect. Many printers of this size start using larger motors which need more amperage meaning you need a higher end stepper controller. A good design can compensate for some of this but you aren't going to just scale up an Ender Pro or Prusa with similar materials and stock parts and get good results.

I use thick glass beds and no heat, on my18inch printer I have a 1/2in thick glass bed. I know, people think this is blasphemy to use glue sticks on glass these days but you simply cannot ensure flatness on a magnetic steel bed. "But mine is flat!" Is it though? I mean really? Besides, you can't glue down prints, these are large prints, even with low shrink PLA, over that distance it's a problem. On coated magnetic beds it tends to either pull the bed up and cools and then the print pops off, the bed warps, or the coating ripples or peels up. That much shrink across such a distance creates MASSIVE amounts of torque. I stopped using borosilicate glass because my prints were literally ripping chunks of glass out of the bed. And have you tried pricing magnetic beds, heaters and bed surface material on a printer this size... Last I looked I could buy an Ender Pro for less money than just the bed plate and surface coating, one mistake and there goes a bunch of money. With glass an oops means I scrape off a few cents worth of glue and (hopefully a little) plastic and move on.

As for the heated bed... just more problems.
Contrary to popular opinion, heated beds can cause almost as many problems as they solve, you just learned to work around some of them, ignored others or simply never noticed. I actually started with one and moved away from it. Ever have a print have an hourglass shaped print, that's where the heat from your bed dissipated and you were printing cold. By printing cold from the start you see exactly what you end up with, not how it will be once it's cold. You also get better precision because you're not printing through varying heat zones.  Can I print large ABS, no, but you can't very easily print an 18inch object in ABS even with a heated bed. There is no perfect printer*, every printer has compromises and this one will become even more relevant in a second.

On a printer this size the heater would also double as a house heater. A 12in bed requires a 300 watt heater and 18in requires around 750-900 watts depending on temp required and bed material/thickness. I know it sounds like blasphemy to many to not use a heated bed but at that wattage for every kilo of plastic you can expect to spend close to $40-80 on power for the bed and another $40-80 to cool the rest of your house. If you can learn to not need the heated bed it will make things a LOT cheaper, more reliable, safer and frankly, I just don't need it, I can design around it. Look at it another way, a good enough printer you can afford to use is better than the best printer you can't.

In my experience heated beds are also a safety issue. That's a whole lot of power and if anything happens things go up in smoke fast. A moving bed means moving wires, a big printer means lots of movement, moving wires tend to fray and break and that increases resistance and eventually they break or burn up. My first printer had a 200 watt heated bed and I watched in horror as the 14ga. wires vaporized in front of my eyes when it had a bed short. At my size, I would avoid DC and go AC powered but that too carries risks, more in fact.

Bottom line is that things change with scale and you cannot skimp on anything.



*Why I say there is no perfect printer.
Everything has a tradeoff either in price, complexity, size, heat/cooling, ease of use, materials, speed.  It's much easier, simpler and believe it or not, it's cheaper to have multiple printers of different size and capabilities than one large printer that does everything. 
Novelkeys NK65AE w/62g Zilents/39g springs
More
62g Zilents/lubed/Novelkeys 39g springs, HK Gaming Thick PBT caps, Netdot Gen10 magnetic cable, pic
| Filco MJ2 L.E. Vortex Case, Jailhouse Blues, heavily customized
More
Vortex case squared up/blasted finish removed/custom feet/paint/winkey blockoff plate, HID Liberator, stainless steel universal plate, 3d printed adapters, Type C, Netdot Gen10 magnetic cable, foam sound dampened, HK Gaming Thick PBT caps (o-ringed), Cherry Jailhouse Blues w/lubed/clipped Cherry light springs, 40g actuation
| GMMK TKL
More
w/ Kailh Purple Pros/lubed/Novelkeys 39g springs, HK Gaming Thick PBT caps, Netdot Gen10 Magnetic cable
| PF65 3d printed 65% w/LCD and hot swap
More
Box Jades, Interchangeable trim, mini lcd, QMK, underglow, HK Gaming Thick PBT caps, O-rings, Netdot Gen10 magnetic cable, in progress link
| Magicforce 68
More
MF68 pcb, Outemu Blues, in progress
| YMDK75 Jail Housed Gateron Blues
More
J-spacers, YMDK Thick PBT, O-rings, SIP sockets
| KBT Race S L.E.
More
Ergo Clears, custom WASD caps
| Das Pro
More
Costar model with browns
| GH60
More
Cherry Blacks, custom 3d printed case
| Logitech Illumininated | IBM Model M (x2)
Definitive Omron Guide. | 3d printed Keyboard FAQ/Discussion

Offline fpazos

  • Posts: 167
Thank you, this post is really useful and interesting, I hope I had it some time ago hahaha.
Indeed printing keyboards isn't as difficult as it can seem.
 

Offline nevin

  • Posts: 1646
  • Location: US
Wonderful @Leslieann. Thank you!
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline vvp

  • Posts: 887
Just a few comments:
  • ABS can be glued very well with ABS-glue (ABS dissolved in acetone). If you are gluing surfaces which are not precise then allow for about 0.3 mm gap and use ABS-glue. If you are gluing surfaces which are precisely fitting each other then only "paint" with acetone and press together.
  • There is also PETG-glue (PETG dissolves nicely in dichloromethane). It works very well. Dry PETG-glue has a consistency of a hard rubber. But dichloromethane is really bad for your health. Do not use or protect yourself from breathing its vapours and from touching it.
  • I second Lesliean in recommending not to use inserts. Wooden screws are easy and fine.
  • ABS can be easily smoothed a bit by painting it witch acetone. But it is easier to just dip the whole part in acetone, put it on glass, let it dry, tear it off. Do not breath in acetone vapours.
  • An ABS part dipped in acetone will be tiny bit weaker in the direction of the layers but it will have much better layer adhesion.
  • You can use slightly thinner "walls" if the whole part is not flat. E.g. a flat plate 5 mm thick may be barely enough. But if it is contoured in 3D than it is likely that 3 mm thick plate will do just fine.
Enjoy printing keyboards!

I print mostly ABS on a 21x21 cm heated bed, somewhat heated chamber.
« Last Edit: Thu, 27 October 2022, 09:19:58 by vvp »

Offline mysterd

  • Posts: 1
Hello.
Thanks for this much useful post.
A question though: I don't really understand how what you call "lily pads" work...
From what I understand, you use them to have better bed adhesion  preventing shrinkage.

But then, you advise to put breaklines. I do understand that's meant to be able to remove the pads, but on the figure, it seems the pad is completely separated from the part's wall...

What am I missing?

Thanks for your help

Offline Leslieann

  • * Elevated Elder
  • Thread Starter
  • Posts: 4518
There's a 0.01mm gap between the part and the pad, it's just exaggerated because it's zoomed in.

Most printers have a tolerance of 0.2-0.5mm tolerance, it will fuse but not at full strength. It's the same way support towers break off, they leave a small gap while printing, the only difference is this is horizontal instead of vertical.
Novelkeys NK65AE w/62g Zilents/39g springs
More
62g Zilents/lubed/Novelkeys 39g springs, HK Gaming Thick PBT caps, Netdot Gen10 magnetic cable, pic
| Filco MJ2 L.E. Vortex Case, Jailhouse Blues, heavily customized
More
Vortex case squared up/blasted finish removed/custom feet/paint/winkey blockoff plate, HID Liberator, stainless steel universal plate, 3d printed adapters, Type C, Netdot Gen10 magnetic cable, foam sound dampened, HK Gaming Thick PBT caps (o-ringed), Cherry Jailhouse Blues w/lubed/clipped Cherry light springs, 40g actuation
| GMMK TKL
More
w/ Kailh Purple Pros/lubed/Novelkeys 39g springs, HK Gaming Thick PBT caps, Netdot Gen10 Magnetic cable
| PF65 3d printed 65% w/LCD and hot swap
More
Box Jades, Interchangeable trim, mini lcd, QMK, underglow, HK Gaming Thick PBT caps, O-rings, Netdot Gen10 magnetic cable, in progress link
| Magicforce 68
More
MF68 pcb, Outemu Blues, in progress
| YMDK75 Jail Housed Gateron Blues
More
J-spacers, YMDK Thick PBT, O-rings, SIP sockets
| KBT Race S L.E.
More
Ergo Clears, custom WASD caps
| Das Pro
More
Costar model with browns
| GH60
More
Cherry Blacks, custom 3d printed case
| Logitech Illumininated | IBM Model M (x2)
Definitive Omron Guide. | 3d printed Keyboard FAQ/Discussion

Offline pca006132

  • Posts: 6
Thanks for this post, I am now trying PETG for my new prints :)

Some additional points from my experience:
1. For tiny features, design according to your line width (usually 0.4mm, spacing can have finer resolution though)
2. You can print keycaps by rotating them 90 degrees, or 120 degrees with minimal support. You may need to add additional support to avoid it from collapsing:
294937-0

I am experimenting with using fastener to join two halfs of a keyboard together, previously I asked my friends to print it for me but now I only have access to a 120*120*120mm printer.

Offline Slywanin

  • Posts: 34
  • Abdul Lutfi is my name.
I have a markforged. I'm never going back to anything less. Get a markforged or outsource your printing to anyone who has one.