E3D: Harvesting Energy from Everyday Kinetic Interactions Using 3D Printed Attachment Mechanisms

and DIY solutions are left with inaccessibility for non-experts preventing fully imbuing daily innovations in end-users. We present E3D, an end-to-end fabrication toolkit to customize self-powered smart devices at low cost. We contribute to a taxonomy of everyday kinetic activities that are potential sources of energy, a library of parametric mechanisms to harvest energy from manual operations of kinetic objects, and a holistic design system for end-user developers to capture design requirements by demonstrations then customize augmentation devices to harvest energy that meets unique lifestyle. CCS Concepts: • Human-centered computing → Interactive systems and tools .


INTRODUCTION
We live with a greater increase of pervasive computers and smart sensors all around, from smoke detectors to air quality sensors to entrance monitors to smart wallpads, and many more.Adoption of these ubiquitous devices and deploying the Internet of Things (IoT) have promoted more efficient green engineering contributing to  2 reduction with lowered environmental impact.Nonetheless, they also contribute to an increase in phantom standby energy [72].They demand distributed power sources otherwise are subject to scaling down the number of devices to be installed to count on reliable power sources [11].To date, users are predominated by batteries as distributed power sources, but the true cost of batteries is not trivial.Batteries are also notoriously known for environmental degradation and require replacement, demanding huge labor cost expenditure, and often resulting in mass landfills at the end-of-cycle.An office space comprising 10K IoT nodes, for instance, may require around 30 battery replacements each day, and with projected 10 trillion IoT devices in the future, it can consume 10 years of global Lithium production along with 10M workers for battery replacement [24].Under-estimating human labor resulted in 20% of U.S. homes with smoke alarms not working, due to dead or missing batteries, according to the National Fire Protection Association (NFPA) [56].In fact, our everyday lives are full of dynamic objects, from door handles to water faucets to sliding windows that are a great source of energy, but often neglected.Even with live research in intermittent computing (e.g., [70,80,86]), end-users are short-handed to bring those handy solutions to their daily settings due to lacking expertise or no support tools.
Recent HCI research on computational design and the success of low-cost 3D printers have gifted versatile end-user tools, such as creating augmented functions on physical objects [44] and personal robotic devices [3,50].Personal fabrication, being the backbone of such computational tools, offers on-demand fabrication yet less  2 add-ons [29].Similarly, personal fabrication can be a vital building block to enable end-users to build battery-less ubiquitous homes that conform to their target situation, demand, and unique lifestyle.It can free users from being curbed by specific requirements of conventional energy-harvesting devices, such as using solar panels where direct and steady sunlight is available, to create complex network systems to wire harvested energy to numerous distributed systems all around.Nonetheless, converting motions involved in kinetic interactions into electric energy is a complex process for end users as it demands domain knowledge involving computational and mechanical design, electrical and electronic engineering, etc.
We present E3D, an end-user toolkit for designing and fabricating motion-induced energy harvesters through a personal fabrication framework.We investigate motion-generated energy induced by users in their interaction with everyday objects (e.g., door opening, twisting a doorknob, sliding a window), and drive generators by transforming them using strategically designed 3D printed attachments.We contribute to an end-to-end personal fabrication system that allows end-users with little to no prior knowledge to easily capture design requirements and then automatically generate self-powered smart devices.We first conducted a survey on 36 everyday objects that users maneuver with kinetic interactions, through which we generated a taxonomy of energy-harvestable physical objects.We then implemented a closed-loop design pipeline for end-users to capture motion profiles by demonstration through a commercial smartwatch.This provided the toolkit with (i) the type of activity recognized using a machine learning technique, and (ii) motion profiles (the range of motion and trajectory estimation).Based on this information and the user's design choice throughout the pipeline, the toolkit generates 3D printable models of a harvester.As it estimates energy that can be harvested in various conditions (e.g., force, speed, distance), a user can consider different options to sustain their small to large devices that need power.We believe E3D could serve as a platform on which future research in ubiquitous computing and personal fabrication could easily leverage the promising alternative power source -user-motion-generated energy -in a wide spectrum of human-centered applications.We evaluate the system with 7 reality-based applications, technical validation, and preliminary user studies.In sum, we contribute to: • A taxonomy of everyday objects that involve energy-harvestable kinetic interactions.
• A library of parametric energy-harvesting mechanisms.
• An end-to-end toolkit for non-experts to design and fabricate adaptive energy-harvesting mechanisms using low-cost 3D printing.• Real-life applications of self-powered essential daily home appliances and smart sensors.

RELATED WORK 2.1 Energy Harvesting
Energy harvesting refers to the conversion of ambient energy present in the environment including periodic vibration, heat, light, electromagnetic (EM) wave, airflow, etc., into electrical energy [54].For many reasons, including the increasing number of embedded sensors in our daily lives as well as sustainability, energy harvesting has been explored by a wide spectrum of research domains.For instance, a photovoltaic cell can convert light energy to electricity to harvest energy from indoor light [74], while the piezoelectric material can harvest wind energy [65].Compared to the conventional approaches to harvesting energy involving solar panels, turbines, thermoelectric generators (TEG), etc. which are more useful for large-scale energy sourcing, the recent rise of personal fabrication has propelled a body of research to facilitate fabricating energy harvesting devices at a smaller scale and for daily lives, such as 3D printing of piezoelectric sensors and triboelectric nanogenerators (TENG) that can harvest electric energy from mechanical vibration (e.g., [18,63,64]).While piezoelectric or triboelectric materials are fragile, electromagnetic systems on the other hand can yield a higher power with more robustness.It requires a fluctuating magnetic field through an inductive coil which can be achieved by moving a permanent magnet inside a conductive wire loop.3D printed shell with magnetic levitation and coil can harvest electrical energy from vibration [9].A micro electromagnetic system using an inkjet 3D printer has demonstrated the feasibility to harvest mechanical vibration energy [40].3D printed linear tubes can serve as electromagnetic harvesters [25,59], while wrist-wearable cycloid tubes can harvest energy from human hand motion [53].While it seems obvious that 3D printed pendulum [1,2] or DC generators [52,82] can harvest energy from a variety of mechanical motions by translating them into rotational motion, a floor can also harvest energy by translating the pressure into rotational motion in a DC generator [39].Among many existing options known from prior works, we choose the electromagnetic method using DC generators due to their high availability through off-the-shelf modules and a variety of sizes achievable at a lower cost.However, capturing motions from various kinetic activities to revolve the DC generator demands different motions be transformed into rotational motion through appropriate attachment mechanisms, which we can help non-experts to do by utilizing the library of pre-built mechanisms and customizing them based on varying needs.Our work focuses on easing the design of such attachments through user demonstration of motions, allowing end-users to fabricate energy harvesting mechanisms without expert knowledge.

Design of Self-Powered Devices
While Alkaline and Li-ion batteries are being widely used for IoT and distributed sensing devices, several prior works have begun to recognize the impact of self-powered sensing systems to depress the usage of these chemical batteries, curtail maintenance costs, and also examine sustainable sources of power.OptoSense incorporates an array of photodiodes to create a self-powered ambient light sensing surface [83].A building monitoring architecture design can be equipped with self-powered vibration, airflow, and occupancy sensors that harness power from indoor light [11].Trinity designs the airflow from the HVAC system to support an energy-free wireless sensor network indoor [48].MARS tag uses energy from photodiodes or thermoelectric generators for self-powered wireless communication of swipe, touch, or speech interactions [4].Developing self-sustained sensing devices by exploiting triboelectric nanogenerator (TENG) has been on the rise [6,15,51,85], including a remote sensing IoT system powered by capturing wind energy through a rotating magnetic field [37].Kinergy stores the kinetic energy in the form of potential energy using springs to actuate passive objects [34].Battery-Free Game Boy uses the user's button press and solar cells to run a handheld gaming device with intermittent power [19].Peppermill uses a DC generator to harvest energy from twisting a rotary input device to control appliances wirelessly [70].In a similar manner, energy can be harvested from the human body movements using DC generators and stored in a supercapacitor to provide battery-less self-powered VR haptics [68].Sozu harvests energy from various daily energy sources, such as vibration, EM radiation, alternating magnetic field, etc., to create self-powered radio tags for various activity sensing [86].While Sozu investigates the feasibility of harnessing energy from different sources, enabling end-users to fabricate such harvesting mechanisms is lacking.MiniKers depicts that kinetic energy from interactions with daily objects can be harvested to automate the operations of such objects [80].E3D, in contrast, aims to cater to end-users to fabricate interaction-generated energy harvesters with ease.MiniKers, Sozu, Battery-Free Gameboy, Peppermill, and other interaction-powered systems focus on the question of whether interaction can serve as a source of energy, whereas E3D focuses on how we can simplify the design of such harvesters through an end-user toolkit.
In sum, self-powered devices have showcased the future of IoT devices and the deployment of ubiquitous computing devices at a variety of scales and placements that can sustain without a continuous power supply or batteries.While interaction-powered systems prove that interactions can serve as a promising source of power for smart devices, our work hydrates the thirst for toolkits to augment everyday objects as a salient source of energy into self-sustained devices through easy design and fabrication.

