Interaction Harvesting: A Design Probe of User-Powered Widgets

Whenever a user interacts with a device, mechanical work is performed to actuate the user interface elements; the resulting energy is typically wasted, dissipated as sound and heat. Previous work has shown that many devices can be powered entirely from this otherwise wasted user interface energy. For these devices, wires and batteries, along with the related hassles of replacement and charging, become unnecessary and onerous. So far, these works have been restricted to proof-of-concept demonstrations; a specific bespoke harvesting and sensing circuit is constructed for the application at hand. The challenge of harvesting energy while simultaneously sensing fine-grained input signals from diverse modalities makes prototyping new devices difficult. To fill this gap, we present a hardware toolkit which provides a common electrical interface for harvesting energy from user interface elements. This facilitates exploring the composability, utility, and breadth of enabled applications of interaction-powered smart devices. We design a set of "energy as input" harvesting circuits, a standard connective interface with 3D printed enclosures, and software libraries to enable the exploration of devices where the user action generates the energy needed to perform the device’s primary function. This exploration culminated in a demonstration campaign where we prototype several exemplar popular toys and gadgets, including battery-free Bop-It— a popular 90s rhythm game, an electronic Etch-a-sketch, a "Simon-Says"-style memory game, and a service rating device. We run exploratory user studies to understand how generativity, creativity, and composability are hampered or facilitated by these devices. These demonstrations, user study takeaways, and the toolkit itself provide a foundation for building interactive and user-focused gadgets whose usability is not affected by battery charge and whose service lifetime is not limited by battery wear.


INTRODUCTION
We are quickly heading towards a trillion device Internet-of-Things, buffered by self-fulfilling prophecies and promises from industry leaders like ARM, Intel, and NVIDIA, and pushed forward by the march towards automation of numerous industries.This explosion of devices has led many to explore alternative designs that reduce the ecological footprint and electronic waste caused by disposable and fast obsolescing computing devices.Battery-free devices that harvest energy from sunlight, thermal gradients, and RF sources have risen as a popular alternative in the research (and now consumer) realms to mitigate the consequences of a trillion battery powered The concept of interaction harvesting devices: mechanical forces from the user generate the energy needed to execute the afforded task: either compute, communication, or actuation.We engineer modules that can harvest energy from user actions, as well as provide fine-grained input from those actions, which guide and power a afforded devices action.

User Interaction
devices that need constant charging and replacement.This emergence of battery-free mobile computing has sparked new approaches to computing and radical systems, like a battery-free cell phone [44], a battery-free Game Boy [12], and novel programming, runtime, and architecture level techniques to provide reliable computation and sensing despite the volatility of energy harvesting and in many cases frequent power failures.
The large majority of these battery-free systems are not interactive or human facing.They are used for large-scale sensing of infrastructure [13], farms, or in places where long-term sensing is needed with minimal human involvement, like monitoring relics of antiquity [1], or in low earth orbit [14].These passive devices are not the limit of what battery-free and energy-harvesting devices can accomplish.Indeed, of the trillions of future devices in this battery-free IoT, many 100s of millions may be interactive.For instance, labels on food items that react and change to user presence or handling, engaging and wire-free museum displays for children, to every day items like toys, game consoles, smart watches, coffee mugs, and pill bottles.
Instead of merely harvesting energy from environments, capturing energy from the user actions themselves presents an exciting -but as of yet inaccessible -opportunity for enabling 100s of millions of interactive batteryfree devices.The energy captured from user interactions contributes the main source of energy required to fulfill the program action.This concept is shown in Figure 1.While the basic concept goes back as far as the 1950s with mechanical remote controllers, (and in fact, the Etch-a-Sketch is perhaps a better early example of a "people powered" user interface), subsequent versions have increased function or intelligence, in 2001 Paradiso et al. enabled transmitting an ID code from a pushbutton action [36], a decade later Peppermill [47] in 2011, demonstrated how turning a DC motor provided the energy for a more sophisticated remote control with three buttons and twist control.An entire decade after that, functionality increased dramatically again, the Battery-free Game Boy, a custom Game Boy emulator that is powered by energy captured from the player's button presses (as well as small solar panels).The energy is used to run the game, and the game progress is checkpointed to last across power failures.
This paper explores the design space of interaction-powered devices, specifically illuminating where existing harvesting techniques compromise the usability of the user experience.This paper describes new circuits in the form of a toolkit to broaden access to interaction powered devices.Bespoke, hand-tuned devices like the Game Boy and Peppermill represent points in this design space-but what else is possible?
Frustratingly, despite user interaction-powered devices popping up frequently, demonstrating huge function improvements each time, and being generally well received by the community, none have yet conducted a full Fig. 2. Our toolkit enables composition of interaction-powered battery-free devices.We explore interaction powered possibilities with (A) Bop-It rhythm game including audio, (B) an etch-a-sketch powered by turning of knobs with fine-grained control, (C) Simon memory game, and D a smiley terminal.
design probe into the capability and advantage of these devices for diverse applications.We claim that this is due to a few key challenges: Challenge#1 Interaction harvesters have dynamic energy output dependent on various factors, including the load on the harvester and the size of the storage capacitor.This dynamic output makes circuit design challenging to get right, and capturing the input signal (i.e., turn speed/direction for a knob) complex.Specifically, past work has never provided fine-grained input, guaranteed continuous input, nor allowed for multiple actions at once.Challenge#2 Interactive devices are incredibly diverse, representing a broad set of gestures or actions that could generate power.While we cannot tackle or enable every single possible device, we can provide a baseline number of powered actions (shake, twist, press) that enable a host of possibilities if we can solve the circuit challenges.

Contributions
This paper's primary technical contributions are enhanced circuit designs to enable a toolkit for interaction powered devices, PeoplePower, shown in Figure 2. We explore the composability, utility, and breadth of enabled applications, to facilitate development of interaction-powered smart devices, with wide ranging demos now possible due to the enhanced circuits in our toolkit.We open source all circuit/hardware designs, software, and mechanicals, to further makers, experts, and hobbyists 1 .Specific contributions include: (1) We present a hardware/software/mechanical toolkit for exploring the application and utility of interactionpowered devices.We design new circuits that cleanly separate the energy generation and storage from the user input signals.The first circuit allows efficient capture of energy and input from multiple buttons on a shared bus, and the second circuit extends Peppermill [47] for fine-grained and continuous control of knobs with improved energy harvesting efficiency (see Figure 9).These circuits are modularized and software supported for plug-n-play usage in the toolkit.
(2) We conduct a demonstration campaign to understand barriers, facilitators, and promise of interactionharvesting devices via our toolkit.We build four devices.The Bop-it (twist, shake, music) , an Etch A Sketch (fine-grained input), Simon (multi-button input), and a multi-button rating device called a "Smiley Terminal".These demonstrations show that sound, lights, wireless transmissions, and fine-grained control are all possible in interaction-powered devices.(3) We conduct an exploratory design probe via a workshop style user study where participants built their own devices with the toolkit as well as engaged in creative exercises for future devices.We share the lessons learned and a thematic analysis of the participants' feedback.

BACKGROUND AND RELATED WORK
This work sits at the intersection of interactive batteryless devices and physical computing toolkits.We build on top of circuits and ideas from previous interaction powered devices, but take the next step to develop a toolkit, solving key circuit and design challenges along the way.This toolkit lets us probe the versatility of interaction-power.The following work is most closely related.

