The Volksswitch is a switch design with the goal of producing an assistive technology device that can meet the varied needs of individuals with motor disabilities at an extremely low cost. The design will evolve over time as new and better ideas arise. Often it’s impossible to imagine a better way until one is shown that a better way is possible.
Early Designs for The Volksswitch – I wasn’t kidding when I said that it’s hard to imagine a better way until you’ve seen that something works, these are my first attempts at designing a flexible, inexpensive switch that doesn’t require soldering.
An RFID-Based Switch – Proof of Concept – What if there was a wireless switch that didn’t need a battery? What if that wireless switch could be produced for a couple of dollars? Can RFID technology make this all possible? I think so!
Back to this topic…
In the third edition of Assistive Technologies: Principles and Practice, Cook and Polgar describe several requirements for a Control Interface – a pressure switch is a special case of a control interface – in particular “activation characteristics” that must be customizable:
- Effort. The effort required by the user to generate the signal from the control interface is the next activation characteristic to consider. Activation effort varies from zero upward to a relatively large amount For a mechanical interface, this is the force required to cause switch activation.
- Displacement. Another characteristic that needs to be considered apart from effort is displacement. Displacement, which is defined as how far a control interface travels from its original position to its activated position, is unique to mechanical control interfaces.
- Flexibility. The flexibility of the control interface, or the number of ways in which it can be operated by a control site (the area of the body that can exert control), also needs to be considered.
- Durability and Maintainability. The durability of the control interface is a characteristic that needs consideration as well. Gather information…. regarding how often the interface is to be used and the amount of force that is to be generated on the interface by the user…. A final consideration is the maintainability of the control interface… It is important to consider whether any of its components need to be replaced periodically and, if so, how difficult a procedure it is.
The Volksswitch addresses both the customizable effort and displacement requirements with it’s unique, 3D-printable leaf spring. In the designer, these two characteristics are referred to as activation force index and activation distance. Each switch can be mounted in a variety of locations to take advantage of an individual’s capabilities. You can add four rubber feet and place it securely on a flat surface or you can add a 3D-printed switch mount and attach it to any standard camera mount. Finally, the electronic parts of the switch are purchased off-the-shelf and connected with a screwdriver – no soldering necessary. The switch case is snapped together and the force applied to the activation surface is transmitted to the internal microswitch using a hexagonal steel spacer which slides smoothly and rigidly through along a 3D-printed channel.
All this customization is possible by using The Volksswitch designer.
Download the designer here. It’s an OpenSCAD program so you also have to download and install OpenSCAD from here before you can run the designer.
Getting Started with Your First Switch – an Evaluation Switch
If this is the first time you’re designing a Volksswitch, you need to set a few key settings for the designer and then create an evaluation switch that you can use to determine the optimal behavior (activation distance and activation force) for your final switch.
Explore the Designer Interface
With OpenSCAD downloaded and installed, double-click on the The_Volksswitch..scad file. The designer will open up and look like this:
The window is divided into three panes. In the upper left is the Display pane.
It shows an image of the current switch part. You can explore the part by clicking and dragging your left mouse button..
In the lower left is the Console pane.
OpenSCAD will use this pane to give you feedback as you render and export your design as an STL file.
On the right is the Customizer pane.
This is where you’ll do almost all your work so we’ll take a closer look next.
Customizing Your Design
The Customizer pane is divided into two parts. On the bottom is a collection of expandable sections. These sections contain all the individual customizations you can make to your switch design.
On top is the Presets region. You use this region to keep a copy of the collection of customizations that you choose for your design so that you don’t have to remember each customization should you want to recreate or modify a design in the future.
To preserve a set of customizations, click on the “plus” button. Give your design a name and save it. Note that your named preset will be saved in a file called The_Volksswitch.json in the same folder as the designer.
Getting the Hardware
Each switch will require:
- (1) hex spacer,
- (1) wired microswitch, and
- (1) 3.5mm Stereo Female Terminal Block Panel Mount Connector,
- (4) rubber feet, and
- optionally, (1) Four Prong Tee Nut if mounting the switch to a camera mount.
The designer will support several different spacer sizes, but we like these wider (10 mm & 11 mm) ones the best:
- This package has two spacers for each of the three sizes supported by the designer but two more pairs that aren’t supported (30 mm & 40 mm).
- At this site you can order packages of spacers of a specific size.
The designer supports two different wired microswitches:
- This one has black insulation around the wires.
- This one has black insulation around one wire and red insulation around the other.
The one with the black insulation is a little easier to install because it has a shorter wire but the one with the red and black insulation is a little more sturdy. If you’re comfortable cutting and stripping the insulation from wires then you’ll find the red/black microswitch just as easy to install.
Finally, you need one of these panel mount connectors.
Setting Some Key Values
For now, skip the “Switch Behavior” section and double-click on the “Spacer Info” section:
This is where you describe the spacer you will be using as the central post of the switch.
The following picture shows the key measurements for your spacer:
In this picture, the “spacer length” is 10 mm, the “spacer thickness” is show in the red dashed image and is 6 mm, the “spacer screw length” is identified as 6 mm in the image on the left, and the “spacer screw size” is identified in both pictures as M4. Note that the “spacer screw length” and the “spacer thickness” will often be the same.
You can’t always go by the thickness dimension shown. If you’re not being successful in getting a good fit using the “hole size test” (described below), get out your metric ruler or, better, a caliper and measure the thickness for yourself.
The longer the spacer, the taller the switch will be. The advantage of a longer spacer is that you’ll be able to take advantage of larger activation distances.
Next expand the “Microswitch Info” section:
This section has only one option with only two possible values. Ensure that the selected option matches the kind of microsection that you’re using.
Fitting the Spacer to the Way Your Printer Prints
The spacer will need to slide cleanly and not too tightly through an opening in the top of the switch. This next step will ensure that you get the best fit possible.
Begin by expanding the “Part to Print” section:
Now click on the down arrow in the “part” pull-down list and select “hole test”:
The display window will show an image like this:
Note the small bump next to the cylinder on the right. The bump identifies the cylinder associated with “1” when you assign the “spacer hole test value”.
Select Design > Render from the menu above the display pane. Watch the console window and you will eventually see “Rendering finished.” displayed. There’s also a progress bar at the bottom right of the window that will display the progress in creating a 3D object from your request.
Now select File > Export > Export as STL… from the menu. Name the file appropriately and print it.
When the print has completed, remove it from your printer and hold you spacer by the screw. Attempt to slide the the spacer through each of the cylinders. Identify the cylinder that allows the spacer to slide through smoothly but has the least amount of wobble.
Count from the cylinder with the small bump until you reach the chosen cylinder. Expand the “Switch Info” section and enter the number of the cylinder into the “spacer hole test value” pull-down list:
You shouldn’t need to change this value unless you change the spacer manufacturer and size or change the printer you use to print your switch.
Printing the Parts of Your Evaluation Switch
Let’s just assume that you want your “test” switch to be small and round, with a dome-style activation surface (button), a 15 mm long spacer from the spacer collection package you can purchase from Amazon, and one of the microswitches with the black insulation… If that’s all true then your evaluation switch will look something like this:
We’ve also packaged some STL files for this particular evaluation switch in a file called “sample_evaluation_switch_STL_files.zip.txt” that you can download along with the designer. You’ll need to remove the “.txt” from the end of the file name before expanding the file into a folder:
Print each of the STL files pictured above. You don’t need to print the files in the “evaluating activation distance” folder at this time. You can use an infill percentage of 15%.
When you print the leaf springs, you’ll see a pair of numbers on the underside of each spring:
The number before the dash is the activation force index and the number after the dash is the activation distance.
Each spacer plug will also have a number. It represents the thickness of the plug in millimeters. Think of the threaded post of the plug as a decimal point when reading the number:
3.0 mm thick plug | 3.5 mm thick plug |
All plugs have a square hole in their bottom. When a plug will be used without a leaf spring, you will glue a mini-post into that hole:
You may need to add some superglue to the hole to keep the mini-post in place.
Also download a copy of the “spacer plug matrix.pdf” file. The matrix identifies the particular spacer plug to use in your evaluation switch with each of the leaf springs in the collection. Specifically, we’ll be focused on the first data column of the matrix (surrounded in green):
The matrix cell at the intersection of “activation force index” = 0 and “activation distance” = 0 has the value “?*”. Because we’re building an evaluation switch, the “?” represents a 6 mm thick spacer plug, and the “*” tells us to insert a mini-post into that spacer plug.
Now assemble the evaluation switch as shown in the following video:
Using the Evaluation Switch
Next, you’ll determine which activation force works best for you or your student.
The first iteration of the switch, as we’ve assembled it has no leaf spring between the activation surface and the micro-switch. That means, when you press on the surface, you immediately (or almost immediately) activate the micro-switch. You only have to apply enough force to overcome the internal resistance of the micro-switch. That will always be the case, so we give that amount of force a force index of zero.
To increase the required force to activate the micro-switch, we need to insert a leaf spring. The springs can have two or four arms and they can have different thicknesses. The amount of force it takes to depress these springs is determined by the interaction of the thickness of the spring and the number of arms. Sometimes it takes more force to depress a thinner, 4-arm spring than it does to depress a thicker 2-arm spring. To keep things simple we assign a force index to each spring and ensure that a spring with a higher activation force index will require more force to depress than a spring with a lower activation force index. Here is a chart showing the actual force (in Newtons) necessary to depress leaf springs with each index value when they’re printed from PLA with a 15% infill percentage for a 65 mm wide switch:
You don’t need to know these values, you just need to keep increasing the activation force index of the switch until you get reliable activations without needing to press too hard.
If you want to see more force required to activate the switch than you get with direct pressure on the micro-switch, find the leaf spring that has the notation “1 – 0” on the bottom:
According to the chart above, this spring will approximately double the activation force but engage the microswitch with about the same activation distance as having no leaf spring at all.
Pull the switch cover off and place the leaf spring on either of the two, facing leaf spring pedestals:
The numbers should face up and the small post should face down, toward the micro-switch.
According to the spacer plug matrix above, you should remove the spacer with embedded mini-post and replace it with the spacer that is 3.5 mm thick.
Push the switch cover back on the switch base until the clips engage and test the activation pressure required to engage the micro-switch.
Repeat the process, swapping out the spacer plug each time, until you find an activation force index that works best.
Determining the Best Activation Distance
Now it’s time to find the right activation distance so that the micro-switch is engaged only when intended.
Look at the first number on the leaf spring that you liked earlier. That’s the activation force index. Open the “evaluating activation distance” folder:
If your preferred activation force index was “4”, you should now print the file called “leaf spring collection – 4 activation force index.stl”. [If you don’t mind printing all these files in advance, you won’t have to take the time to print them now.] As you can see from this picture, all the springs are the same thickness. However, each one has a different length post. The longer the post, the shorter the activation distance:
Here are the spacer plugs that you will need to swap in and out as you trial each activation distance:
Note that the two columns on the right have an orange background. If you were using a 10 mm long spacer then you wouldn’t be able to trial those activation distances – the spacer is just too short. But since you are using a 15 mm spacer, you can trial those values. Also note that you don’t need to trial the value in the first column because you’ve already done that when you were determining the preferred activation force index.
Now you can set aside the evaluation switch along with the leaf spring and spacer plug collections. You’ve determined the best activation distance and activation force index for yourself or your student.
Time to design your custom switch.
Designing your Custom Switch
Let’s return to the Customizer Pane. Since you’re designing a switch for a specific individual, you should create a preset to save your work. This page describes how to use presets.
Now, starting at the top of the customizer sections, let’s start choosing options.
Switch Behavior
Expand the “Switch Behavior” section:
Select the “activation force index” and “activation distance” values that you determined from your work with the evaluation switch.
Leave “evaluation switch” set to “no” because you’re now working on a custom switch.
Click on the “save preset” button in the presets region. It’s a good habit to save your settings as you complete each section.
Note: if you want to create an evaluation switch based on your own choice of spacer, microswitch, switch size/shape, and activation surface size/shape, leave the values in this section set as shown above but change the value of “evaluation switch” to “yes”. Then proceed with the rest of the design.
Spacer Info and Microswitch Info
Enter these values as described above.
The Activation Surface
You may, instead, think of this as the button on the top of the switch.
To see the effect of your choices as you make them, expand the “Part to Print” section and choose “activation surface” from the “part” pull-down list. The activation surface takes a little longer to display because OpenSCAD needs more time to generate the threads inside the hole for the spacer. It’s also displayed upside down if “flat” and right-side up, if round, since that will be the best orientation for printing. To avoid these issues, you can, instead choose “assembled switch” from the “part” pull-down list and ensure that “show activation surface” is set to “yes” in the “Parts to Show in Assembly View” section. When rendering a part for creation of an STL file, always choose the individual part in the “Part to Print” section.
These options are best described through pictures (or just experimentation).
Activation Surface Type
flat | curved |
Activation Surface Thickness
This option only applies to “flat” activation surfaces.
7 mm thick | 10 mm thick |
Activation Surface Width
For stability purposes, don’t let this value exceed the switch width.
10 mm thick and 80 mm wide |
Activation Surface Corner Radius
This option is useful if you want the activation surface shape to match the shape of the switch body.
both the switch and the activation surface have a 20 mm corner radius (activation surface facets = 4) |
Activation Surface Corner facets
This option is useful if you want the activation surface shape to match the shape of the switch body.
activation surface facets = 50 (both the switch and the activation surface are 65 mm wide) |
Switch Info
This section of options controls the shape of both the switch base and the switch cover. Note that the switch height is controlled by the length of the spacer. A longer spacer will result in a taller switch. An evaluation switch may also be taller than a custom switch because a custom switch may not include a leaf spring.
Switch Width
A wider switch is going to be more stable. If you’re using a long spacer which will naturally result in a taller switch, you may want to balance that with specifying a wider switch.
Switch Corner Radius
Switch designs are square by default. You can soften the corners by increasing the corner radius. If you set the corner radius to a value that is equal to (or larger than) half the switch width, the switch will be round.
Spacer Hole Test Value
This value allows you to fine tune the size of the hexagonal opening in the switch cover so that the spacer moves into and out of the switch smoothly without wobbling or catching. You determine this value by first specifying the dimensions of your chosen spacer and then printing a “hole size test”. The procedure is described above.
Special Settings
As you might expect, the options in the Special Settings section have “special” purposes:
The “section” property can give you an inside-view of your switch. This is only relevant if you’re viewing the switch in assembled form (i.e., choose “assembled switch” from the “part” pull-down list in the “Part to Print” section):
not sectioned | sectioned |
This can be helpful if you want to see what’s going on inside the switch and how element line-up. It’s not the kind of thing that you normally need to do.
The “change headphone jack location” option can be used if you feel that the threaded part of the headphone jack sticks out of the switch too far or not far enough. The value of this option is normally set at 0. You can move the jack backward and forward by decreasing and increasing this value. The following images were captured with “part” set to “assembled switch” and only “show switch base” and “show headphone jack” set to “yes” in the “Parts to Show in Assembly View” section. (Click on an image to expand the view.)
location = -3 | location = 0 | location = 3 |
If you change this value be sure to look at the design from all angles to be sure that you haven’t tried to push the jack through the wall of the switch or created a hole in the bottom:
too far forward | too far back |
Again, you probably don’t need to adjust this option but it’s there in the event that you need it.
Viewing the Assembled Switch
This section is self-explanatory. When you set the “part” option in “assembled switch”, you can determine how much of the assembly is shown by turning on and off the list of items in this section.
Part to Print
There’s only one option in this section but it’s key to producing a set of parts for your custom switch that you can 3D print.
To produce the STL files for a custom switch based on your design, step through each entry in the “part” pull-down list: activation surface, switch cover, switch base, leaf spring (if you don’t need one, it won’t appear), and spacer plug (if your design requires a mini-post). Each part you select will be displayed in the display pane. Choose Design > Render from the menu. This process can take several minutes if the displayed part contains threads. That includes the activation surface and the spacer plug. When the rendering process is complete, choose File > Export > Export as STL… from the menu.
There are a few other entries in the pull-down list for special purposes:
- leaf spring collection – same activation distance: this option generates a set of 10 leaf springs, all embody the same activation distance (i..e., length of post) but span 10 of the eleven activation force index values. When displayed the leaf springs will all have the activation distance specified in the “Switch Behavior” section.
- leaf spring collection – same activation force index: this option generates a set of 6 leaf springs, all embody the same activation force index (i..e., thickness and number of arms) but all 6 (0 to 5) of the activation distance values. When displayed the leaf springs will all have the activation force index specified in the “Switch Behavior” section.
- spacer plug part 1 & 2: supporting all possible combinations of activation distance and activation force indexes requires a total of 14 spacer plugs and two mini posts. Unfortunately, because every spacer post has a threaded part, rendering 14 of them can take a very long time. So the collection is divided into two parts. Rather than rendering and exporting the STL files for the complete collection, if you’re using an M6 spacer you can save time by using the “spacer plug collection.stl” file in the “evaluation switch STL files” folder.
- 10 mini posts: the mini posts are tiny so they can be easy to loose. This option gives you a way to print several of them to put away for a rainy day.
- hole size test: you should print and use one of these each time you change vendors for your spacers or change 3D printers – that includes the first time you put together a switch, including an evaluation switch.
- assembled switch: you’ve seen several uses for this option on this page. Note that the “assembled switch” option is only relevant for visualizing your design. You shouldn’t attempt to render and generate an STL file from an assembled switch view.
Mounting your Custom Switch in a Custom Location
Up to now we’ve assumed that the Volksswitch will sit on horizontal surface but you may want to activate the switch with a part of the body that can’t access a horizontal surface – maybe a headrest or the frame of a wheelchair.
Select “switch mount” from the “Part to Print” section then render and print it. The switch mount for the evaluation switch looks like this:
The hole in the center and the four slots around it are where the Tee Nut is inserted. It is designed to be a bit of a tight fit so the process will take a little effort. You can either lightly pound the nut into the slots and hole or you can pull it into place from the underside using a properly sized bolt as shown in the following video:
Once the Tee Nut is securely inserted you screw the switch mount onto the mounting system of your choice. Next, slide the switch into the switch mount until the clips on the mount engage the slots in the switch base. Before insertion, you should consider rotating the switch so that the headphone jack is located in the best position for routing the headphone plug wire.
Using the Red/Black Insulated Microswitch
The microswitch with the red and black insulation is a little harder to install because the attached wires are so much longer than the other microswitch. That means a lot more wrapping.
The wire retainers are different for this microswitch because the wires have a different shape and don’t stay very well behind the retaining walls you’ve seen above. These wire retainers look like this:
It takes a little patience, but you can secure the microswitch wires by weaving them between these posts as you work around the inside perimeter of the switch base as shown in the following video:
Alternatively, if you have a small wire stripper and cutter and are comfortable using it, you can just cut the wires to a much shorter length (approximately 5 cm or 2 inches). Then strip a small amount of insulation from the end of each wire and insert them into the headphone jack as you normally would. The video below illustrates the process:
By the way you could take the same approach with the black insulated microswitch and make the installation easier. It just requires a bit more stripping skill.
Seeing Red
When you look at the spacer plug matrix, you see that some of the cells have a red (or off-red) background.
That color change indicates that the designer can’t create a switch with those activation distance and activation force index characteristics. To reinforce that limitation, you’ll also see the assembly or part in the display pane appear in red:
To get back on track you can either change the activation distance and activation force index values to supported values or you may be able to get your current values to work by choosing a longer spacer.