End-user Custom Fabrication of Attachments
Augmenting objects through personal fabrication, such as 3D printing, has addressed many day-to-day interaction challenges such as augmenting real-world objects to upgrade their functions [5,60], retrofitting everyday objects for accessibility [17], automating routine tasks from passive legacy objects [3,50], and more.Our goal is to learn from them and allow end-users to attend to the day-to-day redesign opportunities.Granting opportunities to address daily interaction challenges using 3D-printed adaptive mechanisms can greatly improve the daily quality of life.Yet, design and fabrication processes are often not easy for non-experts, since it requires designing or modeling functional components, assembling, and installation which demands different domain-specific knowledge.Prior HCI research on end-user toolkits explored enabling techniques for end-users to fabricate custom artifacts without knowledge barriers.RoMA invites novice designers to the AR platform to fabricate objects in-situ [58], Reprise captures the user's high-level intentions using motion descriptions to generate accessible adaptation [17], and Robiot records real-world demonstration by a user actuating passive everyday objects to generate actuation mechanisms [50].Encore [16] and AutoConnect [44] help create connections for attachments.Creating attachments to the existing environment and physical objects is not a trivial task, due to many uncertainties in connecting physical dimensions to digital design space [41].The future of personal fabrication promises more interactive ways of creating, remixing, or modifying artifacts to afford end-users' direct interactions with their physical environments [42], but the scope of harvesting energy through highly varied daily personal activities and physical interfaces using personal fabrication is a destination yet to arrive.E3D, therefore, aims to pave the first path towards this future so that end-users can easily adapt to the potential design challenges from everyday physical interfaces using personal fabrication.We situate our work in Figure 2.

E3D: AN END-USER TOOLKIT FOR FABRICATING ENERGY HARVESTING MECHANISMS
Figure 3 illustrates a step-by-step system overview of how E3D works.Daily kinetic activities can be harnessed into electrical energy by turning a DC generator from such motions.However, a DC generator can not be affixed to a certain object without proper attachments.E3D helps users design and fabricate appropriate 3D printable attachment devices by capturing design requirements from motion data.We use native sensors in a common smartwatch to capture activity logs.We embed a machine learning model to classify energy-harvestable activities, such as the linear motion of opening a drawer, from the kinetic interactions with everyday objects.This classification allows E3D to determine proper attachments for motion transformation.Then the toolkit estimates the trajectory to obtain the range of motion which renders the toolkit with the scale for the attachments.The complete information about the activity fetches a potential list of objects from a pre-built repository to where generated mechanism can be attached.Based on the user's choice, E3D generates 3D models of the attachments that a user can print using a consumer-grade FDM 3D printer.A user is also presented with optional tuning options to adjust the amount of energy to be harvested, thickness, and scale of different parts as the physical dimension of individual objects may vary.Finally, E3D generates a standard instruction for assembling and installing the mechanism to the target object.E3D toolkit contains two different cores to support different axis of motion and five different attachments to overall support all common doors, such as main doors, closets, refrigerators, ovens, etc., windows, drawers, doorknobs, handles, water faucets, switches that cover the majority of our everyday kinematic interactions.We aim the following design goals in supporting end-user fabrication of energy-harvesting IoT devices: • Accessible Fabrication: Fabricating mechanisms to free-harvest energy from daily physical objects must be easy enough to capture desired motion profiles to readily generate 3D printable files without expertise.• Versatile Applications: The end-user support tool must afford a variety of motions and possible daily objects of individual's interest, and in various contexts.• Adaptive Utilization: An end-user should be catered to with various customization options to support easy changes in scale to fit their own physical environments and to consider aesthetics.

Everyday Activities with Physical Object to Harvest Energy
We surveyed a total of 36 different everyday objects and the type of involved kinetic interactions.During our survey of everyday objects, we considered the magnitude of the force, range of motion, and frequency of usage.The types of daily kinetic interactions with everyday objects can be broadly classified into linear and rotational motions.Depending on the size, amount of torque involved, and range of motion, each class can be further subdivided into-(i) large range of motion and (ii) small range of motion.While large-range motions sustain over a longer duration, small-range motions mostly consist of impulsive force lasting for a very short period of time.Small linear motions are found as push-pull or tap motions, large rotational motions as hinged rotations, and small rotational motions as twisting motions.Besides, the amount of force or torque involved is found higher with large-range motions compared to small-range motions.Therefore, we classify the overall kinetic interaction space into four categories as depicted in Figure 4: large and small linear motion, hinged rotation, and twisting motion that encloses a vast range of daily objects to power  scale devices.

Contextualizing Ubiquitous Computing Devices
We showcase a variety of applications in this section with a step-by-step user walkthrough.Each scenario will describe how the user will capture the motion data, go through different steps in the user interface, and finally fabricate and assemble the mechanisms.We imbue three different triggering contexts as found in prior work [11].
Triggering the device is independent of each motion activating energy harvesting and recharging, albeit could match in some cases.For example, a periodic trigger does not necessarily means that the IoT device is recharged only periodically, as every event of motion accumulates harvested power.
• Opportunistic Trigger: The energy is accumulated over several motion iterations, and when it surpasses the energy demand of the target device, the stored energy is supplied to trigger it.For example, whenever the trashbin's lid opens and closes, it accumulates harvested energy and triggers the alarm after multiple iterations when it is full, so as to empty and replace liners.• Event-based Trigger: The triggering is made once a pre-defined set of event conditions are met, such as a motion detector powered by opening a door that only triggers when a movement is detected.The appliance otherwise remains in idle or sleep mode, letting the harvester cater to an equal or greater amount of energy than demanded by the appliance.When the device is not being triggered by any event yet there is available motion-generated energy, such as during the day time the motion sensor is off and the window is opened by the user, harvested energy can be huddled to support any future event.
• Periodic Trigger: The appliance periodically executes its operation, such as a sedentary reminder or temperature and moisture level logger once an hour while iterative activities that are expected to be more frequent accumulate energy such as opening and closing a water tap during the break.

Context Dependent Example Applications Generated by E3D
In this section, we describe a number of applications under various contextualization of trigger types.

3.3.1
Identifying Potential Energy Sources from Random Daily Activities. Figure 1a illustrates a mechanism to harvest energy from twisting a doorknob.A user could be initially unaware of its motion as a potential energy source.Once the user runs the E3D app on the smartwatch early in the morning, it starts to log all activity data.At the end of a day-long recording, the activity data is sent to the E3D toolkit and parsed to obtain several salient motion features.The user can earn a list of activities that are capable of energy harvesting, and become knowledgeable about twisting as a good source of energy.As the toolkit automatically estimates the range of motion from the trajectory reconstruction, no additional information is needed from a user.After 3D printing, the user attaches a buzzer to make a door alert that beeps when the doorknob is twisted to open when he is away for vacation for example (Figure 1a).
3.3.2Self-powered IoT Monitoring. Figure 1b showcases an IoT-based PIR motion sensor supported by the door opening and closing.Energy harvested from kinetic interaction can support various IoT devices, stand-alone or in conjunction with batteries.The PIR sensor consumes very low power and can run for a prolonged period drawing power from a supercapacitor.The IoT node remains in deep-sleep mode and only wakes up by interrupts from the PIR sensor, sends out a beacon to the IoT server, and enters deep-sleep mode again.Hoping to keep the sensor alive without an external power source, the user opens the E3D app on the smartwatch to record the target motion and demonstrates the door opening and closing.Since the IoT device consumes more energy, a user tunes the expected amount of energy to be harvested by the default mechanism.This custom specification is reflected to automatically change the gear ratio.The user is free of maintenance needs with a supercapacitor being recharged whenever the door is opened and closed.

