PrintPut: Resistive and Capacitive Input Widgets for Interactive 3D Prints

  • Jesse BurstynEmail author
  • Nicholas Fellion
  • Paul Strohmeier
  • Roel Vertegaal
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9296)


We introduce PrintPut, a method for 3D printing that embeds interactivity directly into printed objects. PrintPut uses conductive filament to offer an assortment of sensors that an industrial designer can easily incorporate into their 3D designs, including buttons, pressure sensors, sliders, touchpads, and flex sensors. PrintPut combines physical and interactive sketching into the same process: seamlessly integrating sensors onto the surfaces of 3D objects, without the need for external sensor hardware.


3D printing Rapid prototyping Printed sensors 

1 Introduction

As computation becomes more ingrained into everyday objects, designers have a new responsibility to also consider how people interact with an object’s digital aspects. As a result, it is increasingly important for industrial designers to start considering digital interactivity earlier in their design process.

When developing new artifacts, designers create prototypes to guide their design process about how an object should look, feel, and behave. These early designs might be digital, in the form of illustrations or rendered mock-ups, or they may be physical, for example, sculptures or 3D prints. On the one hand, physical prototyping is extremely useful for informing the aesthetic and ergonomic qualities of a product. But unlike their digital counterparts, the results of these prototyping methods are typically non-interactive.

To address this, there is an active research area surrounding augmenting physical prototypes with touch sensors [1, 2, 8, 9]. These solutions usually have a tradeoff between ease of use, resolution, and customizability. More importantly, designers must use these solutions after making a physical prototype. Wrapping a physical object with external sensors may disrupt the crafted shape that a designer is exploring, or may not be possible on complex geometries.

We introduce PrintPut, a process to create input sensors on 3D printed objects. With PrintPut, designing shape and interaction occurs together. In this paper, we present a collection of sensors that an industrial designer can easily incorporate into their 3D designs, including buttons, pressure sensors, sliders, touchpads, and flex sensors. PrintPut enables a new category of objects with intrinsic touch sensing capabilities.

2 Related Work

A number of papers have explored the use of conductive inks to print flexible electronics. Rendl et al. [9] created PyzoFlex, a flexible sensor that detects touch, pen input, and hand proximity. Kawahara et al. [4] presented a method to create Instant Inkjet Circuits by modifying a consumer inkjet printer to print silver ink onto paper. They also demonstrated several capacitive sensors printed with this method. Olberding et al. [8] designed multi-layer topologies for flexible and cuttable multi-touch sensors. Gong et al. [1] extended this work with a printed sensor sheet that detects multi-touch and hand proximity with capacitive circuits, and folding and pressure with resistive circuits. With Resigraphs [2], Holman et al. demonstrated how designers can use resistive materials and paints to add touch sensing to non-planar objects.

There have also been a number of explorations using 3D printers for interactive prototyping and designing unique input and output methods. Ishiguro and Poupyrev presented methods to seamlessly integrate speakers into 3D printed objects [3]. Savage et al. demonstrated Sauron, a rapid-prototyping platform for physical user interfaces [10]. Sauron modifies 3D models such that, when printed, an internal camera can detect the motion of widgets such as push buttons, joysticks, and sliders. Leigh et al. [5] outlined the process they used to create custom conductive filaments. They also showed how the filament could be used to 3D print basic capacitive buttons and flex sensors. We extend their work by introducing a wider variety of sensors that can be directly integrated into objects and an automated workflow to do so.

3 Application Scenarios


Unlike sheet solutions, PrintPut sensors can be put onto non-developable surfaces: shapes that cannot be unfolded to flat. Figure 1 shows a touch pad printed onto a dome. A designer might use this shape to explore input on a globe, for example.
Fig. 1.

X-Y touch pad integrated into a dome-shaped structure

Sound Wave Slider.

Figure 2 shows a touch slider printed onto a decaying sine wave. Following this model, a musician could print the sound wave of their music track and tangibly scrub and mix through audio during a live performance.
Fig. 2.

Slider printed onto a decaying sine wave

Multiple Sensor Toy.

Figure 3 shows the exploration of a new toy design. A designer has created the model for a new interactive robot figure, with a combination of sensors placed around its body. The robot has a slider along its head and a pressure sensor on its belly.
Fig. 3.

Toy design with multiple sensor types

4 PrintPut Implementation

4.1 Software

We created a series of scripts to help designers integrate sensors into complex three-dimensional geometries. We implemented the process in Rhinoceros 3D, a popular computer-aided-design (CAD) software package for industrial design. Specifically, our automation process operates within an official free plug-in, Grasshopper, a visual programming tool for algorithmic 3D modeling. Designers start the process by creating a base model of their 3D shape in either Rhinoceros or the CAD software of their choice. Next, they bring their model into Rhinoceros and define the points and curves for interactive areas. The script takes this user input and constructs the flat geometry for the desired sensors. The next step projects the sensor geometry onto the original model, such that it conforms smoothly to the surface. Then, the script extrudes the geometry into the surface and subtracts it from the base model. The result is two interlocking 3D models: the conductive circuits and the base model with hollows for these created paths (Fig. 4).
Fig. 4.

