An evolution of the physical skirt button, by adding PCB to simplify wiring, soldering and physical mounting.
This mod is not original or even novel, with most concepts taken from Voron user meteyou
's gcode_buttons and adapted to fit my needs after trial and error experiences.
Thanks to meteyou
and everyone else who had some incarnation of skirt buttons for the Voron. Thanks to MakerBogans
Australia 3D printer community for being friendly and supportive human beings.
The idea is about having the convenience of direct interaction with physical buttons that perform a desired action upon pressing / releasing them. For example, pressing button X
should instruct the print to turn on/off the internal LED light. (Insert your imagination here - mine sucks.)
The idea is not novel in any way and Bouncy Mouse
is intended to help you build your own "custom" keyboard that can be installed in your Voron skirt, and then to connect that to your Raspberry PI / other GPIO interface and have it execute G-Code or macros.
Some users even replace / remove their display in favour of this.
Here's the Bouncy Mouse
3-Key PCB (v1 is pictured - v2 is current but with minor tweaks):
Holds up to three CherryMX key switches (LED optional)
- Pause / Resume an active print.
- Turn on/off/push-to-peek chamber LED lights.
- Turn on/off fans.
- Multi-material control (like ejecting filament in ERCF)
- Start your Pre-heat / Warm-up routine
- Graceful shutdown of Printer Software (e.g. Klipper / Raspberry PI Operating System)
- Take a photo from printer CAM
- Home your printer
No, you don't. You can use meteyou
's MOD and wire things directly - nothing wrong with it.
I created this because I found the soldering of wires to the switches and LEDs hard and fragile (I solder poorly - it's a hobby for me). Found the PCB held it all together much more firmly and rigidly.
The hexagonal voids in the Voron skirts for v2.4, Trident and Switchwire are the same size and have the same spacing between them - there are just less or more voids (for keys).
At the moment there are 3 variations, basically allowing for 1, 2 or 3 key switches.
Thanks @karlOS and everyone else for your input with the below. The table indicates the largest size model that would still fit for the different Voron models.
Size | Switchwire | Trident | 2.4 |
---|---|---|---|
SW | 3-Key | -- | -- |
250mm | -- | 3-Key | 1-Key |
300mm | -- | 3-Key | 2-Key |
350mm | -- | 3-Key | 3-Key |
There is nothing stopping you from using a smaller 1-Key PCB, even if a larger 3-Key version could fit.
The hexagonal voids in the Voron skirts are the same size and spacing across the different Voron v2 size models (250mm vs. 300mm vs. 350mm) - there are just less or more voids (and thus keys).
Here are the current variations. Refer to above section to decide which one to use
-
N
x CherryMX switches -
N
x Printed part set-
Hexagon Key Cap
-
Hexagon Key Shell
-
Hexagon Shell Retention Clip
-
-
N
+1 PIN JST XH through the hole / PCB mount receptacle (marked as J1 on PCB) -
N
+1 PIN JST XH crimp connector housing -
N
+1 PIN JST XH crimp connector female pin -
AWG 28 wiring long enough to reach connection points (recommend fitting length to size at point of installation)
The LED key backlight is optional.
The LEDs require a current limiting resistor is required or you'll blow them. This is what R1 (marked on PCB) is for. The Ohm size of R1 depends on your chosen configuration.
Key points to remember regarding R1:
- PowerSupply Voltage matters 12v vs. 24v.
- Number of LEDs matter.
- 12v is likely a minimum for 3 LEDs.
A handy resource for calculating an appropriate value for R1 can be found here. That link is pre-configured for 3 LEDs, a 12v Power Supply and typical 3mm Polulu LED forward voltages of 1.6v-1.8v.
If you are having difficulty getting these figured out, you are welcome to enquire with me (#Jaans) in the MakerBogans discord.
Here's the BOM for the LED portion of the PCB:
-
2 PIN JST XH through the hole / PCB mount receptacle (marked as J2 on PCB)
-
2 PIN JST XH crimp connector housing
-
2 PIN JST XH crimp connector female pin
-
R1 - Resistor values
Number of LEDs | Power Supply | LED forward voltage | LED current rating | R1 |
---|---|---|---|---|
3 | 12v | 1.6v | 16mA | 430-470ohm |
2 | 12v | 1.6v | 16mA | 530-560ohm |
1 | 12v | 1.6v | 16mA | 640-680ohm |
- | - | - | - | - |
3 | 24v | 1.6v | 16mA | 1100-1200ohm |
2 | 24v | 1.6v | 16mA | 1200-1300ohm |
- | - | - | - | - |
1 | 5v | 1.6v | 16mA | 200-220ohm |
Resistor ranges given (instead of absolute) to help use available
stock. Lower values will be more for brighter but also shorter life.
I'm not an electronics engineer - so please validate the above for
yourself. Suggest you create a little test circuit to see if your
chosen LEDs and R1 value works.
Although this is generally safe and *should* at worst only blow the
LED, bad things can happen - please refer to disclaimer section.
I see it as 4 main stages. Refer to each of the following pages for more detailed information:
-
Button shell, hexagon holder, key cap with icon.
Click here to view page about this section.
-
Assemble PCB, Button, LED, Wires, Crimps, Solder, etc.
Click here to view page about this section.
-
I use a Raspberry PI 4B and configure pins as input with pull-up resistor enabled.
Click here to view page about this section.
-
What to do when GPIO pin has been triggered.
Click here to view page about this section.
The ideas and suggestions here are meant in good faith, but offer no warranty and accepts no liability for any actions taken by you directly or indirectly, taken in part or in full from the content in this repository.
You acknowledge that if you wire or solder incorrectly, use the wrong polarity or voltage, or inappropriate resistor sizes, create short-circuits, etc. then you can damage not only these components but also the connected devices like your MCU controller or GPIO device like Raspberry PI. Soldering irons can cause severe burns and start fires - you are assumed competent to perform whatever action you decide. Don't take on this project if you are not comfortable with holding yourself responsible, working with electronics, soldering irons, etc.
Plain English: You acknowledge you are responsible for your actions and don't hold me liable for anything whatsoever.