3.3.3
Charging to Sustain and Update E-ink Display. Figure 1c portrays a refrigerator inventory display.Opening the refrigerator door too frequently makes heat leak into the refrigerator and light up the LED, consuming additional energy.Using an e-Ink display with a BLE being powered by the opening/closing of the refrigerator, a user can update the inventory to the display, reducing the number of openings just to check items then the display can be cut off from the power after an item update.Keeping the display needs minimal energy but updating requires a little more power.As it is expected that the refrigerator will be opened multiple times a day, sufficient energy accumulates in a supercapacitor.When the supercapacitor has enough stored energy and the door is actuated, it awakes the BLE device for 30 seconds to check for any inventory update request from the user.

Accumulated
Energy from Iterative Smaller Motions. Figure 1d illustrates an E3D-generated harvesting mechanism reaping energy every time a user actuates a light switch.While a short range of motion provides a small amount of energy per iteration, more frequent actuation accumulates substantial energy over multiple stimulations.Throughout the day, the pull-push motion of the switch piles up energy, and during the night time, it can feed a low-power LED indicator to assist the user in locating the switch to grant better accessibility.

Keeping Security Alert
Alive by Self Activity Monitoring. Figure 5a further depicts a self-powered window alarm system for a user with a big window facing towards the street directly and being worried about intruders.
To make the trespassing alert self-sustained, the user installs a mechanism that harnesses energy every time the window slides.Connected with a supercapacitor with more than a ten-fold life cycle of a traditional battery, the mechanism stores energy while the window is intentionally actuated while keeping the alarm off supporting a longer duration of the alarm sound.In case the offered rack-gear mechanism by E3D does not touch properly or slips due to different window-frame designs, the user can fine-tune its function to adjust the gear and mounting.

Powering Outdoor IoT
Sensor.An example of a periodic data logger is shown in Figure 5b.To garden flower plants in the corridor, a user wants to regularly monitor them while away.The user makes use of the corridor access door.Because the corridor access door does not have empty space left on the top, the user can choose an alternate side mounting mechanism for installation.As the IoT device sends the sensor data only once a day, the mechanism stores any extra energy into a supercapacitor as a credit for future usage.
3.3.7 Supporting Accessibility Devices.By harvesting motion-generated energy, E3D can aid multi-faceted accessibility-based use cases.For instance, Figure 5c denotes an assistive led being mounted inside a poorly lit closet to help a user with low night vision easily discover items inside the closet.The spectrum can further cruise by powering up an exit sign from an office door which is used frequently for assistive navigation, flashing a UV light after tapping the sanitizer bottle to disinfect the handle, powering an RFID device by huddling the energy from multiple individuals' general usage of a Caffe front gate to automatically unlock the door for a blind person, harvesting energy from a water tap to power up automatic soap dispenser while washing hands and so on.
In this section, we detail how motion signals captured from sensor data is interpreted into activities that are energy harvestable, and subsequently, quantify parameters to customize and generate 3D printable mechanisms.

Capturing Motion Schematics from Everyday Demonstrations
4.1.1Motion Capture Using Wearables.Many modern wearables and personal mobile computing devices (e.g., smartphones and smartwatches) are equipped with various native sensors, such as the IMU motion sensor, which consists of a gyroscope, magnetometer, and accelerometer.Such sensors can facilitate different activity monitoring, such as walking, running, taking pills, drinking water, opening doors, and other workouts [62,66,71,76].We chose the smartwatch as the activity-capturing device due to its high adoption, increasing variety, and precision of integrated sensors, which thus can afford a seamless log of daily data from the user's embodiment throughout the day.We capture the IMU data (gyro, accelerometer, and rotation vector) using an opensource WearOS [75] app we developed (Available at https://github.com/abulalarabi/e3d) to recognize activities.Two optional configurations are provided: (i) capturing time series data in the background for a long period, saving it to the local storage for later analysis and classification, or (ii) starting and stopping recording a desired motion as a discrete block, transferring the data immediately to a given back-end server in real-time.The first option allows the user to capture activity data through the smartwatch app without running the toolkit upfront.A user can start data capturing while doing household work and after finishing, can open the toolkit and load the saved data from the local storage.Additionally, this is suitable for users to capture any potential source of kinetic motions without explicit awareness (Section 3.3.1),i.e. what type of motion will happen during the day, what type of real-world objects are involved in those motion activities, and how good these motions are as the potential source of energy harvesting.For example, a user wears a watch for a day, and the app identifies the water tap opening which is small in scale but a repeating motion, and recommends potentially good energy-harvestable motions at the end of the day.E3D discovers the potential sources by automatically classifying salient movements.Yet, this option is less feasible compared to the second option as it demands higher computation, larger storage, and may capture unwanted noise activities while draining the smartwatch battery faster.A future revision of the smartwatch app can allow capturing activity data only when a particular movement is detected, similar to the raise-to-wake feature found in most smartwatches.It will remove the burden of capturing unnecessary data and hence make this option more feasible.The second option could be utilized strategically by a user who is already aware of the type of real-world object and associated motions that will be a good source of energy for modular recording (Section 3.3.2),thus the user can start the recording and stop explicitly.The app can be optionally configured to capture data at 3 different sampling rates 50Hz, 100Hz, and max sampling rate which varies over the type of sensor embedded into the different devices.

Parsing
Activities.The captured activity data consists of the raw data from three different channels of gyro, accelerometer, and rotation vector.We classify the high-level activity information from this data using machine learning, of which the captured data may contain one or multiple activities.The captured data is classified into the kinetic interaction types as described in Section 3.1.We tested two techniques for classifying the captured time series data.The first is by extracting features and then inferring the activity by passing them through a neural network.However, it demands appropriate feature engineering and efficient design of the neural network to obtain proper accuracy.The second is by utilizing an LSTM model, a type of artificial neural network designed to recognize patterns in sequences of data such as numerical times series data emanating from sensors, designed based on prior works on human activity recognition from cellphone IMU sensors [35,77].It eliminates the requirement of manual feature selection and optimized models for human activity recognition are explored by prior works (e.g., [77]).Figure 6 denotes the LSTM model.In order to infer the activities from the recorded time series data, we use a windowing method.The time series data is split into windows of 2.56s length with 50% overlapping between the windows following the prior work [77].The window size is recommended to be short because the activities last for a brief period as well as the overlapping windows allow the detection of any activity that spreads over two consecutive non-overlapping windows.The time series data is split into  = ⌈(ℎ)/( ℎ)⌉ number of windows that are concatenated to form the input matrix which is then passed to the trained LSTM model to infer the activity classes based on our taxonomy (Figure 4).The performance of the LSTM model is discussed in Section 5.The resultant activity classification provides the initial design requirements for the toolkit to fetch a list of target objects and determine the parameters to be estimated from the trajectory information.

Estimating Granular Motion
Parameters.We estimate the trajectory information to approximate the range of motion.The time series windows that commit activity classes are passed to rehash motion parameters.IMU sensors are rigidly fixed to the device, the recording values are measured with respect to the device rather than the actual global frame.Quaternions obtained from the rotation vector are used to keep track of orientation and convert the recordings to the global frame [21].The acceleration might be perturbed by white and flicker noises, creating a velocity random walk during the double integration in equation ( 1) in the position calculation [31].
To minimize the impact of noise, we use wavelet denoising to reduce the error between the reconstructed trajectory and the ground truth.Although we filter the sensor signals, errors still accumulate with the sensor translating during the double integration.We adopt the Zero Velocity Update algorithm [84] and sensor fusion to periodically correct drifts in reconstruction.The overall trajectory estimation technique is depicted in Figure 7.   8a), drawer opening (Figure 8b), and doorknob twisting (Figure 8c) over three iterations.Based on the type of motions determined by the LSTM model, we extract (i) length for large linear motion, (ii) arc radius for hinged rotational motion, and (iii) angular distance for twisting motion.