Environment-powered Interactive Devices
The energy constraints on interactive devices have long been acknowledged.There has been a wide range of research aiming for energy-efficiency and leveraging alternative energy sources to ease these constraints [21,47,54].Fortunately, environments are filled with a variety of energy, which researchers have been leveraging to power interactive devices.Solar energy has been one of the most common ones.For example, PV-Tiles [35], UbiquiTouch [48], and OptoSense [54] harness solar energy to sense user interactions such as touch and in-air gestures with devices deployed in environments.Solar energy can also be harnessed with wearable form factors as shown in Capband [46] and the wristband step counter in OptoSense [54].It is also possible to harness other forms of energy such as wind flow [37], ambient vibrations [51], as well as electromagnetic radiations [20,33].Despite its ubiquity, energy in the environment might be unstable (e.g., there is little solar energy at night), so researchers have also looked into ways to transfer power to interactive devices wirelessly and deliberately.One of the common approaches is RF wireless power transfer [16,41], where power is transferred via a custom transmitter to receiver devices in the area.This has been useful for instrumenting building infrastructures such as walls and floors [9,53].Another common approach is to transfer power with optical energy.For example, Iyer et al. [25] demonstrated a laser system that can charge smartphones wirelessly at a room-scale.TouchPower [55] and Electric Flora [11] demonstrated another power transfer technique through user contact.Finally, backscatter devices such as RFID can also be turned into battery-free interactive devices for sensing touch [18,23,49], shape [26], and various tangible interactions [24,31].

Interaction-powered Interactive Devices
Closer to our work are previous systems that leverage user interactions as the source of energy, which have led to self-contained systems as opposed to systems that rely on external sources in the environment.Our work is also built around this power scheme.There are commercially available wireless controls like the EnOcean product line (e.g., doorbell) powered by a press of a button, which generates energy to power sending a message over a wireless transmitter [17].In the research domain, possibly the first work was from 2001 where Paradiso et al. enabled transmitting an ID code from a pushbutton action, preceding EnOcean commercial products by at least 15 years [36].The Peppermill [47] that followed ten years later, allows users to rotate a knob to generate power for sensing user interactions such as button presses.Similarly, EnergyBugs [40] leverages electricity generated by children shaking electromagnetic energy harvesters.Teng et al. [45] harvest the kinetic energy of a VR user's arm movements to charge wearable systems.Ingen [6] upgraded the Peppermill with force feedback and wireless communications focused on making a multi-modal controller.
Researchers have also demonstrated generating energy from the very user interactions their systems aim to sense.Recently, as previously mentioned, the Battery-free Game Boy [12] demonstrated an energy-aware gaming (ENGAGE) platform that combines energy generation with game actions (i.e., button press).Sozu [56] proposes a series of interaction-powered tags to convert energy from user interactions into RF chirps for remote sensing of user activities.Interaction harvesters can also be implemented on paper substrates.For example, paper Generators [27] leverage triboelectric effect to harvest energy from users performing touch, tap and rub gestures on paper.Using the same effect, Saturn [4,5] and Zeusss [3] can harvest vibration energy from speech to achieve self-powered microphone sensors.
Finally, Pierce et al. in 2012 attempted a first taxonomy of human-powered microgeneration [39], even exploring, via a user study, initial concepts of "twist, shake, and turn" that were discussed in Peppermill and now our paper.Pierce et al., laid foundational design abstractions and concepts for interaction-powered devices, including connecting them to environmental sustainability.The paper's focus was sharing the findings from an introspective design study where simple custom prototypes were presented to participants.Our paper presents the next logical step from Pierce et al. and the Peppermill, leveraging recent advances in energy harvesting and computing, and importantly solving key circuit challenges of input robustness to build sophisticated interaction harvesting demonstration devices via a toolkit for interaction-powered devices.We build on top of the prior work discussed in this section to form this toolkit.

Toolkits for Battery-free Energy Harvesting Systems
Finally, we review prior toolkits, especially work that has facilitated the prototyping and construction of batteryfree and energy-harvesting sensing systems.Our work in this paper builds a toolkit to allow the building and design exploration of a specific class of battery-free systems -interaction-powered devices.
A host of toolkits have been created for physical computing; these novel construction kits, like Phidgets [19], Electronic Blocks [50], and MakerWear [28], allow for novices to explore new interactive modalities.Compared to these toolkits, which broaden accessibility, our toolkit is built to allow us (and other researchers) to explore a particular device domain deeply (interaction harvesters).Therefore we focus our discussion on energy harvesting, self-sustainable, and battery-free centric toolkits.
Some toolkits open up new data streams via batteryless devices, for example, devices that sense different aspects of physical environments like in-home power draw [8,13,42], or devices that allow novel (mostly battery-free) user interactions [3,5,32,42].Other toolkits specifically facilitate building battery-free sensing systems for various stakeholders.Sozu [56], as previously mentioned, has been open sourced and made into toolkits for distribution.The Flicker [22] platform is another construction toolkit for enabling experts to build batteryless sensing applications, providing built-in hardware circuits to enable computation despite power failures.Protean [7] continues this platform, by further allowing complicated machine learning algorithms to be executed on batteryless devices.These two platforms are focused on professional, even expert-level embedded systems developers, and are meant to be general purpose.There have also been novice-oriented toolkits.For example, Battery-free MakeCode [29] lowers the barrier to implementing intermittent computing which is critical to applications of batteryless devices, by featuring a visual programming interface.Our work is focused on the subset of batteryless devices that harvest energy from interactions.
As opposed to the existing toolkits, we design a toolkit for composing and exploring the design space of interaction-powered embedded systems with on-board computation.We do not explicitly seek to make these devices more accessible, instead using the toolkit to understand the barriers, facilitators, and promise of these devices as an environmentally friendly alternative for interaction with intelligent systems.We identify and Fig. 3.The toolkit captures a small set of interaction types to focus on: pressing, twisting, and shaking.Each of these has become familiar in specific contexts, leading to intuitive understanding based on the interaction options presented.Due to their physical differentiation, one energy harvester does not fit all, and require complex circuits to efficiently harvest while also sensing input.
overcome circuit and system design challenges to build this toolkit, and then demonstrate devices, as well as present findings from a multi-part study, extending prior work.

TOOLKIT DESIGN, CIRCUITS, AND IMPLEMENTATION
This section details the circuit and design based challenges we overcome to develop a toolkit for interactionpowered devices.Our key contributions are the enhanced circuits, starting from Peppermill and other designs in the literature, but enhancing for multi-input, fine-grained input, and continuous input.These circuits are wrapped in a toolkit that allows us to probe the design space of interaction powered devices, an important subclass of battery-free and energy harvesting devices, the first part of this design probe, a demonstration campaign, is presented in Section 4. We name the toolkit "PeoplePower " throughout the paper.The toolkit consists of (1) energy harvesters which are both user interface and energy input, (2) power harvesting circuits which collect energy from the harvesters, (3) our main contribution, novel harvester sense circuits that determine which harvester was actuated and to what degree, along with circuit tricks that allow for continuous and fine-grained input unlike previous work, and (4) the "glue" that includes modular connectivity hardware and mechanical enclosures.Figure 3 shows the interaction harvesters themselves, an exemplar power output trace, and the granularity and type of output they provide.To allow for development of demonstration devices, we must be able to combine several harvesters with appropriate harvesting circuits to power a microcontroller platform and output devices (i.e., microphone or buzzer) that are appropriate for their application.
In the rest of this section, we discuss the interaction harvester hardware (Section 3.1), the power conversion theory and mechanics (Section 3.2), the novel sense circuitry we designed (Section 3.3), and finally the high level method we used to construct demonstration devices (Section 3.4).We identify and analyze key design challenges and implementation decisions throughout.

