6.1 Findings from Observing the Study (OS)
To understand the workflow of our participants in their development of self-powered IoT systems, we encoded the video sequence (mostly based on conversations between the novice developers and the expert and their activities) into eight subtasks: 1) Test the sensor function, 2) Code, 3) Test the system function, 4) Measure the power consumption, 5) Measure the energy harvesters, 6) Calculate the capacitance and power, 7) Test the system connection, and 8) Improve robustness. Figure
4 visualizes the two requested tasks in this study, and Figure
5 shows the subtasks along the time axis.
Table
2 shows the quantitative measurements of the two tasks in terms of harvested energy, consumed energy, and the design choice of each participant. The participants had various design choices regarding system working time, energy harvesting time, and energy harvester type. For Task 1, the power measurement of the solar panel was conducted only in the indoor environment for ease of debugging and development. The participants differed in the degree of success of their program designs. For example, P8 and P6 were unsuccessful in both tasks. P1, P4, and P7 were successful in both tasks. P2 and P5 were successful only in Task 2. P3 was successful in Task 1.
6.1.1 Workflow.
The participants generally followed the development paradigm of components testing (for sensor and energy harvester) - system building (realizing the system function) - task debugging (using energy harvesters to power the system).
Components testing: As novice developers were more familiar with the concept of sensors or programming, most of the participants preferred testing the sensor function or getting familiar with the key parts of the system first. Thus, they implemented system functions using the DC power supply, which was later replaced by energy harvesters. Afterward, they started measuring the energy harvesters, which took a long time.
System building: In building systems, as we provided a demonstration programming, the developers did not put much effort into the function realization of the system. The time spent on this link was shorter.
Task debugging: The results showed that most of the participants understood the key part of developing such an energy harvesting system: matching the energy harvested to the system’s consumption. They attempted to find a trade-off between energy consumption and energy harvesting, which was significant in developing an energy harvesting system.
For the developers who completed the task, the development normally took 1.5–2 h. Most of the participants spent comparatively longer on capacitor calculation, energy harvester measuring, and system connection tests, and less time on system and sensor function tests. They also needed to be reminded of how to calculate capacitance values and adjust the system’s duty cycle. Based on the thematic analysis of the video recorded during the study and the observation notes of the expert, we identified two high-level themes: 1) gaps between concept and practice and 2) the need for assistive features. The findings for these themes are summarized as follows:
6.1.2 Gaps between concept and practice.
a). Gaps between the power concept and the measurement of energy harvester: The developers quickly understood the task’s requirements. They typically started with the sensor’s performance and performed basic tests to see how the sensor output relates to the input to determine the basic operational logic of the system. More questions were asked while powering the system with the energy harvesters. The frequently asked questions were:
"How do I measure the power of the energy harvester?" (P2, P5, P7). "What is the output of these [energy harvester])?" (P3, P5).
Although the developers were briefed on how energy harvesters work and the output energy, it was clear that they had little idea how to convert this knowledge into practice. The basic concept of power is known to developers and can be applied in system design to some extent (power is needed to support the system’s operation). However, they usually did not have the practical skills to measure power. For example, when P7 asked how to measure power, the expert needed to remind P7 of building a circuit loop using a resistor and measuring the current and voltage. However, when the expert asked what resistance value to choose, P7 did not give a specific reason (took one resistor randomly). The participants recalled the formula for power calculation, but it was difficult for them to determine which circuit configuration to use to measure the voltage and current, which are two constituent parameters in the formula. Specifically, they did not know the meaning of the output power, which should be determined by the load resistance in the circuit. To reach optimal output power, the impedance should be matched. This required elaboration and help from the expert, who assisted the novice developers in measuring the output power of the energy harvesters and the output power.
b). Gaps between the capacitor concept and deployment: By using the energy harvesters, the participants quickly realized the characteristics of the unstable input of energy harvesters (e.g., using solar cells with power during the day and no power at night), and they were all aware that storage mechanisms could be used to mitigate the instability. However, when the capacitor was provided to the developers, at least one of the following questions would be raised by the participants:
"How does this [capacitor] work?" (P5), "How does the [capacitor] work in the circuit?" (P5), "How can I charge the [capacitor]?" (P4, P5, P7), "How fast does it charge?" (P4), "How do I increase the charging speed?" (P2) "How many volts will it be charged to?" (P7), "How does it discharge?" (P5-P7), "Is the charging current the same as the discharging current?" (P5, P7), "How do I determine how much charge it holds?" (P4, P5, P7).
The novice developers knew how a capacitor would be used in this project (i.e., to store energy to eliminate the effects of fluctuations in the environmental parameters). However, they required further guidance from the expert on the steps and design rules of thumb for capacitor use.
c). Gaps between the sensing concept and digital sampling: Another question that was frequently raised was how to read the digital signal of the sensor during development. The participants understood the basic concepts of analog to-digital conversion and sampling but often needed to look into the setting of the sampling frequency to enable the system to operate in intermittent mode with the duty cycle. Therefore, it was often the case that the expert had to remind the participants about the steps to set the sampling frequency. Furthermore, the novice developers wondered how high/low should they set the sampling frequency. Nevertheless, they usually understood the intention of sampling sparingly, which was to preserve power:
"I would like to set the sampling frequency to [once every] 10 minutes because the outdoor light changes are relatively slow." (P1). "Let us set it to be 500ms first to test the system function, and then we can test the practical situation of opening the door to change it." (P2).
6.1.3 Need for assistive features.
a). Need for capacitor calculation: More effort was put into the selection of the capacitor’s value. Although the basic features of the capacitor (e.g., the capacitor can store and release energy) were known to novice developers, they were stuck in calculating the charging time and the required capacitor size after specifying the required energy. The expert often assisted the novice developers in using an online capacitor energy calculator to help them overcome the problem quickly.
2.
b). Need for optimization strategy: Another theme from the observation notes was their strategies in handling the issue of the harvested energy not meeting the consumed energy. As the output power from the energy harvester is generally low, this is one of the most common problems developers must solve. The participants wanted to increase the harvested energy to balance out the consumed energy, which was often their strategy when first faced with the issue of an energy shortage. For example, in Task 1, P8 used only one solar panel for the electronic system at first and found that it did not work (out of the box). Thus, he added more solar panels to a series and tried to improve the voltage. As he did not consider the power issue, the energy harvesters still failed to meet the energy requirements of the system. For most developers, adding input energy harvesters to increase the amount of energy that could be collected was the most obvious solution, but the additional cost was also discussed:
"I can use many solar panels if the cost allows." (P3)
Interestingly, compared with increasing the energy harvester count, it was not as obvious to our participants that they could also move the solar panels to a brighter environment, as they thought the brightness would not affect the output power much. The expert helped P3 place the solar panel near a window, and P3 found that the output current greatly increased.
"I didn’t think the light would have such a big impact on the solar panel." (P3).
Another interesting note is overlooking the key solutions. In this case, one commonly overlooked solution was to reduce energy consumption, especially under space and cost constraints, which limit the number of allowable energy harvesters. This reflected a lack of understanding of the sensor’s energy consumption. Although the participants were aware that optimization could reduce energy consumption, it was unclear to them how much could be reduced and whether it was worth the trouble to compare with simpler solutions of having more energy harvesters. This unknown led to the neglect of this part of energy consumption. When the expert guided the developers in dealing with the energy consumption of sensors, the participants remarked the following:
"I didn’t know that the hall sensor consumes so much energy." (P2) and "This is where a lot of the energy is consumed by the system." (P5).
Another energy optimization strategy is diversifying the system’s energy harvester profile to improve robustness against low-energy environmental conditions. At the end of Task 1, the expert asked questions, hoping to solicit the use of multiple types of energy harvesters. As the application of Task 1 was for outdoor-use scenarios, the environmental factors changed more significantly than the indoor scenarios (Task 2). However, this limitation also came with a richer set of energy sources that, if leveraged effectively, could be advantageous. Specifically, the expert asked, “If we choose to use solar cells, does the current design support lighting conditions in the wild, for example, when it rains for several days in a row or when there is not enough light?" Although it was not their first response, most of the developers eventually came up with the solution of leveraging multiple types of energy harvesters:
"Include the use of MFC or wind energy harvesters to make up for the missing energy amount." (P5).
A hybrid harvesting scheme using different energy harvesters that complement each other to increase the input energy was the solution. However, this solution did not address (if not worsened) the issue of the uncertainty of energy profiles by introducing more variability from the environment. In addition, an increase in energy harvester types could lead to false confidence in the energy supply. To address this issue, the participants mentioned a solution for monitoring the harvested energy and adjusting the power consumption accordingly. According to P4:
"We can monitor the voltage in the capacitor to derive the energy, and preset an information table in the system to dynamically adjust and calculate the time to provide lighting in conjunction with the local sunrise and sunset times." (P4)
Maintaining the energy match of the output and input and dynamically adjusting the energy at the consumption end is a more intelligent solution to improve the robustness of the energy harvesting system. Novice developers generally prefer optimizing the energy supply by increasing the number and type of energy harvesters to meet demand (e.g., power consumption, robustness). However, there are more issues to consider when using multiple energy harvesters in conjunction with impedance matching, and energy harvester response. These were the issues that novice developers did not consider when developing systems using energy harvesters, constituting the “unknown unknowns,” which we relied on our interview with the expert to uncover. For example, it was unknown to most novice developers that complementary dynamic adjustment and dynamic balancing solutions were possible. During the experiments, most of the novice developers needed to be reminded by the expert.
6.2 Interview with Novice Developers (IN)
After the two tasks were completed, we conducted a short interview with the novice developers, following a semi-structured interview scheme. Their responses were coded using thematic analysis and affinity diagramming (the method is introduced in Section A.2). The results also echoed the main themes identified in the observations.
6.2.1 Gaps between Concept and Practice.
a). Gaps between energy harvesters and battery powering: We asked the participants what they thought after completing the development of these two tasks and what they felt they had learned that they had not noticed before. We considered many comments regarding energy harvesters. Almost all of the developers indicated they had a more practical understanding of energy harvesting technology:
"I didn’t expect the solar cell to produce such different outputs for different lighting conditions" and "I thought the soil MFC was the most reliable, but I didn’t expect it to have such a low output voltage and power". "The solar cell was the most surprising to me. I thought it would be as stable as a battery [to provide a stable voltage/current output]." (P2)
Similar comments on the power profiles of harvesters also emerged from the interviews with P1, P7, and P8. Although no developer thought of energy harvesters entirely as batteries, they all used energy harvesters with expectations and conventions inherited from their previous experience with batteries. For example, they expected them to be as easy as using battery power and that their power and output would be stable. The novice developers commented that they could be “naïve” in the use of energy harvesters, constantly trying to draw analogies between energy harvesters and batteries. This mindset could be a result of failure and frustration rather than thinking of energy harvesters as a function of power with input parameters of environments and system implementation, both of which were noted as elements of surprise by the participants in their interview.
6.2.2 Need for Assistive Features.
a). Need for power simulation: We then asked the novice developers about their willingness to use energy harvesters and, in particular, whether they would consider using them instead of batteries (e.g., power banks or button cells) when developing similar IoT systems. Overall, the participants indicated that they would use energy harvesters to develop systems if certain conditions were met. These conditions were all related to tedious calculations and the unknown considerations of critical design elements, both of which could be addressed with assistive features in future development tools. For example:
"I would choose to use an energy harvester if it was in outdoor conditions because the battery would need to be replaced." (P1). "I would trust it more if I could know exactly how much output power each energy harvester can have." (P2). "If I could be told directly how much power each energy harvester could produce and how much energy the system would consume, I could just connect them easily." (P3). "I would like to trust the energy harvester if I understand all of the [system] parts’ power consumption." (P4).
Thus, more explicit information about power is needed. The novice developers relied on the power harvester to tell them how much power could be generated so that they could be more comfortable in the design and debugging phases. This demonstrates the importance of exposing critical design elements as early as possible in the initial stages. Simulation can help with this. Power information should be provided to users as early as possible, and users should be allowed to design based on the simulation information, thus reducing actual trial and error.
6.3 Interview with Expert (IE)
We interviewed the expert to compensate for the participants’ feedback, which could require completion or could be biased due to a lack of knowledge (effect of "unknown unknowns"). With the interview with the expert, we expected to validate the participants’ findings and discover complementary new insights into the participants’ needs. We navigated the interview with the expert using the following questions:
•
Information exchange/sharing. Was there information asymmetry between expert and participants. If so, how did this affect participants’ development of self-sustaining systems?
•
Communication experiences. What were the experiences of exchanging information with participants in collaborative developments. Were there any obstacles that expert encountered in this process?
•
Navigation strategy. How did expert solve problems or deal with difficulties in communicating with participants during the collaborative developments?
6.3.1 Gaps between concept and practice.
The expert revealed that the novice developers needed to learn to put constituent concepts in energy harvesting into practice. These concepts include capacitor, power, and duty cycle. The first two findings generally agree with the observations of the study.
a). Gaps between the capacitor concept and charging and discharging: The expert revealed that although all the participants knew that capacitors could store energy, few knew how to make or use the connections. The expert reported an example in which one participant asked, “Can a capacitor discharge when it is not fully charged?” Another even more troublesome example was when the participants expected their system to work only after the capacitor was fully charged without asking the question. In fact, discharging a capacitor does not need to wait until it is fully charged. The actual discharge of the capacitor is affected by the situation of the circuit and its capacitance. This problem also revealed that the novice developers had only a conceptual understanding of capacitors and were not familiar with their practical use. The expert also found power to be another front in which knowledge of practice was largely missing.
"Participants knew P is calculated by multiplying U with I, but what they didn’t know is that both voltage and current have to be supplied to get the expected power." (Expert)
b). Gaps between power concept and load: What the developers overlooked was that the output power of the harvester is decided by its load, which changes the output voltage and current in energy harvesting. Assuming either of them was constant only led to confusion and frustration. For example, the expert mentioned an example in which P8 tested an open-circuit voltage of 5 V from the solar panel. When P8 connected the solar panel to the system, he found that it could not supply power to the system and was confused about why the output voltage decreased rapidly.
c). Gaps between the sensing concept and duty cycle: On the power consumption end, it was common for novice developers to overlook the option of reducing it by optimizing the sensing or actuation duty cycle. The expert observed that most of the participants immediately found ways to increase the power supply once they learned about its shortage in supplying the consumption of their applications while overlooking the other part—reducing the consumption on the LED (actuator) or the sensor.
Further communication between the expert and the novice developers revealed that the reasons for this mindset were because 1) the novice developers believed that power consumption was already very low and that improving it would not be worthwhile, 2) they did not know the existence of methods for reducing energy consumption, and 3) they thought the methods to reduce energy consumption were challenging. The expert reported that the novice developers tended to think that the sensors had very low power consumption and did not require merit optimization. However, hall effect sensors consume considerable power (3.5 mW) without optimization of the sampling rate or adoption of power gating approaches. Furthermore, even if the novices noticed the considerable power consumption of the sensors, they needed to learn how to correlate it with the sensor’s sampling rate. We found that the gaps between practice and concept in the case of the LED were much better than those in the case of sensors. The expert observed that the novice developers had a better understanding of perceivable elements. The light from the LED was a constant reminder of “hey, I am consuming power, so do something about it,” whereas the sampling rate of the sensors was abstract and thus “invisible” to them in their developments.
6.3.2 Need for assistive features.
Most of the assistive features were reported in the previous sections, while the interview mostly focused on the “unknown unknowns”—knowledge that the novice developers themselves would not know that could help them. Findings regarding this were scattered throughout the interviews.
For example, depending on the design points at different stages, when using energy-consuming or power supply units, it is usually necessary to specify their power. When selecting energy storage elements, it is necessary to specify how much energy is to be collected, as the time of charging needs to be taken into account. The novice developers spent a significant amount of time converting power (needed for the LED/sensor) into energy (design factor for capacitance selection) and power (needed to be harvested) in the iteration of their system development. This calculation could be facilitated and even automated using built-in features on future development tools.
a). Need for capacitor selection recommendation: The expert also noted that the size selection for capacitors could be a space in which support is needed. The novice developers relied on a trial-and-error approach to select capacitance for storing energy. For example, once the energy required was calculated, they would try a small capacitor (e.g., 0.1 F) to store it. If the energy harvested charged up the small capacitor too quickly, they would increase it to a larger capacitor (e.g., 1F) to improve the energy harvesting efficiency, as energy does not charge into the capacitor further after it reaches the maximum voltage. However, a capacitor that is too large can result in a longer energy harvesting time before reaching a usable voltage level. This trade-off posed difficulties in capacitor selection for all novice developers in the study.
b). Need for hints: The expert reported a general problem in energy harvesting of having too many variables to consider in optimization. Guidelines, recommendations, or proactive hints compared with passive information feeds (e.g., status indications, logs, and visualizations) could help reduce the confusion caused mainly by novice developers needing to know where to start and what should be the plan of attack. This support is even more important given the ebbs and flows of energy supply and consumption due to varying environmental conditions and application needs. The novice developers had little clue about which variable to tune in response to the change in dynamism between energy supply and consumption.
6.4 Summary
We summarized the findings from observing the study and interviews with novice developers and the expert (Table
3). We observed that for the informational gap, novice developers need to bridge it with relevant hands-on experience in basic electronics, which could lead them to acquire the skills necessary for energy harvesting systems faster. These fundamental physical electronics informational gaps were previously dispersed in various applications in the electronics field, and the energy harvesting system integrated them. The problems specific to energy harvesting technology are mostly reflected in the assistive features needed to help novice developers. This also tells us what kind of skills they need to be educated to practice and what kind of help they need when introducing a novice to energy harvesting system development.
We further connect the relevant informational gaps and assistive features with issues found in the study (Figure
6). To some extent, the informational gaps can also be reflected in the need for assistive features, which are the potential functions of what a toolkit aims novice developers to have (Table
4). However, most solutions solve practical energy harvesting-related physical electronics problems through assistance methods. We believe that these existing tool-based solutions are insufficient for novice developers and that the problems are still open for better solutions, such as power profiles or logging [
8]. To better reveal novice developers’ needs, we did not provide energy harvester power simulation tools in the experiment. The existing platforms are well aware of and integrated with relevant functions for this part of the solution (e.g., Exergy [
55] and Solacle [
35]). An unsolved problem lies in the provision of power optimization strategies. The novice developers were often at a loss when faced with problems such as energy fluctuations, excessive power consumption, and insufficient harvested energy due to a lack of experience.