E3D Design Editor: Customizing Mechanism Specifications
Once the time-series data is translated into activity types and corresponding motion parameters, E3D presents the user with different design paths as illustrated in Figure 9.The back-end server is developed in Python, while the front-end web application is developed using JavaScript using Three.js.OpenSCAD is chosen for the parametric modeling of 3D printable models due to its parametric nature and portability for other fabrication pipelines.E3D is open-sourced (Available at https://github.com/abulalarabi/e3d)for wider access and utilization.9b).The activity classification from the IMU sensor determines a list of actions found in the user's demonstration that are potential sources of energy.A user starts with the design process in the editor by choosing one of the detected activities and flows to the next design stage step by step as the following step appears based on the user's choice of design.9c).We utilize a pre-built repository that contains a list of possible existing objects mapped with the activity types of large and short linear, hinged rotation, and twisting motion.Once the user chooses one particular activity among detected motions, the system fetches a list of objects from this repository to present to the user who can choose the desired target object and proceed forward.

4.2.3
Selecting Mechanism Type (Figure 9d).In real-life scenarios, a target object often involves physical constraints such as space allowed for attachments.For example, an array of closets may not have enough empty space between the cabinet doors to mount a mechanism on the side.Multiple mounting options as alternative positions for each target object type will be thus provided.For instance, the user can choose to install a mechanism on a door panel itself or on the door frame.Once the target object is chosen, all possible mechanisms with a preview of their mounting positions appear from where the user can make such design choices.From our experimental estimation of the harvestable power, the user is also able to see the approximate power delivery of the selected mechanism and the amount of filament required.9e-f): Upon the selection of a mechanism to generate 3D printable files, details about the mechanism to rationalize the next design choices such as the amount of power delivery, and assembly complexity are shown to assist the user.At this stage, an advanced user can tune the amount of energy to be harvested from each iteration by updating mechanisms.The attachment parameters which depend on the target object's physical dimension can be adjusted, such as the slot size of the attachment for a doorknob or a water tap to adapt to real-world settings.A user can also adjust the thickness of the shells and the strength of the attachment parts to increase the durability of the mechanisms if necessary.As it trades off the printing time and material needed for a smaller object that might not require thicker mechanisms, the user will be provided with this information.Without this optional tuning, suggested mechanisms are generated with default parameters which are determined by our empirical data.

Generating 3D Printable Mechanisms
Based on the user's design choice, E3D systematically maps the design requirements of target objects, harvestable energy, mounting point, etc., to generate ready-to-print 3D model files and assembly instructions.From a comprehensive survey of daily kinetic objects, we categorized them into four bins by their motion types (linear or rotational) and range of motions (small or large) (Figure 4) as discussed in the earlier section.Based on the target object and the amount of energy to be harnessed, we configured that two different generator setups are needed: 6v (for smaller objects such as light switches) and 12v (for larger objects such as main entrance doors).For different axis of motion of the target object, we needed inline shaft and transverse shaft mechanisms, e.g., the inline shaft is not suitable for door knobs or door handles.
Referring to traditional machine mechanisms available to convert rotary to rotary and liner to rotary [10], we generalized attachments to comply with different motion types and mounting positions.For instance, 3 bar attachment builds upon a parallelogram structure and is suitable for converting twist motion.The crank mechanism and two-bar linkage are suited for hinged actions.The crank mechanism allows the user to mount the generator on the door frame, while the two-bar enables the generator to be mounted on the door body.To adapt to a variety of everyday objects and user contexts, the size of different parts in the attachment mechanisms must adhere to proper scaling to assist the user's customization.For example, the length of the bar mechanism needs to be longer for the main door than for an oven door.We tackle a parametric design approach to generate the adjusted mechanisms for harvester core and motion delivery systems for which we detail the automatic customization process as follows.
A harvester mechanism consists of two main parts-(i) a harvester core that contains a DC generator and gears, and (ii) delivery parts that translate motion and aid mounting as shown in Figure 10a-b and Figure 12.Segregation of the core mechanisms and attachments allows the toolkit to utilize the design of one core mechanism with different attachments without designing one for each type of attachment.It also leaves the floor for other types of attachments to be integrated into the system with ease for complex objects in the future.Additionally, it allows scaling the core mechanisms for different generators without altering the overall design pipeline.

Harvestor
Core.With the customizable design, the user's desire to generate a targeted power level can be achieved by different gear settings.The core mechanism contains a DC motor as an electric energy generator.Currently, our parametric design library supports two types of motors with built-in gears.Figure 10  The first stage is the enclosure that contains a DC motor.The second stage consists of gears, responsible for controlling the number of turns of the rotating magnetic field of the generator during the user's interaction with a physical object where the mechanism will be installed for energy harvesting.The DC generator's voltage,  ∝   , where   is the angular speed of the rotating magnetic field.The angular speed of the input shaft (  ) and rotating magnetic field (  ) are related by   =  *     , where  is the gear ratio of the 3D printed gears and   is the gear ratio of the built-in gearbox of the generator.We consider the gear ratio () with respect to the motor's shaft.With a higher gear ratio, the motor shaft attains more turns per iteration, resulting in harvesting more energy from the same target objects.Note that, an increased gear ratio involves high actuation force to drive the smaller driven gear using the larger driving gear in the system.The default gear ratio in different mechanisms is set based on the activity type and the expected range of motion obtained from our survey.For instance, a main exit door in the building has a larger range of motion which involves more torque compared to a small cabinet door.Hence, a higher gear ratio can take advantage of the high induced torque of the main exit door to harvest more energy.During the optional tuning step, users can adjust the amount of energy to be harvested which in turn sets the gear ratio from 0.5 to 2.5 with a step size of 0.5.The limitation is empirically set to handle torsion in 3D printed gears and ensure feasible actuation force that we would imagine from average users.The gear ratio is then reflected in the parametric design to adjust the number of gear teeth in the driven and driving gears (Figure 10 c-f).The parametric design also adjusts the gear module from 1.0 to 1.5 as well as the thickness accordingly to guarantee durability and robustness at fabrication.This gear stage is finally followed by a third stage for the motion input where the attachments are mounted.The motion input stage contains either an inline shaft or a transverse shaft depending on the type of object and attachment position.The inline shaft consists of herringbone gears, while the transverse shaft utilizes worm gears (Figure 10 a-b).The herringbone gears keep themselves self-aligned, ensuring better meshing.The bevel gears allow perpendicular gear meshing, such as for the door knob mechanism where the inline shaft mounting is not feasible.Figure 11(a-b) depicts two example cores with transverse shafts but different gear ratios (1:1 and 1:1.5), while Figure 11(c-d) depicts two inline shaft cores, where for a 1:1 gear ratio no gearbox is added, but is automatically added for any other gear ratio.

Delivery
System.The input shaft of the harvester core needs corresponding installation and mounting parts to arrest the target object's movement into motor rotation.The type of motion, known from the user's detected kinetic activity, and the placement of the mechanism define the delivery system.Considering a variety of target objects and the possible positioning of the mechanisms, our parametric design library contains five different types of attachment mechanisms; three-bar linkage (Figure 12a), gear-mesh (Figure 12b), two-bar linkage (Figure 12c), crank (Figure 12d), and rack-gear (Figure 12e).
The three-bar linkage and the gear mesh attachments (Figure 12a) are to pick up and store energy from the twist motion, such as motion in a doorknob.In the three-bar linkage mechanism, the input motion on the first linkage induces an intermediary movement of the second linkage, which finally results in a rotational movement on the end-point of the third linkage.The gear mesh attachment can also arrest twisting motion with two herringbone gears (Figure 12b).The gears are set to a 1 : 1 ratio so that it does not affect the gear ratio of the core mechanism.The driven gear in the gear mesh and the first linkage in the three-bar mechanism contain slots that help insert the components into the target object.While the gear mesh mechanism can handle a higher range of movement compared to the three-bar linkage, it may require a capable installation of the gears by the user.
The two bar linkage (Figure 12c) and the crank attachments (Figure 12d) are used to capture the hinge-based motion.In the two-bar linkage, a rotation motion occurs when the input motion stretches the links.The crank mechanism creates a rotational motion on one end when the other end makes a circular trip.In practice, it is not always feasible to align the mechanism with the precise pivot point of the target object, which may force the attachment to withstand some degrees of offset.The crank mechanism is thus split into two parts that are connected via two slots (Figure 12d).These slots allow the two parts to slide over one another, so the interval between the two endpoints can shrink or expand to compensate for the offset.
The rack-gear attachment (Figure 12e) translates the linear motion into the rotary motion that drives the generator.The length of the rack is estimated from the trajectory information.For subtle actions such as turning on/off a tiny toggle light switch or opening/closing a door latch, the trajectory estimation might not be always precise enough, thus we use a fixed length of 5cm for the rack.For even smaller motions, only a small portion of the rack teeth will be used to stack and store energy harvested from motion iterations.A list of mechanisms, attachments, and possible target objects is illustrated in Figure 20.Currently, we assume the attachment will be applied to fairly flat surfaces.However, since 3D scanning becomes easier with the increasing capability of native smartphone sensors (e.g., using a Lidar sensor), it can enable attaching them on irregular surfaces or accommodating them to custom objects with complex shapes.