Energy Harvesters: Power from Action
Any device that generates an AC current when a user interacts with it can be used as a harvester.Many different devices can be used as harvesters, but designers will be primarily interested in harvesters that i) correspond to an intuitive user interface action (e.g., pressing a button or twisting a knob) and ii) generate enough power for the system to carry out the corresponding action.For instance, a button which harvests 300 µJ per press would be inappropriate for an application that updates an E-ink screen because it doesn't generate enough power, and a solar panel which generates 1 mW when exposed to sunlight might not be a good harvester because it doesn't correspond well to an intuitive user interface action.
As part of this work, we have re-purposed 3 commercial products to be used as harvesters that can be plugged into our system.(1) A small micromotor sold by Pololu.It can be turned like a knob to harvest energy [10].(2) The harvesting element from a consumer "shake-to-power" flashlight.It can be shaken to harvest energy [34].(3) An electromagnetic energy harvesting button manufactured by ZF group that generates a small amount of power every time a user presses or releases it [2].
Some of these devices can be modified to change the way they operate or make them easier to use.For instance, the micromotor we use in our platform can be used as a linear slider instead of a knob by attaching it to a mechanism that converts linear motion to rotational motion; the buttons in our system can be made to generate more power by mechanically connecting multiple buttons to be actuated by a single user motion.
Each harvester presents unique circuit challenges.Different harvesters have differently shaped output voltage curves.This means that an algorithm that precisely detects user input for one type of harvester might not do well when processing voltage curves from a different type of harvester.Additionally, because each harvester has different source resistances and operates at different voltages, the ideal size for a harvesting capacitor will be different between harvesters.Optimal selection is further discussed in Section 3.2.1.

Power Conversion: Energy Harvesting Circuits
Each interaction harvester has its own separate harvesting circuit consisting of a diode rectifier and a storage capacitor.The output of all the harvester circuits is diode-or'd together and they are all fed into a buck regulator, which powers the system.The diodes are necessary to allow energy to be harvested from harvesters whose open-circuit voltage is lower than the highest voltage on a different harvesting capacitor.
Giving each energy harvester its own separate harvesting circuit makes composability easier but system size, cost, and harvesting performance might suffer.For instance, the small amount of unused energy left in 4 different capacitors across 4 different harvesters when   drops below   is greater than if there was only a single harvesting capacitor.However, variation in source resistance and harvester   means that different harvesters will have harvesting capacitor and measurement circuitry requirements.An optimal design might force some harvesters to share circuitry while separating others, but the gains to be made by doing this are small and would serve to make our platform more complex.The printed circuit boards for each harvester are shown in Figure 9.

Harvesting Capacitor Selection.
One of the most important characteristics of a PeoplePower harvesting circuit is the size of the harvesting capacitor.Due to variation in harvester source resistance, harvester   , and buck regulator efficiency as a function of input voltage, the amount of energy delivered to the end system per actuation of a given user input device depends on the size of the harvesting capacitor used.

Input Sensing: Energy Harvester Sense Circuits
Finally, we detail the input sensing circuits, which are a core contribution of the work.We also offer a technical evaluation of the circuit capabilities in Section 5.1.A key goal of this work is to allow for a wide array of devices and device types: therefore, fine grained, robust, and continuous inputs from interactive energy generators is a requisite for being useful.All other approaches do not cleanly separate energy generation, and input sensing.
V ℎ  button up clear button up sense button down clear button down sense Our button sense circuit.The AC voltage source in series with a winding resistance represent the energy harvesting button.Two identical sense circuits in parallel detect button presses and releases, which generate opposite but identical voltage pulses; these should be connected to microcontroller GPIOs.The pull-up resistors are connected to the microcontroller's power domain, typically the buck-regulated harvested energy. .Our extension of Peppermill for a coil sensing circuit with harvesting capacitor.The circuit has 3 outputs, one each for coil polarity ("direction"), harvester current sense ("  "), and harvester voltage sense ("  "); these should be connected to microcontroller GPIO and ADCs respectively.The pull-up resistors and sense amplifier power are connected to the microcontroller's power domain, typically the buck-regulated harvested energy.

Button down sense
Button up / down clear (from MCU) 1-2ms typ 'button down' reads for this button will be dropped for this time period

Button up sense down clear up clear
Fig. 6.Button sense signal timing.After a button press or release, the corresponding sense signal goes low and remains low until the microcontroller clears it using the "button up/down clear" signal.Although they are notated on the same line, the 'up clear' and 'down clear' signals are on 2 different GPIOs.
The input devices must allow minute adjustments, while also harvesting energy efficiently.Further, continuous input must be facilitated, despite energy harvesting dynamics, to ensure users are in control of devices.
Existing interaction harvesting circuits only provide coarse-grained control signals, if at all.For instance, Peppermill [47] measures the voltage over its energy harvesting capacitors as a proxy for the open-circuit voltage of a motor used as a knob.We replicated the circuit described in [47] and found that -although sufficient for applications requiring coarse user input -it works very poorly for other applications (see Section 5.1.2).Further, Peppermill's circuit allows the capacitor to be saturated if energy generated is not expended, meaning the interface becomes non-responsive if the user spins the knob enough, such that they have abundant energy.These factors limit the applicability of the energy-producing interfaces and preclude the development of devices with more fine-grained interaction requirements like drawing with an Etch-a-Sketch.Likewise, the Gameboy [12] Fig. 7.This figure shows the key differences/additions between the original Peppermill circuit and our enhanced coil harvester / sense board.The differences are highlighted in color on the bottom circuit.These targeted additions solve key issues for enabling robust and reactive user input.
does not determine user button presses by directly measuring the signals generated by its energy-harvesting buttons.Instead, a traditional mechanical button is mechanically coupled to the energy-harvesting buttons.This modestly simplifies electrical design but may restrict and complicate mechanical design and assembly.
Our toolkit's user input devices are electrically different than those typically used for physical user interfaces; they can't be read by simply reading a digital level (as you would with a button or encoder) or by reading a single analog voltage (as you would with a potentiometer).To read user input devices that can double as harvesters, special harvester sense circuits are required.
To summarize, our main circuit contribution includes mechanisms to solve Input Continuity, solving the Peppermill saturation problem, Granularity so we can detect fine-grained changes, and Multiple Inputs where we allow multiple buttons to work in one circuit (while all enabling input and energy capture).The specific differences between the Peppermill circuit, and our circuit, are shown in Figure 7, along with descriptions of each component added and why.

Button Sense Circuit.
Unlike traditional mechanical push-buttons which maintain their 'on' state for the entire time they're pressed, the electromagnetic energy harvesting buttons used in PeoplePower are not stateful.They only generate a brief pulse of voltage when they are pressed and released.This means that a button's state can't be figured out by just looking at the button (i.e., an instantaneous reading of the voltage level), instead, the button's voltage needs to be continually monitored for spikes.This can easily be achieved in software if the system is on, however, this presents a problem if a button is pressed when the system is off, and the power harvested from the button press turns the system on.By the time the system powers up, the voltage spike associated with the button press may be over.The system has no way of checking the press's polarity to determine whether the button was pressed or released; if there are many buttons, the system has no way of determining which of the several buttons woke the system up.In essence, we must design button sensing circuits that are power failure resilient.
The Battery-free Gameboy [12] overcomes this issue by including traditional mechanical push-buttons underneath the energy harvesting buttons.When a user presses the harvesting button, the corresponding mechanical push-button also gets pressed.This bypasses the issue, but adds complexity to mechanical design and assembly.
Our work instead introduces a circuit for recognizing button presses, shown in Figure 4; even if the system is powered off when the button is pressed, this sense circuit records the button press so it can be read by the system once it powers up.This is done by the following mechanisms.When a button is pressed, a small amount of charge gets deposited on one of the two 1nF capacitors, this happens no matter the state of the MCU or other parts of the system.The state of the capacitors can be read out through the inverters with outputs labelled "button down sense" and "button up sense".Once it is powered on, the system can clear the capacitors using the mosfets with gates labelled "button down clear" and "button up clear".An example waveform showing the sense signals when a button press is recognized and then cleared by the microcontroller can be seen in Figure 6.Because the capacitor in the button sense circuit will typically be 4 -5 orders of magnitude smaller than the main harvest capacitor, it only takes a negligible amount of power from the harvester.Because the sense capacitor is so large, the sense circuit can retain a sensed button edge for minutes with no power, far longer than it takes for even a very slow system to wake up (this indicates that the capacitor could be made much smaller, but as mentioned above, this would result in a negligible increase in harvested energy).The sense circuit itself takes little power and can be read out in a few microseconds.

