9 ms·
I made a macro keypad with 3D-printed switches
- manbash 6y ago> The switch fits in a 14mm square hole (apart from the protruding wires), which is the same size as a Cherry MX switch, but the total height from the bottom of the switch to the top of the keycap is almost twice as large, about 45 mm vs 25 mm [...] This directly translates to increased keyboard height, so it would be good to cut this down as much as possible. I should be able to lose 2 mm from the wire support at the bottom of the switch, and another 1 or 2 mm in the height of the leaf spring attachment, but there's no way it's going to be as thin as the Cherry MX. It's a nice concept but the design of the switch doesn't intend this project to replace your keyboard. A nice design nevertheless :)
- m0xte 6y agoThose contacts will oxidise almost instantly. From running morse keys for years, you need gold or phosphor bronze.
- jstanley 6y agoThanks, I will keep an eye on this. Do you reckon gold plating would suffice or is it likely to get worn away?
- blackfawn 6y agoGold electroplating can utilize some relatively nasty chemicals such as cyanide and cobalt but some ways are more safe than others. You could more easily and inexpensively nickel plate it with household materials (and a nickel plating layer is often used as a flash layer for gold plating anyway.) Simply tinning the copper with solder would likely be the easiest option although I couldn't say how durable that would be against contact wear over very long periods of time. I'd suspect just as durable as nickel or gold plating would be...
- jstanley 6y agoI wasn't suggesting I'd gold plate it myself, I meant I could just buy gold-plated wire, as long as it would be sufficiently durable.
- jackyinger 6y agoYes, hard gold plating is pretty durable. Take a look at the plating on PCIe card and DIMM contacts. Or just about any high quality connector. Switches have an advantage over these connectors in that they touch rather than slide. So wear and tear is much less of a problem.
- mdszy 6y agoGold plating is used a lot in electronics contacts to prevent corrosion, it's a pretty proven method that should work just fine without wearing away easily. As far as I understand it, the gold chemically bonds to the metal it coats, so it's not easy to wear it away.
- russdill 6y agoMight give more flexibility to move to optical sensing and avoid the contact issue entirely.
- jstanley 6y agoIt would. I think a common option is to use magnets and hall effect sensors. If you use an analogue hall sensor, you can even make an "analogue" switch that can have a different effect if you push it just a little bit compared to pressing it the whole way down. Neither of these satisfy me, because in my eyes if you're using an off-the-shelf sensor of some kind, you're not really making a switch, you're just putting a little mechanism around another type of switch. Making the contacts out of cheaply-available material is important to me, although it's hard to really articulate why. I'm trying to do this from as close to "first principles" as possible.
- econcon 6y agoIt's a good project. If you print a lot, here's my project using which you can create tons of cheap filament: https://medium.com/endless-filament/make-your-filament-at-home-for-cheap-6c908bb09922 https://medium.com/endless-filament/make-your-filament-at-ho... If anyone can contribute diameter control algorithm, please let me know!
- regularfry 6y agoIs it the control algorithm you're after, or an output diameter measurement technique? You don't mention how you're measuring the width at the extruder die or after the freeze bath.
- econcon 6y agoHello! I've dual axis laser micrometer which has a sampling rate of 100 of times per second. I can use microcontroller to read the measurements and want to dynamically change the puller roller speed. (It's a geared down stepper motor) Pinch roller (puller) is very simple, it uses steel rollers which have sandpaper pasted (with epoxy) on it for gripping fimament - it can pull with force of 10kg before it slips. I want to achieve tolerance range of +/-0.02mm in diameter
- regularfry 6y agoWhere is that micrometer mounted? The problem you're going to have (which I'm sure you're aware of) is that if it's after the freeze bath, you're miles away from where the thickness is actually determined. If the speed of the rollers makes the filament go through the bath at 1m/s (say) and the bath is 2m long, you can't react to any deviation in the temperature of the plastic as it leaves the nozzle (for instance) any sooner than 2 seconds later, and any drift has had that long to cause a problem. That way lies an oscillating system, unless you're quite careful. The way you've posed the system, my gut feeling is that your problems are going to come down to reaction time. Once a problem manifests in the system, how quickly can you a) detect it; b) react; and c) have that reaction take effect? There are three things I'd look at. The first is to make sure the entire path of the plastic until it has set is tightly temperature-controlled. You can't have breezes varying the temperature of the plastic before it enters the bath, so you want a PID-controlled warming tube to control its descent into the bath. Similarly you need to control the temperature, depth, and turbidity of the bath so that the length of time the plastic is less-than-fully-solid is tightly controlled. If you do that, you've got a chance that you've controlled the physics of the filament well enough that quick deviations will be damped out, and slow drifts get picked up by the micrometer. The second is mounting the micrometer as close to where the filament enters the bath as you can get it. That's the point that's as close as you can get to where the plastic's frozen and the thickness is determined, so there's as little lag as possible between where you're measuring and where you're having an effect. That will let the system react to much faster deviations than it would be able to otherwise. Third, I'd make that bath as short as possible. The length of filament hanging in the bath will act like a spring, so when the rollers speed up to try to thin the filament out, that acceleration will be blunted as the filament lifts up into a shallower catenary. You can compensate for this in the control system, but it's better not to have to. In fact, if you could get rid of the need for a bath by instead rolling the filament immediately onto a chilled metal roller close to the extruder die, that might open up other possibilities, but that ends up baking stresses into the filament which you might not want to deal with.
- grooverut 6y agoYou mentioned the contours on top of the keycap being an issue. A good fix for that is tilting the keycap forward 45 degrees in your slicer. This does require supports but the top finish looks so much better. The tilt technique combined with your filament should look very good.
- rolleiflex 6y agoI caught the same issue, from a slightly different angle. Using key caps with that much protrusion surface will render them unsanitary in a relatively short time due to dead skin deposits, which will cure and fill the ridges. It’s not great from a health point of view. From what I remember when I was doing 3D printing, an acetone cloud bath could help to achieve a more glossy, thus more sanitary finish. Incidentally glossy finish on porcelain-ware for plates, bath tubes, toilet bowls and sinks are specifically for this reason — gloss is achieved when the surface is flat to a defect rate smaller than the wavelength of visible light, which also gives bacteria and organic matter very little to hold on to.
- biggerfisch 6y agoUsually acetone doesn't work so well on the PLA the author is printing the keycaps in. There are other sprays or things you can apply to PLA for a good effect though - I'm betting any of the things used to make PLA food-safe would work here.
- Okkef 6y agoDon't get me wrong, I'm heavily into the custom keyboard scene. PCB design, lots of tiny soldering, 'crazy' ergonomic layouts with only 36 keys and lots of layers and other tricks. Still. Why would you want to print your own switch mechanism?
- gh02t 6y agoFun/learning. This is actually quite a sophisticated engineering challenge and there is a ton of stuff to be learned. I would love to do this if I had the time.
- enchiridion 6y agoI view projects like this along the same lines as maintaining classic cars. It a fun and rewarding project, and you learn things along the way.
- Pixelbrick 6y agoThere is a yak, and it is furry.
- EForEndeavour 6y agoFor the uninitiated: https://en.wiktionary.org/wiki/yak_shaving https://en.wiktionary.org/wiki/yak_shaving 1. Any apparently useless activity which, by allowing you to overcome intermediate difficulties, allows you to solve a larger problem. I was doing a bit of yak shaving this morning, and it looks like it might have paid off. 2. A less useful activity done consciously or subconsciously to procrastinate about a larger but more useful task. I looked at a reference manual for my car just to answer one question, but I spent the whole afternoon with my nose buried in it, just yak shaving, and got no work done on the car itself.
- nkrisc 6y agoThe same reason people build and fly model airplanes even though it would be impossible to transport a financially viable amount of cargo on them. It's fun.
- JoeSmithson 6y agoNeat project - next time make one with only ctrl, alt, and del.
- iDemonix 6y agoI've been undertaking a similar project, using an ESP32 currently for testing, also have an Arduino Micro Pro to test yet, during lockdown/furlough. I'm hoping to customise and sell them on Etsy, I've sold code + 3D prints before, but I'm just taking time to get the PCB right before I get my first ever board printed. Aiming for hot-swappable switches and some LED magic.
- delgaudm 6y agoInspiring! This would be an awesome punch-and-roll macropad for voice actors... well, this particular voice actor anyway. I currently use a 10 key pad with tape covering all but the three keys I want to press.
- aidenn0 6y agoOne possible improvement would be to include space for mounting a diode. Many mechanical switches can house a diode to simplify PCB layout for NKRO keyboards