Modeling Harvestable Energy by Mechanism Characteristics.
The generated electromotive force (EMF) of the DC generator1 depends on motor constant (), magnetic flux (), and the angular velocity () of the rotor, which is given by   = .In classic Physics, the angular velocity of the rotor, often known as the angular frequency vector, is an artificial vector representing how quickly the object rotates relative to a pivot.As  is defined by  /, in our case, the angular velocity of the DC generator is obtained by  = 2 /, where  is the number of turns incurred in  seconds.Rewriting the EMF, we obtain   = 2 *  /.The generated power thus is given by where  is the induced torque.As the constant and the magnetic flux depend on the PMDC generator, the EMF and power yield become functions of the number of turns (N) per second (t) and are directly proportional.Three-bar linkage (Figure 12a), gear mesh (Figure 12b), and crank (Figure 12d) attachments capture the rotational motions to harvest energy from them.For instance, typical door knobs or door handles apply a 90 • or 1/4 turn to fully pull the inner latch over the strike for unlocking.A three-bar linkage attachment translates this motion into the input shaft of the core mechanism, which in turn transmits the rotation to the driving gear by the same amount as illustrated in Figure 13a below.Based on the gear ratio of the core mechanism, 1.5 for instance, the driving gear rotates the driven gear by 1.5 * 1/4 = 3/8 rotation.The geared DC generator has a fixed gear ratio, 250 in our case in the 6V generator.Considering the actuation lasts for 1s on average, a total of  / = 93.75turns/s is applied to the rotor.The generator with a rated torque of 0.04 oz-in can thus yield   = 2 *  / = 166 of power.
The two-bar linkage (Figure 12c) attachment can capture both rotational (e.g., door) and linear motion (e.g., drawer) and can induce up to  or 1/2 turn when fully extended.Gear-rack (Figure 12e) attachment captures linear motions by rolling a gear along the rack as illustrated inFigure 13b.The angular velocity () and the linear velocity () of the gear are related by  = / ,  being the radius of the gear.If the gear traverses a distance of  along the rack in  seconds, we obtain  =   .The power as functions of the distance traversed by the user's operation of the physical object by the actuation per second can be derived as follow: The required torque to drive the generator is given by  =     , where   is a constant that depends on the generator construction.Thus, the torque needed to actuate a mechanism is proportional to the current drawn from it.For instance, low loads, such as an LED, draw less current, and thus requires low force to actuate the device.On the contrary, if the load is elevated, it demands high torque to be induced.When no load is connected, there is no current drawn from the generator.In such a case, a tiny force is needed to overcome the mechanical friction.During everyday interactions, the range and time of actuation can vary upon individual's habits impacting the power yield as we discuss in section 5.1.

Electronics & Assembly Instructions
We use two types of geared DC motors as generators.The toolkit selects either a 6V or 12V DC generator based on the target object type and its range of motion.For instance, for the doorknob, the toolkit will proceed with the parametric design for the 6V generator, while for a door it will select the 12V generator.The off-the-shelf LTC3588 energy harvester module is used for application scenarios #2,3,5,6 in Section 3.3.This module contains a high-efficient voltage converter to set the output voltage to the desired level.For rectification purposes, we use Schottky diodes.For applications where the generated energy surpasses the required energy or relatively small everyday objects that need several iterations, to sum up to power opportunistic triggers, we utilize a 1F supercapacitor that is capable of storing up to 15J of energy, LIR2032, and 18650 Li-ion batteries.Once the toolkit generates all the 3D printable parts, the user can download files for regular 3D printing.Everything snaps fit with each other, eliminating the need for gluing or screwing, making the assembly process intuitive for the user by visually investigating mapping opponents.Figure 14 illustrates the snap-fit assembly of a transverse shaft, three-bar linkage harvester that has the maximum number of components.The toolkit presents the user with a standard instruction set to assemble and mount the mechanism on the target object.

EVALUATION
Two evaluation studies were conducted, (i) a technical evaluation to validate whether the mechanism can stably harvest enough energy to operate common home appliances and IoT devices, and (ii) a user study to assess the end-user tool.The IRB is approved by the institutional board.

Generated Power and Gear Ratio.
To estimate the power generated by the mechanisms, a load resistance was attached and an oscilloscope was used to monitor the instantaneous voltage across the load.We find the instantaneous power using   =  2  /  .After 10 iterations, we obtained the average power per iteration.Figure 15(a) denotes voltage curves obtained from three different types of mechanisms-(i) transverse shaft mechanism with a gear ratio of 1 (type 1, in red), (ii) transverse shaft mechanism with a gear ratio of 1.5 (type 2, in green), and (iii) inline shaft mechanism with a gear ratio of 1 (type 3, in blue).We captured the data from two different real-world objects where energy harvesting mechanisms are attached, a door handle and a closet door.The door handle cannot retain its original state with its inbuilt spring if connected to a high-power DC generator, as it needs more torque.Therefore, we connect the type 1 and 2 mechanisms that contain a smaller 6V generator to the door handle, while we connect the type 3 mechanism with a larger 12V generator to the closet door. 1,  2,  3 correspond to the instantaneous voltage, and 1, 2, 3 correspond to the instantaneous power of type 1, 2, and 3 mechanisms respectively.As seen in Figure 15(a), with the increase of the gear ratio, the power delivery by the mechanism increases as the magnetic field inside the DC generator revolves faster.
Figure 15(b) indicates the average power harvested from mechanisms with mean values of 96.55mW, 127.67mW, and 230.18mW and standard deviations of 22.07, 42.37, and 46.47 respectively.These are enough to run a standard LED, a variety of different sensors such as PIR motion sensor that consumes 9 of power, DHT22 temperature and humidity sensor that consumes 3.3 of power, etc., microcontrollers such as Arduino Pro Mini that consumes around 22 of power, or low power IoT devices.Due to the stochastic nature of human hand movement, the range and actuation speed of a target object differ over multiple iterations.It results in variation in the speed of the rotating magnetic field.Hence, we observe a high standard deviation throughout the iterations.Yet, the power delivered by the mechanisms is intermittent in nature.In order to run devices that require sustained power, the energy is stored for later use.