Coil Sense
Circuit.The coil sense circuit shown in Figure 5 is a novel extension of Peppermill's [47] circuit.It can be used to sense the direction and speed of a motor or an electromechanical shaker.The coil's polarity can be determined by the "direction" output, its voltage can be determined by the "  " output, and the current harvested from it can be determined by the "  " output.All of these signals together can be used to estimate the open-circuit voltage of the coil harvester at any moment which can be used to determine the speed with which the user is turning a knob or shaking a coil.
Unlike [47] which tries to estimate how fast the user is spinning a knob (or shaking a coil) by measuring the voltage over the harvesting capacitors, we measure the coil harvester's voltage through a separate rectifier.Inclusion of this separate rectifier is critical for accurate user input measurement.A short and fast knob twist will charge the harvest capacitors to a high voltage; they will remain at this high voltage until the system has consumed the harvested energy, long after the user input has stopped.Without this separate rectifier for voltage sensing, the user's short knob twist will instead be read as a long knob twist.Once the user twists the knob, the system will think that the knob is still spinning until it has used up the energy that was generated even after the user has stopped spinning the knob.Moreover, once harvesting capacitors have been charged, the system will become insensitive to knob twists that are too gentle to reach the harvest capacitor voltage.The separate rectifier solves this issue; when the harvesting capacitors are charged to a higher voltage than the coil harvester is generating, the voltage over the separate rectifier still reflects the motor's open-circuit voltage.To confirm this behavior, we replicated the sense circuit described in [47].We asked 3 participants to use our etch-a-sketch demo (Section 4.3) to draw a spiral with this sensing circuit installed.We then changed out the sensing circuit with the Fig. 8.This figure shows how the toolkit binds together into a working prototype.Interaction harvesters (press, twist, or shake) are selected and connected to the specific power harvesting / sense board (shown in middle) and then regulated.A common interface delivers harvested power back to the sense circuits and also connects the sense signals to the microcontroller.The MCU is connected to various peripherals such as a speaker, LEDs, etc. one presented in this paper and asked the participants to draw a spiral again.While the demo is unusable with the circuit described in [47], a spiral can be drawn with our circuit.
We also add a current sense circuit, which allows the system to accurately estimate the coil harvester's opencircuit voltage, even when the system is consuming or harvesting a lot of current.This circuit is useful when the voltage drop over the harvester's internal resistance is non-negligible, which can happen if the system is consuming a significant amount of current or the harvesting capacitors are sinking significant current.For a technical evaluation of the circuit capabilities across sensing/input continuity, please see Section 5.1.

Constructing Demonstrations with the Toolkit
Our toolkit consists of several PCBs integrating the above-described circuitry, namely, a coil harvester board (for harvesting from twist knobs and electromagnetic shakers), a 6-button harvester board, and a buck regulator breakout board populated with the JST connectors that our ecosystem uses.The harvester boards integrate the .The fabricated and populated PCBs of the toolkit and an example of the underlying connections for an interaction harvesting widget.Shown is a combination using the DC Motor interaction harvesting circuits.This composition is the basic version of Etch A Sketch.On the bottom are shown the three main custom circuits built for the toolkit.While our demonstrations use the MSP430FR5994, most low power MCUs would be applicable as the toolkit is independent of the MCU and programming language described sensing circuitry along with a rectifier and a harvest capacitor, making it easy to prototype energy harvesting devices.The dimensions of the boards are 25mm×26mm, 42mm×78mm, and 22mm×31mm for the coil harvester, 6-button harvester, and buck regulator boards respectively.These PCBs are shown in Figure 9.
The buck regulator board uses a Texas Instrument TPS62120 buck regulator.This limits the amount of current a system made with our toolkit can consume to 75mA.
To complement the hardware and software components of the tool kit, we developed and 3-D printed enclosures for each of the PCBs in the toolkit to simplify prototyping.Figure 10 shows the motor, button, button board, and processor module enclosures with open connector slots for ease of handling and use, and clean combining and affixing to particle board or form for prototyping sturdy devices.We show an assembled version of the toolkit with all the modules connected together (without any output devices).
The typical process for developing a demonstration interaction powered widget for our design probe is as follows, and is shown in Figure 8.First we must decide what types of inputs the device requires.For example, to build Bop-it we would need at least one twist, and one shake interaction harvester.These would then be connected into a bus, that combines the power lines and input data lines into one.These lines are broken out with common JST connectors for ease of use.Then, we would connect this bus to the microcontroller breakout of our choosing.Since only command signals and power come out of the PeoplePower toolkit bus, any common board, from Arduino to micro:bit, is compatible.Of course, some microcontrollers would be better suited due to low power draw (for example, we chose to use the MSP430FR Launchpad series of MCU breakouts).Once connected to relevant I/O pins and power rails, we can then program the MCU as normal to create the desired effect, this programmatic glue (our demos are in C/C++) funnels the energy from the interaction, into actuation, sensing, computation, etc.While some interactions may be complex (such as our Simon demo that stores state across power failures), the simplest case of programming an action that only executes once power is available is straightforward.We detail the demonstrations and there constructions further in the following section.

DESIGN PROBE: INTERACTION POWERED DEMONSTRATIONS
We present multiple demonstration applications built using our toolkit, and only possible due to the enhanced circuits we built.This section serves as both a toolkit evaluation and design probe into the barriers, facilitators, promise, and design space for interaction harvesting devices.This section engages in proof by demonstration, showing a range of battery-free, energy harvesting, interactive applications that PeoplePower enables.Of the applications we have built or evaluated we discuss four notable examples: i) Bop-It, ii) Etch-a-Sketch, iii) Simon, and iv) Smiley Terminal.We provide detailed information on each demo in their designated sections.All demos hardware, software, and tutorials are found online on our GitHub repository.The original devices are all shown in Figure 2. We present these particular demonstrations for several reasons: (1) We want to show a range of interactive devices, in both form and function, that fit into the interaction harvesting concept.(2) We want to demonstrate how varied energy harvesters can be used, and that they give enough energy to power interesting actuation like sound, wireless messages, and displays.(3) These devices are for inspiration for potential toolkit users, who can refer to the code, documentation, and pinouts to get started.Since these devices are common and familiar to participants, the resistance (for participants to understand what is going on and what harvesters are used for) is low.We explored other applications and tutorials that are available on our website2 .Figure 2 shows all the use cases, while Figure 13 shows the internal electronics of a selection of the demos.Table 1 provides a listing of peripherals (actuators, sensors, input devices), and energy harvesters for each demonstration.We note below how each demonstration exercises a part of the toolkit, or takes advantage of our circuit solutions, to gain new functionality previously not possible with existing circuits.

Programming and Fabrication of Demos
These demonstrations are all made up of harvesters, harvesting circuits, microcontrollers, and output peripherals.Harvesters and circuits are connected to the microcontroller, which connects and manages all peripherals.The MSP430FR5994 has been chosen for the MCU for its low power consumption, simplicity, freely available firmware libraries and toolchain, long history of usage in the embedded systems community and its internal FRAM nonvolatile memory, useful for storing information across power failures.While we program all demos in C/C++, the demos are likely compatible with the Arduino port for MSP430, Energia, and are also compatible with Code Composer Studio, a typical IDE found in many classrooms.Each widget has entirely separate peripherals used as their response to interaction, as described in Table 1.These peripherals include LEDs, a speaker, an LCD display, a wireless transceiver, and a buzzer.This is representative of reality -there tend to be far more actions a device can take than ways a person can interact with that device.For all demonstrations, we have fabricated enclosures to increase the aesthetic appeal, entertainment value, and hide the internal wiring harnesses of the prototypes.
We denote in parentheses in the following sections, the particular circuits feature of the toolkit that the demonstration uses.

