Version 3: Introducing the Flexure Spring

This remix is in homage to the “flexure bearing”. I don’t know why it’s called a bearing. I prefer to think of it as a flexure “spring”. I first became aware of this concept when I looked at Drew Browning’s switch “DIYAT Switch V5 (microswitch, radial flexures)“. The flexure spring part of the design is the set of thin, spiral arms that connect the outer ring of the button to the button itself:

It occurred to me that a flexure spring design could solve many of the problems that I’ve encountered in trying to design a 3D printable, button switch:

  • it’s hard to find a commercial spring that is just the right length, just the right diameter and just the right stiffness – it’s so much better if you can 3D print the spring to your specification
  • many button switch designs place a collar around the button in order to provide stability but the button inevitably rubs against the collar when depressed causing a scraping sound and feel – with a flexure spring the button sits stable on the spring, a collar isn’t even necessary.
  • buttons that sit on traditional coil springs can wobble from side to side and can even get caught under their collar once depressed – a flexure spring works to keep the movement of the button mostly vertical and causes the button to right itself quickly once released.

I saw several opportunities to improve on Drew’s design. Most important among them is the need to separate the button from the spring and to insert a distinct component that would engage the microswitch. The changes allow for several, independent customizations: design of the activation surface (button), amount of activation pressure (resistance of the spring), and activation distance (how far the button has to be pressed before the microswitch is activated).

Incorporating those changes into this remix looks like this:

This remix is comprised of six 3D-printed parts and four electronic parts.

From top to bottom, the 3D-printed parts are: the activation surface (button), activation surface mount, cover, linear arm flexure spring, post, and base. The models for the 3D printed parts can be obtained from Thingiverse. They are available in both STL and F3D (Fusion 360) formats.

In addition, you will need two mini solderless bread boards, one headphone jack, and one microswitch. The links will take you to the exact ones used in this remix. You can substitute other components but, doing so, may require changes to the 3D printed parts.

Finally, you’ll need two, 5 cm pieces of 20 ga. solid-core wire and four M3x8 screws.

Customization:

Activation pressure is controlled by changing the thickness of the three, thin parts of the linear arm flexure spring:

The current thickness is 0.75 mm. You’ll need to use Fusion 360 to print springs with other thicknesses.

Activation distance is controlled by changing the length of the lower portion of the post:

The current length is 6 mm which places the post very close to the microswitch. To shorten the length you need to use Fusion 360. [Another option for putting more space between the post and the microswitch is to change the height of the base using Fusion 360.]

A simple button design is included in the package – but because the button has been separated from the spring and post, you can be very creative with the button design, either to create something that matches the needs of the user or is just for “fun”:

Electronics:

To assemble the electronic components, start by super-gluing the two mini breadboards to the base. Next, insert the headphone jack leaving a row of wiring holes open at the back. Finally, insert the microswitch with a row of wiring holes open at the front. Then, if you’re using the components I’ve specified above, wire the two breadboards together, as shown below:

Assembly:

The assembly is roughly shown in the “exploded” view above.

Technical Details:

When I looked at the academic literature to learn more about flexure bearings I saw several designs. The first design I implemented looked like this:

It works just fine but I just don’t have the modeling skills to make this design scale in the x and y dimensions. I figured that I had a better chance of creating a scalable model of the linear arm flexure design that will scale because it’s composed of simple geometric primitives. There are certainly a lot of other flexure spring designs out there and they should be explored (by better modelers than me).

The threads on the post, activation surface, and activation surface mount are specified in Fusion 360 as follows:

There’s nothing special about this definition except that the length of the thread on male parts should be 2 mm shorter than the thread length on female parts to ensure that all threaded parts can be tightly assembled.

Note: This remix focuses on the use of a flexure spring and doesn’t include the additional components of previous designs used to support a second, internal, powered circuit. That functionality is still important and will be reincorporated in a future remix.

Final note: I was pleasantly surprised to discover that this design engages the microswitch very consistently regardless of where pressure is applied on the surface of the button. My previous two designs work well only if pressure is applied at, or very near, the center of the button. I suspect that this behavior is just another benefit of using a flexure-spring-based design!