Harvested
Energy from Different Target Objects.During interactions with everyday objects, target objects are actuated from and then reverted to their original position.As such motions are bidirectional, the DC generator rotates both clockwise and counterclockwise in one iteration.To estimate the amount of harvested energy, we first attach a full bridge rectifier, built using Schottky diodes with a voltage drop of 400mV, to make the voltage unidirectional.Then, we attach a supercapacitor and a voltmeter to the output of the rectifier.The supercapacitor is first fully discharged, and then we actuate the target object while monitoring the accumulated voltage ( ) in the supercapacitor.We find the amount of energy harvested using   = 0.5 *  *  2 , where  is the capacitance of the supercapacitor.Figure 15(c) depicts the voltage and energy captured from the mechanisms.With every actuation of the target object, the accumulated voltage in the capacitor rises, and hence the stored energy increases.However, at the same time, the potential difference between the harvester and capacitor decreases.Thus, the capacitor does not accumulate as much voltage as it can capture initially without additional electronics.
After 10 iterations, the accumulated voltages reached 1.71 , 1.92 , and 3.34 with accumulated energy of 731 , 922 , and 2, 789 , from each mechanism ( Figure 15(c)).Since these mechanisms generate intermittent power, storing the energy can support running different devices for a longer time, or can support future use.Based on these measures, we surveyed numerous IoT devices, sensors, and microcontrollers to examine the feasibility of powering ubiquitous devices.The average energy for each target object is obtained from 10 iterations.The door knob, door handle, closet door, main door, slide switch, and drawer produce average energies of 24.4 , 79.02 , 96.6 , 347.39 , 7.31 , and 967.86 , respectively, which are able to run a broad range of sensors and devices from a simple PIR motion sensor breakout (e.g., BOOSTXL-TLV8544PIR that consumes 8.58 ) to a complex I/O device of e-Ink display (e.g., Waveshare that consumes 15 during the idle period and up to 26.4 to refresh) to an almost full spectrum of micro-controllers for several hours to a full day when continuously operated, from just one iteration.For instance, the periodic sensor data logger example (Figure 5(b)) combines a DHT22 temperature and humidity sensor, an RTC, an e-Ink display, and an nRF52 microcontroller.The microcontroller remains awake for 7 seconds to fetch data from the sensor and update the e-Ink display.During this period, the device consumes 8 current and then enters into deep sleep mode consuming around 12 current.Thus, operating at 3.3V and with a periodic interval of 1 hour, it requires only an average power of 90 and can be kept alive for 3860 seconds from one door actuation.Although a slide switch or a door knob may appear to yield a low energy amount, they can still support low-power devices.Since such objects are actuated more often, the accumulated energy becomes substantial.If sensors are triggered only when certain event conditions are met, such a span of charged energy usage will certainly extend to a reasonable lifespan.Recent research on end-user tools for energy-efficient coding (e.g., [45]) promises higher runtime with more versatile applications of the harvested energy in the near future.An expansive list of devices and their run-time estimate based on their factory manual is created to theoretically evaluate the feasibility of our system in reality.We estimated their run time using our six different types of everyday objects where mechanisms are attached through averaging over ten iterations.For the complete list, refer to Appendix A. While Figure 19 depicts theoretical run-time estimation, in practice, it might be lessened depending on the leakage current in the supercapacitor and the efficiency of the voltage converter.To estimate the voltage drop in the supercapacitor due to the leakage current, we first charge up the supercapacitor and then observe the change in voltage over 1-hour intervals under no load condition.The voltage drop ranges from 1.08% to 2.66% per hour.With an average of 1.5% drop per hour and considering a 90% efficiency of the voltage converter, the data logger run-time will be lowered to 3860 * 0.984 * 0.90 ≈ 3418 seconds.It is viable that user activities never occur during the night times or while users are gone for vacation, causing leakage of current.If the capacitor is not charged sufficiently and falls under the turn-off threshold, it inevitably necessitates multiple actuations to elevate the voltage to its designated nominal level manually.A potential solution to this is the use of intermittent or battery-free computing [8].Charging the supercapacitor below its maximum capacity can reduce the leakage current.Alternately, low-leakage supercapacitors or thin-film batteries (TFB) can be considered for applications that are expected to undergo these scenarios.For different supercapacitors, storage, and converters, run-time can be evaluated from the theoretical estimations in Figure 19.
Interestingly, the drawer opening achieved the most energy harvested, even larger than it obtained from the main door which involves the largest torque in reality.A door typically operates with a maximum range of 180• rotation and high induced torque.However, with a limit on the gear ratio due to the 3D-printed plastic material, the generator is limited to 2 to 3 turns at the input of its gearbox.Otherwise, the induced torque can break the plastic shaft and damage the gear teeth or we may need to dramatically increase the mechanism size.On the other hand, a rack gear for linear motion can apply multiple rotations over the full opening and closing of the drawer, accumulating more energy.With better material strength, such as using PEEK [78], we expect to harvest more energy than currently fabricated mechanisms using E3D can attain from hinged motions.which do not suffice our dataset requirement for classifying the kinetic interactions as described in Section 3.1.Thus, aiming to classify the targeted kinetic interaction types proposed in this work, we prepared a dataset.Data was collected by 1st and 2nd author, and one participant, totaling 1,400 samples.During dataset preparation, we included both precise and noisy movements to generalize the model.We randomly split the data, into 80% for training and 20% for validation.The confusion matrix on the validation dataset which shows the accuracy of classification is depicted in Figure 16.The average f1-score is 0.979 and the accuracy is 0.989 (See Table 1).The dataset is still small in size that we expect to improve further by increasing the sample size.We tested the mechanisms with different variations of everyday objects as they differ in size and range of motion.For the cabinet door and room door tested, we used the crank attachment with a gear ratio of 1 and 1.5.For the main entrance door, which is heavier, we used a two-bar mechanism with a gear ratio of 1.5.The rack-gear mechanism is used for small and large drawers and for the sliding switch.Three-bar linkage attachment is used for the door handle with a gear ratio of 1.5.For the cabinet door, room door, and main entrance door, we observed 5.38%, 2.34%, and 0.47% increases in the induced force without load and 19.02%, 9.23%, and 2.39% increases with load.For small and large drawers, we observe 25.98% and 7.55% increases without load and 66.51% and 26.08% with load.In the door handle case, we observed a 3.58% increase without load and 14.15% with the load.The highest increase in induced force is observed for the sliding wall switch with a 72.43% increase without load and a 118.24% increase with load.We observe a direct relationship of the overhead force to the object size.
All in all, larger objects by default require high force to operate, thus additional mechanisms present a small influence on the overall force requirement.Smaller objects, on the other hand, typically require low force to actuate such as in wall light switches.Attaching mechanisms with rotors thus contribute much to the overall force requirement, yet numerically remain within safe operable range [61].Everyday objects come in different sizes, and the forces to operate them vary.For instance, a spring-loaded cabinet door requires higher force to operate than a normal cabinet door.Thus, the added force can be innately accommodated by the user.An immediate future revision of our attachment mechanism design would be adding a latching mechanism to the harvesters to couple or decouple them from target objects on demand.

Preliminary User Experience Evaluation
5.2.1 Participants, Procedure, Analysis.We invited 10 participants for the lab study, with different spectrum of expertise and experiences in 3D modeling, mechanical engineering, 3D printing, and electrical engineering.Six participants had no prior 3D modeling or designing experience (P1, P3, P6-8, P10), seven had only a little to no prior mechanical engineering experience (P1, P3-8), three have used a 3D printer before (P2, P4-5), and seven had some knowledge about electronics (P1, P4-5, P7-10).The main tasks consisted of, first, participants using the E3D toolkit to create an actuation mechanism by wearing a smartwatch to capture the desired motion profile as they manipulated each object with no special caution asked.The tasks followed by fabricating the attachment mechanisms, then installing the results.Our observation goals in observing (OG) potential users are threefold, whether they are able to, or encounter any barriers in, • OG1.Capturing desired motions from daily kinetic activities and extracting their motion profiles at enough details to find and match the mechanisms in the library, • OG2.Fabricating of chosen energy harvesting mechanisms that are suitable for a chosen physical interface by following the E3D pipeline, • OG3.Assembling and Installing the E3D-generated energy-harvesting mechanisms and seeing harvested energy to be used to power IoT devices.
Note that the current preliminary testing does not test advanced tasks, such as creating a new mechanism that is not a part of E3D library yet.To avoid leading participants, for each object we let the participants operate the E3D smartwatch app on their own and actuate the target objects as they naturally do.The entrance door, small drawer, large drawer, door handle, and sliding switches were used as testing objects.Then they were introduced to the user interface.As the actual 3D printing budgets time, only a selected group of participants (P1, P4-10, N=8) were invited for assembly, after we 3D printed all mechanisms overnight.For the same rationale, a selected group of participants (P6-10, N=5) finished the complete loop to the attaching and installing fabrication outcomes.All participants filled in the survey, post-design tasks.We referred to the questionnaires and classification of study tasks in recent work, the end-user toolkit for design and fabrication of mechanical attachments using low-cost 3D printing [49,50], how the usability of the enabling tool is perceived and its assistance for the final fabrication, assembly, and installations are assessed.Questions and design tasks under our observation goals (OG1-3) were modified to fit the E3D design process.Quantitative analysis is summarised in Figure 18.Participants were encouraged to think-out-loud thus researchers can better understand their intentions and frustrations, if any.Two authors, including the last author who owns extensive qualitative evaluation experience, analyzed the logged observation of participants' behaviors and spoken responses.Researchers' impressions about their how and why were written down in plain text, and every single quote of participants was classified under similar topics.Through the repetitive affinity diagramming and open coding, the results are summarized as follows.