Bop-It: Handheld Music and Rhythm Game (Input Continuity)
Bop-It toys are a line of audio and rhythm games.Users listen to a series of voice commands set to a drum beat.These commands ask users to interact with any of multiple inputs including pressable buttons, pull handles, twisting cranks, and spinnable wheels.As the player progresses the pace of the game increases.The original Bop It was released in 1996, with many iterations released since, and widely popular in North America.The original device is shown in Figure 2, and an example of usage in Figure 11.The internals are shown in Figure 13.
The Bop-it is likely not possible with the original Peppermill circuit, as input saturation would make it such that a user would lose the ability to have their twist or shake of the device registered (therefore losing the game).In our version of the Bop-it, a user can twist a wheel, or shake the device.We recorded our own audio which is played out by the device, giving random commands on which action to do.The audio is sent through a headphone jack, as louder audio requires more power.The actions provide enough energy for the state machine of the Bop-it to persist without a battery, and for the music to play continuously.A power trace is shown in Figure 14a, where the user shakes or twists based on the rhythm, and the output of the harvesters is shown.This demo takes an average of 15.8mW.We selected motors for use with our DC motor interaction harvester that were low cost, easy to find, and provided a decent amount of torque and low resistance: Pololu 100:1 12V Micromotor.The software components include, beyond the toolkit libraries, a custom MSP430 library we developed for controlling the amplifier and audio IC, as well as the state machine itself.

Etch A Sketch: Drawing Handheld (Fine-grained Input)
Etch A Sketch is a mechanical drawing toy invented by André Cassagnes of France in 1960.It has a thick, flat gray screen in a red plastic frame.There are two white knobs on the front of the frame in the lower corners.Twisting the knobs moves a stylus that displaces aluminum powder on the back of the screen, leaving a solid line.The knobs create lineographic images.The left control moves the stylus horizontally, and the right one moves it vertically.The Etch A Sketch is one of the most popular children's toys ever, selling 100s of millions of units and inducted into the National Toy Hall of Fame.
The Etch A Sketch is an interesting widget because it is a batteryless device anyway.We wanted to see if we could digitize this effect, while still maintaining the battery-free aspect.We replace the knobs of the Etch A Sketch with our twist interaction harvesters for horizontal and vertical movement, shown in Figure 12.A trace of power harvested during device use is shown in Figure 14b; the user turns the left and right knobs to draw on the screen.To display the user's activity, we use a 168x144 pixel SHARP Memory LCD which allows for partial updates.Emulating the behavior of the Etch A Sketch means only updating a small area in the direction of travel, as determined by the user interface.These small changes at a time can be accomplished with relatively low power through partial refreshes of the LCD.When the user isn't actively turning the knobs, little power is used as the display requires no updates.(An e-ink display requires no quiescent power to retain the image, but takes a prohibitively large amount of power for a cold start).This demo takes an average of 0.95mW and has a peak power consumption of approximately 1.3mW.

Buck Regulator Breakout
Class-D Audio Amplifier The Etch-a-Sketch is a useful exemplar device due to its use of a screen with battery-free interaction harvesting devices.The Etch-A-Sketch (specifically the display) has a number of interesting artifacts from intermittent power.Notably, since the display is a LCD, as the capacitor voltage drops the pixels in the LCD fade, eventually, if left off for a few seconds after the capacitor voltage drop, the memory buffer inside the LCD will also lose values, meaning that (unaided) when power returns, the Display will show empty (or random static, unless cleared).This is in contrast to an electronic Ink display, which retains the display, even when the electronics are powered down.E-Ink has a much longer write cycle (slow to update) and is much more energy intensive than the micro-watt powered SHARP LCD display.The effect on the user will vary based on the application, and specifically the size of the buffering capacitor.For drawing or display applications where the user is expected to always be drawing, the capacitor will remain full and able to keep the lines visible while twisting, if a user imagines drawing something to then display for a longer period, then a larger capacitor would need to be used.Unless the device has an   E-Ink display, the image on the screen will disappear eventually, without intervention.This could be seen as an advantage: similar to Bop-It, one could imagine a game where a user must constantly draw to stay "alive" in the game (and subsequently must keep the screen lines displayed).This could also be a disadvantage, as images are lost when power fails, and must be recalled manually.

Simon: Memory Skill Game (Multiple Buttons)
Simon is an electronic memory skill game released in the United State in 1978 and was an immediate success and even pop culture symbol of the 1970s and 1980s.Four colorful buttons light up and play notes when pressed.The computer and player alternate lighting up the device.Each turn, the computer adds on a note to a growing sequence and the player must recite it back.
We slightly change the action of Simon to make it work with interaction harvesting as shown in Figure 15.Instead of Simon reciting the sequence first, the user must instead click the button in the middle of our version of Simon to listen to the sequence, they must pay energy to play.Once the recitation is done, then the user can go and click buttons normally to match the sequence.The sequence gets longer as time goes on with no faults, just as in the original Simon.When the user hits any of the large colored buttons, the corresponding LED is lit, and a buzzer sounds whose pitch corresponds to the button pressed.The button clicks generates just enough power to advance the internal state machine of Simon, turn on an LED for the user and indicate with the buzzer.Our circuit allows for sensing and harvesting, and also does not get saturated by multiple buttons hitting soon after each other.This demo takes an average of 4.35mW.We attribute this large power consumption to the buzzer, which is audible from across a room.

Smiley Terminal: Multi-button Selection and Storage
Smiley Terminals are common devices for collecting customer feedback.They are often found in bathrooms, cafeterias, or other spaces where large numbers of customers are served.Customers can select from four smileyfaced buttons to indicate whether they are very happy, happy, unhappy or very unhappy with the service they were provided.For this demo, we implement the exact same function as the commercial Smiley Terminal, the energy from the button press is enough to save the selection to FRAM, non-volatile memory of the device.A serial port is also exposed for offloading data (when fully powered) so that the ratings can be retrieved.This demo takes an average of 2.3mW when operating.We anticipate that something like the Smiley Terminal could be used in numerous other applications, including an interactive poster at a movie theater where one rates the likelihood of seeing the movie, a museum exhibit or walking path exhibit where battery replacement is not an option, and exhibit goers would register interest via the button (or even choose various options, if expanded such that the buttons trigger a display), finally it could be used for citizen science applications, where the terminal can collect data for long periods of time without maintenance, and a researchers can collect that data at a later point.

Takeaways: Design Space Considerations
Our demonstration campaign and investigations into building interaction powered devices provide a number of interesting design notions that could be useful for future toolkit users.Interaction harvesters have unique constraints-they are incredibly situation/place/action oriented, and actions may exceed power capability.Our approach was to lightly redesign existing interactive devices, such as bop-it, where if one is off rythym, the game ends just as the power dies.An interesting extension of Bop-it would be to create a reactive game where various sequences that generate more or less power could be used, to ensure longevity.Games represent an especially attractive modality due to incentivizations: for example, one could change a console based real time shooter game loop such that using more intensive / energy producing harvesters (like a crank) would increase "ammo" or some other digital currency useful in-game.Another potential line of design could be long-term physical devices: imagine a Tamagotchi (a handheld digital pet that one must feed and take care of, created in the 90s in Japan but distributed widely) that requires a certain amount of literal energy to survive.This energy is provided via various inputs of the user.This conception neatly intertwines energy as an in game or in application concept, to the actual energy harvested from user inputs.We expect other archetypes beyond these could exist, and be tested with the toolkit.
Concretely, future users / designers of interaction powered devices must consider how some electrical components, when operating on the margins of power, will sometimes have odd functionality that may restrict usage of interaction harvesting devices.For example, many gas based sensors require a long startup time where a heating element is slowly brought up to temperature.If this sequence is interrupted, the gas readings will be highly inaccurate.The same is true for some mechanical components: they are hard to get started, but easy to keep going.Another example are displays, which usually have an internal memory buffer which, when turned off, can be partially corrupted.A designer must take care to refresh the entire buffer on reboot.Designers must still balance what would normally be considered an edge case of a component, with application requirements.Many of these I/O problems from power failures have been explored in the area of intermittent computing [43,52], which could offer a wealth of ideas for future interaction powered devices.

