Kresling Haptic Buttons
Paper is a highly accessible and sustainable material, traditionally valued in design for rapid sketching. Meanwhile, in tangible interaction design, prototyping physical forms and mechanical feedback typically relies on slow, costly, and resource-intensive processes like 3D printing. As paper comes as a flat sheet, it is rarely considered for these three-dimensional haptic prototypes. This research investigates whether folded paper can bridge this gap by focusing on the Kresling structure, a naturally occurring folding pattern of a compressible paper cylinder.
To explore this, a Research through Design (RtD) approach was taken, fusing studio-based tinkering, a technical force validation, and a design synthesis. Physical testing revealed that modifying the geometry of this folding pattern produces three distinct mechanical feedback types: a spring-like resistance, a non-compressible click, and a bi-stable compressible click, alongside potential acoustic feedback.
To make these findings accessible for the design community, this project introduces a workflow consisting of a parametric design tool, a lookup table, and a database of proven structures. By simplifying the paper folding process, this research demonstrates how paper can be applied in rapid tangible interface prototyping, suggesting that adding rich, physical feedback might be as simple as folding a sheet of paper.
Supplies
Paper, a camera, Python openCV, Processing
Manual How to Use
There will be a few things provided on this page, of which a lot are programs that will help you create your own Kresling haptic feedback structure, for buttons, joysticks, or other interface items.
First there will be a jupyter file in which the analysis of the Kresling structure is shared. (feel free to give feedback on the calculations if you spot any mistakes or are missing something. At the bottom of this Kernel there is a generative table that gives an overview of which parameters to fill in for certain structure radii.
These can be filled in in a processing program, which is the second attached file. This program makes the folding pattern based on your filled in parameters. When you click the export button 3 files come out. A calibration file, a cut file and a print file. Depending on your goals you can either just use the print file, cut it out by hand and fold it. If you have a vinyl cutter you can upload the cut file to cut the pattern for easier folding experience (all the research based findings are based on cut patterns). If you want to combine a print and cut file you can use the crossings on the calibaration file to align the print with your cutting bed. There are two parametric tools, one for hight objects and one for wide objects. If your object will be small I advise to use the one for wide objects.
The last shared file is the current data base of verified parameters and their feedback type, this is an open spreadsheet so feel free to add your parameters to it aswell so others can have an easier time to find the pattern that is right for them.
Jupyter Research File + Generative Table
Here is the Jupyter Python code of the research and the generative table. If you don't have access to this program I have attached a picture of the final look-up table
Parametric Tool Wide
This is the parametric tool for wide structures
Parametric Tool High
This is the parametric tool for high structures
Current Data Base
Here is the final database as a pdf, if you have a new entry please leave a comment.