Findings & Potential Future Work.
Overall, all participants liked the idea of 3D printing attachments to harvest energy from everyday activities.All successfully completed the design and selected group of participants completed fabrication due to the time and material costs for 3D printing.
E3D motivates users to think more of daily interactions as energy sources.Seeing what the E3D design tool can afford and a variety of examples, all participants expressed that they would like to harvest energy from their everyday kinetic interactions mentioning "I would like to attach energy harvesting devices to all my doors" (P3).While some participants were knowledgeable about the idea of energy harvesting in general, not all were aware that it can be done through common everyday objects."I may not be able to come up with the idea that these objects could be a source of energy" (P3).The capability to design and fabricate custom energy harvesters increased interest in sustainable smart environments.Although two participants knew that energy could be harvested from different activities, all agreed that creating such mechanisms would be convoluted as it is not trivial even for those with prior 3D modeling experience: "I don't know how to design such mechanisms" (P4).All agreed the toolkit was easy to use and simplified the design paradigm.When introduced to the toolkit, P3 became more knowledgeable about kinetic activities (types) and their potential use for energy harvesting, in that he notes "I can learn these objects belongs to the same motion" (P3).All participants expressed their future use intent with more ideas: "I want to harvest energy by pressing keyboard" (P4).
More options provide room for design trade-offs.During the optional tuning phase, participants were allowed to adjust the amount of power that the mechanisms can generate, by increasing the force needed to actuate them.P1, cognizant of electronics, mentioned "If it gives me more energy and I can operate more devices, then why not?" (P1), willing to trade-off the target being stiffer.P2 preferred an iterative design to find the sweet spot, which objects with more force needed feel comfortable."I will try different settings ... find which one works for me ... I will keep that settings" (P2).P10, who has prior knowledge of gear mechanisms and energy harvesting, preferred an engineering approach to choose rack-gear over the two-bar linkage, "I know that it [rack-gear] will have more turns, so more energy" (P10).P5 further noted that "I do not know what I can do with that energy or how many LEDs I can run with that" (P5).which reveals the tool support needs for finding appropriate metrics or visualizing to inform about the usage of the harvested energy.We will detail this partly in the discussion section.
A variety of mechanisms provides design freedom for customization.There are various factors that affect the users' choice of mechanisms, including aesthetics, scale, shape, and complexity of fabrication and assembly, as well as placements that are dependent on each other to some extent but certainly based on the varying needs of individuals.P1, P3, P4, and P6 valued aesthetics, which seemed highly related to the installation and mounting, quoting that "It looks simpler and it looks good" (P1), "the [chosen] shape looks smart" (P3), "I want to reduce the space that this device takes" (P4), while P5 considered the placement-"it will be inside of my cabinet door" (P5).P5 also used simplicity as design rationale, "...I choose one counting the number of parts" (P5) as more parts make the printing and assembly costly.These imply that the mechanisms need to be harmonious, not significantly affecting the aesthetics or interfering with the original function of objects.The placement of the mechanisms should be flexible to reflect the different design needs, including mounting it on the top of the door or inside of a cabinet in practice.Informing users about printing time and material estimation will also aid them to choose from various options, which links to the following finding about the preview.
Simulation and visualization would help reality-based decisions.All wished for more visual support during the design process, particularly in a real-life context."I would like to have a tutorial video" (P3), "I don't know how it works ... some animation of how the mechanism works [will be appreciated]" (P5).Incorporating realistic 3D rendering or AR-based simulation of the mechanisms could be an intriguing future work.
Fabricated mechanisms and usability of target objects with harvesting mechanisms installed.We timed the assembly of four mechanisms, where two participants (P3,P9) assembled one mechanism each (crank and three-bar linkage), and one participant (P10) assembled two mechanisms (rack-gears).Participants were given the 3D-printed parts and the assembly instructions auto-generated by E3D.The crank mechanism assembly for the entrance door took seven minutes.Due to a higher part count, three-bar linkage took twelve minutes.Interestingly, while assembling the first rack gear for a small drawer, the participant needed five minutes, assembly of the second rack gear for the switch took less than three minutes.The participant quoted "... now I know how it works (after assembling the first one)" (P10).The mechanisms required approximately 40g, 30g, 30g, and 15g of filaments respectively.Participants (P6-10) actuated target objects with mechanisms installed.They all agreed that they could operate the objects without the feeling that attachment impedes their motion.Although there is an overhead force involved in light objects (e.g., slide switch), participants expressed that it can be adapted through usage, as one participant stated "... if someone uses it regularly, they will easily get used to it" (P8).

LIMITATION, DISCUSSION, FUTURE WORK 6.1 Longevity of Mechanism Based on Material Characteristics and 3D Printing Settings
We 3D printed and tested the mechanisms with PLA and PETG filaments.As PLA is prone to degrade and tear over time, particularly with continuous exposure to direct sunlight, it might need replacements over time outdoor applications.ABS, on the other hand, might present risks of toxic air during fabrication, as well as tend to shrink and warp.ABS is not suitable for gears, as deformation in teeth will result in improper meshing but possibly be used for other parts that do not require precision fabrication.Different components of the harvesters require specific tolerance for 3D printing.Through our experiments, we observe 0.15mm to 0.2mm layer height is appropriate for printing gears, shafts, pivots, and racks to ensure proper coupling, gear installment, and torque endurance.For printing other large parts (e.g.shell or linkage), 0.15mm to 0.25mm layer height can be used.A high infill can strengthen components, but it requires more filament and printing time.Through our experiments, 30-50% infill with gyroid pattern provided a balance between strength and filament requirement.Due to the layer-by-layer fashion of the FDM process, the involved stress in the shafts may wear the layers' adhesion over time.As friction is involved in the gears, they are also subject to wear and tear requiring replacement over a long deployment.Yet, the parts can be re-printed at any time and at a low cost to compensate for natural degradation, which is still less distressing than frequent battery replacements.While we expect advances in off-the-shelf materials, such as recent replacements of PLA with PETG, which is still biodegradable but presents higher strength, may resolve some of these challenges, some ad-hoc post-processing techniques may help mitigate such effects.For example, applying lubricants can reduce friction in components, increasing the longevity of the mechanisms.Our choice of parametric design using OpenSCAD makes it possible for tuning & exporting different parts with different formats, such as vectors, that are suitable for other types of fabrication methods.

Mechanism Miniaturization and Energy Footprint for Fabrication
E3D mechanisms are scalable based on target objects and the user's choice.Yet, while the scale of the door mechanism is minimal compared to the size of the door, a doorknob mechanism may seem obtrusive.Currently, the minimum size is constrained by the size of the generator and gear module required to withstand torque with generic PLA or PETG filaments.With materials that better withstand torque (e.g., Carbon PET) and miniaturized generators, it can be shrunk further making them seamless.Additionally, we envision the inclusion of harvesters directly into the object in the future, such as a smart doorknob or a smart drawer rack with built-in harvesters.Similar to other power sources or harvesting mechanisms, such as alkaline batteries that consume around 1.5MJ of energy per battery [33], 3D printing for fabrication is also energy-intense that creates footprints to harvest energy from the outcomes.We aim at further optimizing harvester designs and expect better generators in the future that can allow harvesting more energy per iteration to compensate for the energy used faster.Additionally, 3D printers can run on renewable energy (e.g., solar power [32,43]) and green energy is emerging more and more in manufacturing.As opposed to chemical batteries that add a substantial carbon footprint at their end-of-life (EoL) [33], degraded components from 3D printing filaments are recyclable and filaments are being extracted from waste PET bottles from oceans and factory waste streams [7,26,55].These are paving the path toward a greener fabrication of mechanisms leaving a minimal footprint on the environment.

Multiple-types of Kinetic Activities in One Object and Complexity
Harvesters can be combined to huddle energy collectively.Some interactions often combine subsequent activities, such as twisting a doorknob is generally followed by the door opening.Thus, energy can be harvested from a door and door knob combined to light up an emergency exit sign.While separate mechanisms can be used per object as a current solution, an extension of activity recognition from a future survey on paired activities and recognizing a series of motions from user demonstration as input could be investigated by the time gap between salient activities in the time series data, enabling pairing up activities involved in one physical object.There exist objects which contain a group of similar items, such as drawers in a closet.Attachment mechanisms can also be generated to collectively harvest energy from such groups by taking additional input, such as a photo of the target object, and detecting the number of elements in the object.These present an opportunity for further investigation on conjoining mechanisms to collectively actuate a common generator.

Energy Harvesting at Scale and Wireless Transmission
Although E3D can operate a good variety of sensors and controller devices, it is reasonable to question whether harvested energy from scattered places where mechanisms are attached can be accumulated at large to power larger electronics for versatile utilization of energy.While there exist comprehensive prior works discussing the feasibility of wire transmission of energy (e.g., [20,47]), wireless power transmission, to date, is limited to a short distance or suffers from low-efficiency [13,23].Due to the relatively small amount of energy obtained through trivial, intermittent kinetic activities compared to the power required just for wireless transmission per se, it would not be ideal to attenuate harvested energy for doing so.Alternatively, we examined each harvester equipped with a rectifier followed by a supercapacitor to capture the intermittent energy and merged through a common charging management system in a wired manner, to collectively harvest energy into large cells.It is known that harvested energy from daily trivial activities, opening trashcan lids or sliding windows for example, can trigger RF broadcasting of sensed activities [86] which can signify monitors where more intensive computation to analyze such activities can be operated at building scale, as further use-cases follow.