EVALUATION
Toolkit evaluation is often challenging as the benefit of the toolkit is not usually seen until after its release, and its longevity in terms of inspiring future work.We decided to conduct an evaluation focused on a design probe in the form of a demonstration campaign and specific technical benchmarks (i.e., as suggested by [30]).Our toolkit was specifically built to enable a design probe so we can understand the promise of interaction harvesting, beyond bespoke devices like Peppermill, InGen, and the Battery-free Gameboy.Our technical benchmarks evaluate our enhanced circuits, specific towards comparing utility and breadth of interaction made possible, against previous interaction harvesters like the Peppermill.The research questions we aimed to answer with our evaluation are: • Can interesting, compelling, and novel demonstrations of interaction powered devices be built with the toolkit?We refer the reader to the demonstration campaign presented in Section 4. • Do our new circuits provide sufficient functions for energy harvesting (i.e., efficiency) and sensing (i.e., input granularity and continuity) compared to previous interaction harvesting circuits?(Section 5.1) • Does the toolkit have promise for enabling creation of novel interaction powered devices?(Section 5.2.1)To answer these questions, we conducted a series of technical validations and preliminary user studies.

Technical Validation of Interaction Powered Circuit Performance and Function
In this section, we evaluate input continuity and energy generation, towards realizing a useful hardware toolkit.We use real devices and hardware from the toolkit for all evaluation, and our demonstrations.We use a Saleae Logic Pro 8 and the integrated current measurement amplifier on the interaction harvester boards for all power measurements.

Energy Generation.
To evaluate how much energy is generated by the harvesters in practice, we measured the voltage stored on the harvest capacitor in-situ before and after a user action.We did this separately for each of the three harvesting modalities, actuating each one ten times and determining the amount of energy harvested by looking at the change in voltage on the capacitor.Our results are shown in Table 2.
The amount of energy harvested depends on the user interaction, harvesting capacitor selection, source resistance, source voltage, system current consumption, and system voltage.Among these factors, we found capacitor selection to be the most critical.We conducted validation with a wide variety of capacitors and harvesters and report the optimal configurations in Table 2. Of note-the amounts of harvested energy could change as user interaction and configuration of the rest of the system change.

Input Granularity and Continuity
Comparison vs. Peppermill User Sensing.The Peppermill circuit had non-ideal behavior as discussed in Section 3, where the storage capacitor would saturate if the output load (i.e. the MCU, sensors, peripherals, etc) was not drawing enough to quickly discharge the capacitor.Figure 16a shows this capacitor saturation effect for the Etch A Sketch, preventing the user from using the device after the first turn

Peppermill misses second twist
Thinks first twist is still active

New circuit captures second twist
Peppermill senses non-existant knob turn until system depletes capacitor (a) Previous work fails to recognize user input when harvest capacitors are "saturated".In comparison, PeoplePower can accurately measure user actuation of coil harvesters.  of one of the knobs, as the energy harvested from the first turn of the knob fills the storage capacitor.Since the LCD and MCU do not draw very much current, the voltage on the capacitor declines at a slow rate.We replicated the circuit described in [47] and found that it did in fact register a "ghost input" for an extended period of time after the user stopped turning the knob, rendering the device unusable.As shown at the top of the figure, our version of the circuit captures the actual input, and is not reliant on the energy stored in the capacitor.This change made the device usable.

Multiple Button Sensing.
Another novel aspect of our circuits is the ability to support multiple interaction harvesting buttons, which has never been demonstrated in previous work.To confirm that our button harvest and sense circuits could accommodate and differentiate between button presses from multiple buttons, we measured the energy harvested by the buttons and the output of our button sense circuit.The results of this test are shown in Figure 16b.Even though the electrical activity associated with the button press ends before the system turns on, our button sense circuit lets the system determine which of the two buttons was pressed.As can be seen in Figure 16b, there is a 5-millisecond delay from button press until system power-on.Once the system is powered on, buttons can be read immediately.Another 5 milliseconds elapses before the "button clear" signal is issued.

User Studies of PeoplePower in the Creation of Interaction Powered Devices
To complement the technical evaluation done in Section 5.1, we evaluated the usability system with two preliminary user studies, a workshop study where participants programmed devices using the PeoplePower toolkit, and an ideation study where participants imagined possible devices enabled by the toolkit.The goal of these user studies was to expand upon the demonstration applications from our own design probe in Section 4 and show how the toolkit can support the ideation and creation of compelling and novel demonstrations of interaction-powered devices.

P2
Race/button mashing game.Two players mash a button and whoever mashes it the fastest lights an LED and wins Yes
The idea was a game show buzzer system, where there are two competing players and one game controller.

P4
I was trying to design a device that enables step counting.
The idea was to have a smart shoe, with these buttons in the heel of the shoe, to enable energy harvesting and step-counting, as a person walks/runs.I used the button as a harvester and stored the step count in the mcu, which could be later retrieved over usb.

P5
I designed a device that could be used to detect the distance between two points on a surface.It relies on the voltage produced by the twist harvester and a calibrated coefficient to turn that into a distance traveled.It also uses a button to reset the distance measurement.
No 5.2.1 Workshop Session.We conducted a workshop study to evaluate what users could design and develop with the PeoplePower toolkit.This complements our own directed design probe by further eliciting barriers, facilitators, and future potential of interaction harvesting devices, spurred by the physicality of the toolkit, and the examples from our demonstrations.
Participants We conducted a workshop with five participants (demographic information shown in Table 3).Participants were recruited via Slack messages to two computer science research labs, one focused on energyefficient computing and one focused on mobile health systems.Participants were compensated with a $50 gift card for participating in a 2-hour workshop and an additional $25 for participating in a 30-minute semi-structured interview on their experience which 3 participants agreed to.All 5 participants were graduate students (1 master, 4 Ph.D. students) with 2 to 6 years of experience with embedded systems.Of the five participants only three had previously used energy-harvesting techniques such as solar and vibration energy, but none had programmed a device powered by an interaction harvester before.Participants were technically savvy, adept at programming, but non-experts in energy harvesting, with an interest in ideating, exploring, and even researching possibilities for more sustainable computing.We expected that more technically savvy participants would have the capacity to ideate devices PeoplePowerthat could be implemented in the time constraints of the workshop, whereas novices would require significant education and boundary setting.

