The original Thing by bookmake was nearly a perfect fit for Maplin’s “Minature Microswitch with Roller” (Maplin product code N97AQ), except the gap for the lever arm and roller wasn’t quite right – didn’t extend far enough towards the left.
So, I took their STL in to Fusion360, cut away a bunch of the “out” side of the filament guide path. A test print revealed that the part was also a little too small along the Y-axis such that the switch was being clicked just by putting the microswitch in to position, so I stretched out the space between switch-holder and filament path by 1.5mm to solve that. (The part is not just rescaled in whole – I cut it in a couple of places and stretched just the necessary area.)
Unfortunately I wasn’t able to get Fusion to behave to resize the lid in the same way, so I just trimmed it back. It still works (the lid helps hold the switch in place), so I’ve called it “good enough”.
Every Thursday is #3dthursday here at Adafruit! The DIY 3D printing community has passion and dedication for making solid objects from digital models. Recently, we have noticed electronics projects integrated with 3D printed enclosures, brackets, and sculptures, so each Thursday we celebrate and highlight these bold pioneers!
Have you considered building a 3D project around an Arduino or other microcontroller? How about printing a bracket to mount your Raspberry Pi to the back of your HD monitor? And don’t forget the countless LED projects that are possible when you are modeling your projects in 3D!
The Adafruit Learning System has dozens of great tools to get you well on your way to creating incredible works of engineering, interactive art, and design with your 3D printer! If you’ve made a cool project that combines 3D printing and electronics, be sure to let us know, and we’ll feature it here!
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, or even use Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for MakeCode, CircuitPython, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.
Python for Microcontrollers — Python on hardware measures up, FEATHER soars, and more! #Python #Adafruit #CircuitPython #PythonHardware @circuitpython @micropython @ThePSF @Adafruit
Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !
Thanks for the link! It’s not the most exciting creation in the world, I just tweaked someone else’s hard work to make it fit the microswitch I had – so I figured it would be good to upload my files in case other people were in the same situation but lacking the skills or time to do the changes for themselves.
As soon as I’ve got the time, I will be wiring this up to my Pi running OctoPrint (with a plugin to do auto-pause if the switch triggers) – through an Adadruit Prototyping Pi Plate Kit to handle the practical "how am I actually going to connect these wires to those pins" thing.
I’ll be using the Normally Closed contact on my switch – the filament then holds the switch "open" by keeping it pressed as it passes through. But as soon as it runs out, the switch will return to normal, close the contact, and cause the print to pause. The plugin can be configured for either NC or NO operation – I’m going with this way round as I am also going to have a toggling push button wired in parallel as an "emergency pause" sharing the same GPIO pin input.