Routing pattern for the printed toy design

4.2 Hardware

The critical component of PrintPut is a conductive ABS filament. Commercial solutions are now available and inexpensive: we used Maker Geeks Conductive ABS [6]. The filament has a high resistance and in our experience, a typical circuit has a baseline resistance in the MΩ range. PrintPut requires an ABS supported 3D printer with two extruders, such as a Makerbot 2X or Leapfrog Creatr. After a designer makes an object with sensor geometry, they import it into their 3D printer’s build manager and assign the base and conductive geometry to standard and conductive filaments, respectively. Once the object is printed, sensor values can be easily read by connecting it to an Arduino or other microcontroller with alligator clips. For a lower profile, a designer can instead attach thin wires with conductive adhesives (e.g. copper tape or 3M Z-Axis conductive tape).

5 Sensing Methods

Capacitive Sensing.

Capacitive sensors are made from a single terminal. They detect touch by repeatedly charging the terminal and recording the discharge time. When a finger is introduced, the sensor detects a larger capacitance.

Digital Resistive Sensing.

Digital resistive sensors require two terminals, separated by a physical gap. The first terminal is connected to positive voltage (emitter), while the second connects to an input pin (receiver). Bridging the gap with a conductive material, such as a finger, allows current to flow, completing the circuit. A pull-down resistor is required at the emitter’s pin.

Analog Resistive Sensing.

Analog resistive sensors have a similar layout as digital sensors. In addition to detecting the presence of a bridge, the resistance of the bridge can modulate how much current is permitted.

6 Sensor Types

For clarity, Fig. 5 though 9 show the sensor types in their flat form factor. One of the primary benefits of PrintPut, however, is that it is not limited to flat surfaces.
Fig. 5.

Resistive button

Capacitive Buttons.

One of the basic button types is a capacitive button, as originally presented by Leigh et al. [5]. They are made from a single pad of conductive filament, in any desired shape. Each capacitive button is directly connected to a unique input pin on the microcontroller.

Resistive Buttons.

Another possible button type is a resistive button, which acts as a digital resistive sensor. To make a resistive button, a designer places a pad of conductive filament on an object, split down the middle (Fig. 5). When a user places their finger on a resistive button, it bridges the gap and completes the circuit. We recommend a 1 mm space between the two pads: close enough that a finger can create a bridge, but far enough to avoid unintended touch signals.

Resistive Slider.

With a resistive slider, a designer can detect the “linear” position of a finger along a surface. At their basic level, sliders are composed of a series of evenly spaced resistive buttons (digital resistive sensors). For simpler routing, the emitter halves of the buttons can be combined into a single line (Fig. 6). Although a resistive slider is made of discrete points, it is possible to perform some basic interpolation by noting when adjacent pads are simultaneously touched. Touching non-adjacent pads allows for multi-touch.
Fig. 6.

Resistive Slider

Resistive X-Y Touch Pad.

The touch pad extends the principle of the resistive buttons and sliders into two dimensions, by combing multiple touch sliders (Fig. 7). Aligning N vertical sliders in a row, each with M buttons, forms a touch pad with N × M touch points. This solution would require one combined emitter and N × M receivers. Rather than requiring one input pin per point, we take advantage of time-division multiplexing to combine the sliders. This is accomplished by maintaining one emitter per row and connecting each corresponding receiver pad underneath the surface of the printed object. The Arduino activates a single emitter, deactivates the others, and then reads values from each combined receiver. The process is repeated with each emitter to determine a touch location. By routing the touch pad in this way, a designer can significantly reduce the number of required input pins: it only requires M emitter pins and N input pins. For example, an 8 × 8 touchpad made with the first method would require 65 pins, but a multiplexed sensor would only need 16. In Fig. 7, the emitters are the odd rows and the receivers are the even columns.
Fig. 7.

X-Y Touch Pad

GSR Pressure Sensor.

PrintPut provides two methods to create pressure sensors. The first is made in the same way as a resistive button (Fig. 5), but treating it as an analog resistive sensor. A finger’s galvanic skin response connects the two terminals by allowing current to pass through. Applying additional pressure lowers the resistance of the connection. In our experience, several other factors also contribute to the strength of the connection, including the size of the finger, sweat levels, ambient temperature, etc. [1]. As such, this type of sensor is more suited to detect relative changes in pressure.

Spring Pressure Sensor.

The second method to create a pressure sensor is to make an analog resistive sensor where the physical space between the terminals is reduced when applying pressure. This is achieved by printing two pads, a thin one above another, with a small (0.4 mm) gap between the two. At rest, the gap is sufficiently large that little to no charge is passed. A small amount of force brings the two terminals in contact. The resistance of the bridge is reduced as further pressure is applied. Given that the contact between the two terminals results from the physical properties of the printed object and not a finger, this type of pressure sensor generally provides more consistent values (Fig. 8).
Fig. 8.