Design and Execution of the Study
The workshop session lasted roughly 2.5 hours and consisted of several distinct segments.First, users completed a pre-study questionnaire assessing their prior experience with batteryless devices (5 mins).Second, an experimenter gave a verbal introduction to PeoplePower; the different components were described and the "Simon Says" game was demonstrated (15 mins).Third, participants were left alone for an ideation portion, where they were asked to come up with one or more devices that could be powered by user interactions (30 mins).Fourth, participants were asked to use the PeoplePower toolkit to physically construct the devices they designed (20-40 mins).Finally, they were asked to write firmware for their devices (45 -60 minutes).
Because none of the study participants had used Code Composer Studio before, we gave an extra time of ∼20 minutes to let participants get familiar with the embedded development environment.
During the device-building process, participants were given 3 harvester options (twist knob, button, shaker) and their corresponding interaction harvester boards, 5 outputs (LED, Piezo Buzzer, Headphones, Digital Screen, nonvolatile memory), a voltage regulator board, and an MSP430FR5994 development kit.Participants were given a hookup guide that showed how to connect the respective inputs, outputs, and MSP430 as well as a power budgeting sheet that showed the energy generation of the harvesters and energy consumption of the outputs (Appendix A, Figure 19).At the end of the building stage, participants filled out an exit survey which contained a mix of Likert-scale and free-response questions.Three of the five participants participated in a post-study semi-structured interview which was recorded and transcribed.Three researchers conducted a thematic analysis on all feedback from participants and notes taken by the experimenters during the study.
Results Among the five participants, four made an electrically correct device with inter-module connections that will eventually lead to working prototypes without experimenters' intervention.Two of the five participants (P2 and P4) made a fully working prototype of their device including electrical design and firmware within the 2.5-hour workshop.User's descriptions of their devices are shown in Table 4, and photos are available in Appendix A, Figure 20.These five devices range in both function and interaction harvesters used, showing a variety of different use cases for interaction-powered devices..We noted that the rest of the participants were on track to complete their prototype, but got slowed down by programming as much time was spent on writing and debugging C code.Besides the programming of the devices, no major obstacles were observed in the use of the toolkit.
Our thematic analysis identified three main themes of insights towards our toolkit.First, 3 participants commented on the accessibility aspect of PeoplePower and the feedback was positive.Participants commented with concrete examples of what are missing from existing tools they have been using.For example, P4 noted "If I were to get a button from Digikey, I don't think it would come with a coil that would automatically generate power when I click the button.And for me to develop that it's going to be hard", and further "If I had this platform, I don't have to worry about how that generation mechanism is working.Because it just is working out of the box when I get it".P2 mentioned "[Interaction harvesters] are so difficult to work with, without this type of kind of development and like environment".P3 commented "my background is biomedical and mechanical engineering.And so things like building out PCBs and power management, circuitry and things like that are definitely not within the material that I was taught [...], and so having these modular components that are doing that, and then just having to work through the mechanical design definitely fits my background a lot better.And you know, lifts a lot of that burden."This is encouraging, as the toolkit could be useful in the future for more exploratory research on interaction harvesting.
Second, four of five participants found PeoplePower or part of it easy to use as they commented, for example: "more or less, I just really needed to follow the sheet that was given to me to hook everything up.And yeah, from there, it was pretty much ready to go" (P2), "There's a slight learning curve, but I think the platform sort of reduces effort in developing energy harvesting devices" (P4), "I was surprised that I was able to get a prototype working fairly quickly" (P4), and "These widgets make the hardware prototyping phase of the project dirt-simple" (P5).The post-study survey responses also suggest that participants feel PeoplePower enables the development and use of devices powered by interaction harvesters, and enjoyed the prototyping process with PeoplePower (Figure 17).
Finally, we found a theme of feedback around limitations of PeoplePower which could limit the possible explorations and any future design probes.As expected, two participants pointed out the limited variety of available widgets (i.e., both functionality and form factor) in the current system implementation.
While the results of the study suggest that PeoplePower is a usable toolkit for creating interaction harvester devices, and that the toolkit enables a wide range of devices, only two of the five participants were able to finish programming their device by the end of the study.Based on the results this was due to difficulty programming the device in C, as all three participants that did not finish creating their devices felt that programming the device was the most difficult or confusing part of the prototyping process.We believe that this is just an inherent difficulty with anything related to energy harvesting, as those devices will operate on the margins of power, requiring low-level programming languages and careful design, even with specialized hardware of the toolkit.
To support more enhanced prototyping, future work could include creating a programming environment that provides the infrastructure to make the toolkit easier to program.However, this would be a tremendous amount of engineering effort and is out of the scope of this work.PeoplePower is ultimately a hardware toolkit that enables the creation of devices powered by interaction harvesters and allows for design probes of the same, not an end-to-end platform.Nonetheless, this unexpected difficulty in programming and its interaction with the toolkit use merits further investigation.

Ideation Session.
Prior to the workshop study in Section 5.2.1, we conducted an ideation session with 19 participants in a capstone computer engineering design course at a university in North America, all with various levels of experience with physical computing ranging from 1 to 8 years.We began the session by showing short video demonstrations of the Etch A Sketch and Simon Says devices from Section 4. After viewing demonstrations, we asked participants to design prototypes of devices that use the PeoplePower interaction harvesters.Participants were given 15 minutes to collaboratively design prototypes of devices on Google Jamboard, a collaborative whiteboard, in groups of three to four.After completing their designs for interaction-powered devices, participants completed an exit survey with questions related to their programming experience, as well as open-ended questions regarding the ideation process.
Did these interaction-powered widgets change your perception of the applications of energyharvesting devices?
• "Yes, the Simon game was the first time I have seen a complete interaction with just energy harvested from button presses.Very impressive." • "Yes, because I've always thought that the energy available from interaction was so minuscule compared to the energy required for computing and performing a useful action.From these demos though, I've seen that even under the low energy constraints, there can still be really cool applications." • "Yes, they don't just have to be sensors or other devices that are remote or inaccessible." What are strong points about these interaction-powered widgets?
• "Do not require charging, low energy footprint, automatically result in optimized power consumption." • "They are interesting and captivating for the audience but not too complex to understand." • "From an interaction standpoint, given the simple energy harvesting interactions demonstrated (button presses, shaking, etc.) when we are using any type of technology we are essentially wasting potential energy.We should think about the energy cost of our interactions, for example is there an alternative that can be energy harvested or a hybrid approach with the same experience to the user." Results Participants were able to brainstorm a variety of interaction-powered devices, such as an interactionpowered Dance Dance Revolution, a TV remote powered by button presses, a Bluetooth computer mouse powered by a twist and push harvester, smart watches utilizing kinetic energy of movement, and a variety of other imagined use cases.Interaction-powered mechanisms also inspired participants to come up with ideas that harvest kinetic energy not from user interactions such as ocean-powered trash monitoring via tidal energy harvesting through tides.Some examples are shown in Appendix B, Figure 21.Additionally, 16 of the 19 participants stated that these interaction-powered widgets changed their perception of the applications of energy harvesting devices with Figure 18 showing selected responses to the open-ended question.Although these imagined prototypes using the PeoplePower toolkit do not consider software/hardware constraints that may arise during implementation, they show how the PeoplePower toolkit can enable users to imagine diverse use cases for interaction-powered devices.

5.2.3
Limitations of the Studies.Our findings from the user studies initially support our claim that interaction harvesting (via our PeoplePower toolkit) is generative for diverse use cases.However, we acknowledge that our studies had limitations.The first workshop study was conducted with only 5 participants, and only 2 were able to create a fully-working device after the 2.5-hour workshop.This limitation was primarily due to programming constraints due to the lack of available and well-documented starter code for users.Additionally, there were time constraints with our workshop study as users were only given roughly 1.5 hours to physically construct and program their devices.
In the second ideation session, participants were simply designing potential interaction-powered devices on whiteboards, unconstrained in what they could create and did not have to consider peripherals, MCUs, or power constraints.Thus, while it informed the generativity of our toolkit and showed a variety of diverse imagined use cases, these devices may not actually be implementable with the actual physical toolkit.Additionally, due to the sampling of participants from a college-level computer engineering course, we could not test the utility of PeoplePower with novices unfamiliar with embedded systems, which could have informed more on generativity and utility.

DISCUSSION AND FUTURE WORK
We address the limitations of our toolkit and future work focused on enhancing the toolkit with more user-centric mechanisms for prototyping.

Limitations
6.1.1Functionality.The toolkit was built to enable a design probe and exploration of interaction harvesting devices, which means it is limited in its scope and ability to support makers building interaction-powered widgets.For example, to enable building interaction-powered devices, further integration of programming environments, tools, and tutorials would be required.Additionally, fundamentally some interactions may not be able to produce enough energy for a particular paired action (pressing a button that turns a fan, or does audio processing, for example).Developers would have to cultivate a sense of the energy generation possible by the harvesters, before they can easily match actions to harvesters.