Building-scale Energy Harvesting for Smart Sustainable Building Management
In addition to solar or wind energy sources, increasing research on building-scale energy sourcing and consumption has begun to investigate alternative sources of energy.From the vibration of different structures [87], thermoelectric energy [69], indoor ambient light [67,73], water flow in the pipeline [14], etc., more daily human activities have been considered as potential energy sources.Such energy can facilitate maintaining smart buildings with IoT sensors that monitor occupancy, emergency lighting, indoor energy usage monitoring, security system, charging backup IPS, and many more [12,48,86].During our daily routine, we encounter a number of kinetic interactions with numerous everyday objects in our home or workspace, which can be concatenated to lead to building-scale energy harvesting.Existing work to let building occupants be aware of their energy consumption often focuses on providing eco-feedback [28] to induce pro-environmental habits.As partly found in our preliminary user study, engaging end users to participate in designing energy harvesting mechanisms and informing them about opportunities might increase awareness about daily sustainable activities.For example, activity sensing of frequent actuation of fridge doors or water faucets can notify college students.Windows and curtains can be automatically shut while the AC is on, through smart automation of the environment [81].

Automating Smart Environment from Activity Sensing
In a similar vein, as E3D captures energy from kinetic interaction, activity sensing can signal automation of the ambient environment implying the great potential for a smart, assistive home.For instance, a doorknob mechanism itself can act as an occupancy sensor to trigger the turning on/off of room lights, hinge motion captured from a fridge door opening can create eco-feedback, and pumping a hand washer bottle can automatically open the water tap to assist users in washing hands, and so on.Our toolkit is the first to lower the barriers for end-users with minimal design expertise and costs.Investigating the variety and reliability could be the next step.Future integration of E3D with prior works on self-powered devices and activity monitoring sensors [86] can explicitly broaden the capability of end-users to construct a battery-free smart environment nearby.The ongoing interest in DIY techniques empowered the development of energy harvesting leveraging offthe-shelf electronics modules [27].Such electronics include low-cost high-efficient buck or boost modules and battery charging systems.In this work, using the supercapacitor or a battery charger, we confirmed that the excess energy that surpasses the instantaneous demand can be stored.We consider another holistic survey of devices that are useful for smart building management systems (BMS) and measure the maximum energy that we can store to support powering them at scale, particularly where lower maintenance labor is expected (e.g., LED garden lamps and signs in rural areas and developing countries).

Energy Harvesting from Human Body Movements
The human body involves a number of biomechanical movements throughout different activities, such as walking, running, hiking, stamping feet, tapping using hands, workouts in various postures, etc.As seen in pedaling powered TV [38] which is already widely adopted at a gym for more motivation, these embodiments can facilitate harvesting motion energy while inducing users to think of more energy-friendly activities.Throughout such activities, a substantial amount of energy can be harvested from different body parts, such as head movement, the elbow, knee [22], or the up-down motion of the body [46].Similarly, smart shoes can harvest energy while the user is walking or running which generates a pressure gradient [57,79].As they can help power up a great body of interactive devices, such as the GPS tracker during cycling or assistive light during nighttime tracking, we plan to incorporate such body movements as more sources of energy.Recent advances in human activity recognition (HAR) have provided several machine learning tools to classify human activity with high accuracy from smartphones or smartwatches [35,71,77].Potential future work of E3D is integrating such tools and using the smartwatch as a network hub, user interface, and data collector [36] beyond, motion capturing device.

P
a p e r G e n e r a t o r s S o z u

Fig. 3 .
Fig. 3. Overview of the E3D.An E3D user initiates the design process by wearing a common smartwatch capturing activity data by demonstration.E3D classifies the type of motions, retrieves motion trajectory, creates motion profiles, and generates ready-to-3D print energy harvesting mechanisms based on them.Finally, E3D provides assembly instructions and electronics needed to fabricate fully custom energy harvesting attachments given user-specific context.

Fig. 5 .
Fig. 5. (a) A window alarm alerting by unexpected slide-open of a window, (b) a temperature and humidity sensor logging data periodically sourcing power from a door actuation, and (c) an LED light that assists the user in finding items in a cabinet.

Figure 8
Figure 8  illustrates reconstructed trajectories of door opening (Figure8a), drawer opening (Figure8b), and doorknob twisting (Figure8c) over three iterations.Based on the type of motions determined by the LSTM model, we extract (i) length for large linear motion, (ii) arc radius for hinged rotational motion, and (iii) angular distance for twisting motion.

Fig. 9 .
Fig. 9.The E3D pipeline starts with (a) a wearable device recording activity data, used to infer (b) the list of possible activities and (c) target objects.Upon selection of a desired object to augment, E3D shows (d) available mechanism types with (e) attachment preview and energy information with (f) options for additional tuning.

4. 2 . 1
Selecting Target Activity (Figure (a) and (b) show exploded views of two example mechanisms.The harvester core consists of three stages -enclosure, gear systems, and input shaft.

Fig. 10 .
Fig. 10.Exploded View of two example core mechanisms and gear ratio adjustment, (a) Exploded view of the inline shaft core mechanism, (b) Exploded view of the transverse shaft core mechanism, (c) Increasing and (d) Decreasing the number of turns in the inline shaft core mechanism using the herringbone gears, (e) Increasing and (f) Decreasing the number of turns in the transverse shaft core mechanism using the bevel gears.

Fig. 11 .
Fig. 11.Example core mechanisms generated from the parametric library upon varying parameter settings.(a) Transverse shaft mechanism using bevel gears with a 1:1 gear ratio, (b) transverse shaft mechanism using bevel gears with 1:1.5 gear ratio, (c) inline shaft mechanism with 1:1 gear ratio (no gearbox required), (d) inline shaft mechanism using herringbone gears with 1:2.5 gear ratio.

Fig. 12 .
Fig. 12. Delivery parts to transfer motion from the target object to the core mechanism.(a) a three-bar linkage and (b) a gear mesh attachment that translates a twisting action into the generator's rotation, (c) a two-bar linkage that creates a rotation motion on one end when the other end is stretched, (d) a crank that creates a rotation motion on one end when the other end follows an arc, (e) a rack-gear that creates a rotation motion in the gear when the rack makes a linear or translation motion.

Fig. 13 .
Fig. 13.(a) transferring twist motion of a door handle to the rotor of the generator using a three-bar linkage attachment, (b) transforming linear motion of a sliding window into rotor movement using a rack-gear attachment.

Fig. 14 .
Fig. 14.Snap-fit based assembly of the harvester, (a) components of the harvester, (b)-(c) connecting three links with pivots, (d) inserting the driven gear, (e) sliding the generator into the shell, (f) inserting the shaft with driving gear inside, (g) assembled mechanism.

Fig. 15 .
Fig. 15.(a) Voltage and Power curves from three different mechanisms, (b) average power generated by the three mechanisms per iteration, (c) accumulated voltage and energy in a supercapacitor from the three mechanisms.

Fig. 17 .
Fig. 17.(a) Force measurement setup, (b) Induced force to operate the mechanisms with and without load.

5. 1 . 4
Induced Force to Operate Mechanisms.The amount of energy harnessed by E3D mechanisms originates from users' kinetic actions, which might induce additional force to operate the target object.To test the additional force and see whether the attached mechanism changes users' experience and capability to operate kinetic objects without too much extra force, first, we attached a force scale on different everyday objects and estimate the average force required to operate the object over five iterations (Figure 17b blue bars).The experiment setup of capturing force data is depicted in Figure 17a.To set a lower and upper bound of the induced force, we tested the mechanisms with and without electrical loads.We attach energy harvesting mechanisms to target objects and measure induced forces over five iterations (Figure 17b orange bars).Afterward, we attached a constant load of 100Ω to the mechanisms and measure induced forces over five iterations (Figure 17b green bars).Standard deviations over iterations are shown as the error bars in Figure 17b.

Table 1 .
Metrics of the trained LSTM model.
5.1.3Activity Classification.Existing Human Activity Recognition (HAR) or Activities of Daily Living (ADL) datasets mostly focus on athletic or human muscular activities such as walking, standing, running, etc. ([62, 71])