Spring Pressure Sensor and exploded view

Flex Sensor.

PrintPut also provides the ability to print flex sensors. To do so, a solid line of conductive filament is printed through a thin or hollow structure, along the axis of intended interaction (Fig. 9, top). Flex sensors are analog resistive sensors where one end of the filament acts as the emitter and the other is the receiver. When the structure is flexed, the carbon particles in the filament move further away from each other. As a result, the resistance of the circuit proportionally increases. One can also create a flex sensor using an elongated spring pressure sensor by taking advantage of the fact that its layers move closer as the structure is bent (Fig. 9, bottom).
Fig. 9.

Flex Sensors. Top: Single line method. Bottom: Elongated pressure sensor method.

7 Limitations

We found that when dealing with a large amount of adjacent touch points, one should space them at least 3 mm apart. This recommendation ultimately limits PrintPut’s touch resolution. One could overcome this with additional hardware or improved signal processing (such as with the touch pad), but such detailed resolution is likely unnecessary for the demands of a disposable prototype. In addition, the material properties of conductive filament and the process of printer extrusion results in slightly inconsistent conductivity for seemingly identical prints. Simply baselining sensor values or adjusting pull-down resistors can help resolve this behavior. Lastly, printing very large 3D models may be slower than desired for rapid-prototyping purposes (i.e. several hours). This could be addressed with techniques that print structures as wireframes with high-resolution sections, such as WirePrint [7].

8 Conclusion

In this paper, we introduced PrintPut, a category of 3D printed objects with a new dimension of interactivity. We presented a collection of interactive widgets that a designer can integrate into their models to help inform decisions when prototyping, including buttons, pressure sensors, sliders, touch pads, and flex sensors. PrintPut combines physical and interactive sketching into the same process, allowing sensors to be printed seamlessly onto 3D objects without external sensor hardware.


  1. 1.
    Gong, N.-W., Steimle, J., Olberding, S., et al.: PrintSense: a versatile sensing technique to support multimodal flexible surface interaction. In: SIGCHI Conference on Human Factors in Computing Systems, pp. 1407–1410. ACM Press, New York (2014)Google Scholar
  2. 2.
    Holman, D., Fellion, N., Vertegaal, R.: Sensing touch using resistive graphs. In: 2014 Conference on Designing Interactive Systems, pp. 195–198. ACM Press, New York (2014)Google Scholar
  3. 3.
    Ishiguro, Y., Poupyrev, I.: 3D printed interactive speakers. In: SIGCHI Conference on Human Factors in Computing Systems, pp. 1733–1742. ACM Press, New York (2014)Google Scholar
  4. 4.
    Kawahara, Y., Hodges, S., Cook, B.: Instant inkjet circuits: lab-based inkjet printing to support rapid prototyping of UbiComp devices. In: 2013 International Joint Conference on Pervasive and Ubiquitous Computing, pp. 363–372. ACM Press, New York (2013)Google Scholar
  5. 5.
    Leigh, S.J., Bradley, R.J., Purssell, C.P., Billson, D.R., Hutchins, D.A.: A simple, low-cost conductive composite material for 3D printing of electronic sensors. PLoS ONE 7(11), 1–6 (2012)CrossRefGoogle Scholar
  6. 6.
    Maker Geeks: conductive ABS filament.
  7. 7.
    Mueller, S., Im, S., Gurevich, S., Teibrich, A., Pfisterer, L., Guimbretière, F., Baudisch, P.: WirePrint: 3D printed previews for fast prototyping. In: 27th Annual ACM Symposium on User Interface Software and Technology, pp. 273–280. ACM Press, New York (2014)Google Scholar
  8. 8.
    Olberding, S., Gong, N.-W., Tiab, J., Paradiso, J.A., Steimle, J.: A cuttable multi-touch sensor. In: 26th Annual ACM symposium on User Interface Software and Technology, pp. 245–254. ACM Press, New York (2013)Google Scholar
  9. 9.
    Rendl, C., Greindl, P., Haller, M., Zirkl, M., Stadlober, B., Hartmann, P.: PyzoFlex: printed piezoelectric pressure sensing foil. In: 25th Annual ACM Symposium on User Interface Software and Technology, pp. 509–518. ACM Press, New York (2012)Google Scholar
  10. 10.
    Savage, V., Chang, C., Hartmann, B.: Sauron: embedded single-camera sensing of printed physical user interfaces. In: 26th Annual ACM Symposium on User Interface Software and Technology, pp. 447–456. ACM Press, New York (2013)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2015

Authors and Affiliations

  • Jesse Burstyn
    • 1
    Email author
  • Nicholas Fellion
    • 1
    • 2
  • Paul Strohmeier
    • 1
  • Roel Vertegaal
    • 1
  1. 1.Human Media LabQueen’s UniversityKingstonCanada
  2. 2.Creative Interactions LabCarleton UniversityOttawaCanada

Personalised recommendations