Harvester Modality.
Another limitation is the current offering of harvesters only covers a few modalities, and are all hand centric, similar to prior work.While the toolkit enables finer-grained control and more composability, integrating other form factors like wearable flex harvesters that generate energy when you move, or large piezo-ceramic surfaces that generate energy from being walked on, would allow the creation of more interesting devices.Finally, while the circuit designs presented solve crucial problems of past work, a significant amount of energy is left on the table.Proper dynamic impedance matching for the DC motor harvester, for instance, would provide a significant amount of energy over the current design.However, dynamic impedance matching circuitry can be quite sophisticated to design and test.
6.2 Future Work 6.2.1 Building a Platform.This toolkit could be greatly enhanced by investigating how to integrate it into traditional design and development workflows, versus how we used the toolkit for conducting a design probe on the limits of interaction powered devices.Future work could include mechanisms and tools for deeper introspection into the function of the harvesters, and the tradeoffs of different designs.Providing a platform and tools to help diagnose energy bugs in real time would aid the programmer and reduce frustration.Further, profiling and estimation tools for understanding the amount of energy a harvester will produce based on a user interaction would be helpful.Static analysis that estimates the runtime energy cost of user code, paired with robust profiles of interaction harvester energy output, could suffice.Finally, building a platform that integrates with online IDEs like Microsoft MakeCode [15] or other type of environment could greatly expand the utility and accessibility of the PeoplePower toolkit.Custom software modules where the harvesters become first class citizens in the interface would be ideal, as harvesters could be mixed and matched, and tuned to application.

Guiding User Interaction to Generate Enough Power.
A key consideration when designing a device to be powered by user interaction is to make sure that the user's actions generate enough power for the corresponding action.The most basic way of doing this is by choosing user input devices that generate sufficiently large amounts of energy and by choosing device actions which take sufficiently small amounts of energy.Barring this, however, user actions can be guided to generate enough power for the device to operate correctly.For instance, in our Bop-it demo (Section 4.2), a user must keep time with a rhythm to win the game.The tempo of the rhythm can be chosen by the toy designer to generate sufficient power -if the user fails to generate power, that's ok; they will have lost the game anyways by that point.Another example arose in a device built during our workshop study (Section 5.2.1).A participant created a button-mashing arcade game where two players compete to see who can mash an arcade button faster.By virtue of this game, users will generate as much power as they can -enough to power the device.Exploring this game mechanic and energy tension is a fruitful area of future work.6.2.3 Designing for Sustainable Futures.In the early days of sustainability intersecting with HCI, computing devices were used as a type of display or visual for helping people understand the electrical usage of devices and appliances, or the water impact of some actions [38].Now, we are seeing devices that can effect positive changes in energy consumption and eWaste by replacing battery powered or tethered devices, or collecting data that is used in direct climate action.We intend to explore future applications of Interaction Harvesting Widgets for this purpose, for example building more utilitarian devices like remote controls, handheld inspection and sensing devices, and wearable health devices.During the workshop user study, P4 (a wearable health researcher) commented that they would be interested in using interaction harvesters to turn their current devices (a wearable camera and PPG sensor) batteryless.However, P4 mentioned two barriers with the current PeoplePower toolkit and harvesting widgets, firstly that "the cameras consume quite a lot of power and even if I were to use a shaker or a button, that wouldn't be sufficient to power it.And so the blocker would be either coming up with an energy harvester that harvests more energy or designing cameras that consume less energy".Secondly, with the PPG sensor, figuring out how to "integrate a shaker in a wearable form factor in a smaller size into that PPG sensor wearable" while also ensuring that "a shaker that continuously shakes would not disturb the participant or person wearing it [would be challenging]".Thus, future co-design could expand PeoplePower's widget offerings and allow embedded systems researchers to envision batteryless, interaction-powered devices.Perhaps most compelling, the creation of interaction-powered devices enables the deployment of interactive devices to populations where access to electricity and batteries is unreliable or impossible.

CONCLUSION
This paper explored the design of interaction battery-free harvesting devices via the development of the first toolkit for such.These devices can function in perpetuity (excepting mechanical and material flaws), not requiring maintenance or battery replacement, always available when a user actuates them.Building on top of two decades of bespoke examples of interaction harvesting devices, this toolkit enables for the first time a design probe and holistic demonstration campaign, that shows the range of possible devices, as well as the remaining gaps and barriers to realistic usage of these devices for the everyday.This is enabled via enhanced circuit designs that handle input continuity and granularity, as well as provide multi-harvester input.The circuit designs, software libraries, and composable hardware toolkit we developed, enable a host of new devices, demonstrated by the bop-it, etch-a-sketch, and ratings widgets we built.Through a workshop style user study, we further elicited new use cases and designs, and probed limits of the concept, with participants primed by our toolkit and demonstrations.Our thematic analysis of user feedback shows that much can be made simpler, and many challenges remain, but PeoplePower is a promising step towards realization of diverse, sophisticated, interaction powered devices.
Fig.1.The concept of interaction harvesting devices: mechanical forces from the user generate the energy needed to execute the afforded task: either compute, communication, or actuation.We engineer modules that can harvest energy from user actions, as well as provide fine-grained input from those actions, which guide and power a afforded devices action.

Fig. 5
Fig.5.Our extension of Peppermill for a coil sensing circuit with harvesting capacitor.The circuit has 3 outputs, one each for coil polarity ("direction"), harvester current sense ("  "), and harvester voltage sense ("  "); these should be connected to microcontroller GPIO and ADCs respectively.The pull-up resistors and sense amplifier power are connected to the microcontroller's power domain, typically the buck-regulated harvested energy.

Fig. 9
Fig.9.The fabricated and populated PCBs of the toolkit and an example of the underlying connections for an interaction harvesting widget.Shown is a combination using the DC Motor interaction harvesting circuits.This composition is the basic version of Etch A Sketch.On the bottom are shown the three main custom circuits built for the toolkit.While our demonstrations use the MSP430FR5994, most low power MCUs would be applicable as the toolkit is independent of the MCU and programming language

Fig. 10 .
Fig. 10.Mechanical design of the toolkit.A series of 3D printed enclosures were made that allow for quick combining of various modules in the toolkit.

Fig. 11 .
Fig. 11.Bop-it interaction harvester: twist and shakes on the beat powers continuous music audio.Users sync actions to the rhythm.Onboard computation penalizes the user if cues are missed.

Fig. 12 .
Fig. 12. Etch A Sketch interaction harvester: controlling multiple knobs at once due to our novel circuits.

Fig. 13 .
Fig.13.The internal "guts" of three of the demonstration devices.Bop-it and Etch A Sketch show the DC harvester and the interaction harvesting bus.Simon shows the multi-button harvester which allows for many buttons to be used simultaneously.All demos are enclosed in laser cut particleboard.
Bop-It trace showing the output of harvesters.Etch A Sketch trace showing the output of harvesters.

Fig. 14 .
Fig. 14.Annotated traces of the current (mA) output of harvester in two of our demo devices.

Fig. 15 .
Fig.15.Simon game made with our toolkit.Users learn the sequence by tapping the white button and seeing the lights light up under each outside button.They then play the sequence from memory.Button presses power all sound, lights, and state tracking by the microcontroller.
Graph showing harvested energy and button sense signals when button 1 is pressed.Note that "button 1 sense" and "button 2 sense" are active low.

Fig. 16 .
Fig.16.Evaluating the input accuracy of the coil and button harvesters.

Fig. 19 .
Fig. 19.Hookup guide and energy budgeting handouts given to participants of the workshop study.

Table 1 .
Breakdown of the sensors, interfaces, actuators and output devices, and interaction harvesters for all demonstrations we discuss.The table shows the breadth of components PeoplePower supports without requiring circuit design and tuning.

Table 2 .
Energy harvested in various situations by our interaction harvester circuits and harvester.

Table 3 .
Demographics and proficiency of the participants in the user study.

Table 4 .
Participant's description of the devices they made.