{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,8]],"date-time":"2026-03-08T02:35:23Z","timestamp":1772937323963,"version":"3.50.1"},"reference-count":101,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2020,12,17]],"date-time":"2020-12-17T00:00:00Z","timestamp":1608163200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100003246","name":"Nederlandse Organisatie voor Wetenschappelijk Onderzoek","doi-asserted-by":"publisher","award":["P15-06 project P4"],"award-info":[{"award-number":["P15-06 project P4"]}],"id":[{"id":"10.13039\/501100003246","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["CNS-1850496, CNS-2032408, and CNS-2038853"],"award-info":[{"award-number":["CNS-1850496, CNS-2032408, and CNS-2038853"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Interact. Mob. Wearable Ubiquitous Technol."],"published-print":{"date-parts":[[2020,12,17]]},"abstract":"<jats:p>Building and programming tiny battery-free energy harvesting embedded computer systems is hard for the average maker because of the lack of tools, hard to comprehend programming models, and frequent power failures. With the high ecologic cost of equipping the next trillion embedded devices with batteries, it is critical to equip the makers, hobbyists, and novice embedded systems programmers with easy-to-use tools supporting battery-free energy harvesting application development. This way, makers can create untethered embedded systems that are not plugged into the wall, the desktop, or even a battery, providing numerous new applications and allowing for a more sustainable vision of ubiquitous computing. In this paper, we present BFree, a system that makes it possible for makers, hobbyists, and novice embedded programmers to develop battery-free applications using Python programming language and widely available hobbyist maker platforms. BFree provides energy harvesting hardware and a power failure resilient version of Python, with durable libraries that enable common coding practice and off the shelf sensors. We develop demonstration applications, benchmark BFree against battery-powered approaches, and evaluate our system in a user study. This work enables makers to engage with a future of ubiquitous computing that is useful, long-term, and environmentally responsible.<\/jats:p>","DOI":"10.1145\/3432191","type":"journal-article","created":{"date-parts":[[2020,12,18]],"date-time":"2020-12-18T15:39:14Z","timestamp":1608305954000},"page":"1-39","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":32,"title":["BFree"],"prefix":"10.1145","volume":"4","author":[{"given":"Vito","family":"Kortbeek","sequence":"first","affiliation":[{"name":"Delft University of Technology, Delft, The Netherlands"}]},{"given":"Abu","family":"Bakar","sequence":"additional","affiliation":[{"name":"Northwestern University, Evanston, IL, USA"}]},{"given":"Stefany","family":"Cruz","sequence":"additional","affiliation":[{"name":"Northwestern University, Evanston, IL, USA"}]},{"given":"Kasim Sinan","family":"Yildirim","sequence":"additional","affiliation":[{"name":"University of Trento, Trento, Italy"}]},{"given":"Przemys\u0142aw","family":"Pawe\u0142czak","sequence":"additional","affiliation":[{"name":"Delft University of Technology, Delft, The Netherlands"}]},{"given":"Josiah","family":"Hester","sequence":"additional","affiliation":[{"name":"Northwestern University, Evanston, IL, USA"}]}],"member":"320","published-online":{"date-parts":[[2020,12,18]]},"reference":[{"key":"e_1_2_2_1_1","volume-title":"Si7021 Temperature and Humidity Sensor Breakout Board. https:\/\/www.adafruit.com\/product\/3251. (Sept","year":"2016"},{"key":"e_1_2_2_2_1","volume-title":"PCF8523 Real Time Clock Assembled Breakout Board. https:\/\/www.adafruit.com\/product\/3295. (Aug","year":"2017"},{"key":"e_1_2_2_3_1","volume-title":"Adafruit Metro M0 Express - designed for CircuitPython - ATSAMD21G18. https:\/\/www.adafruit.com\/product\/3505. (April","year":"2018"},{"key":"e_1_2_2_4_1","volume-title":"Welcome to CircuitPython! https:\/\/learn.adafruit.com\/welcome-to-circuitpython. (Sept","year":"2019"},{"key":"e_1_2_2_5_1","volume-title":"RFM95W LoRa Radio Transceiver Breakout Board. https:\/\/www.adafruit.com\/product\/3072. (Jan","year":"2020"},{"key":"e_1_2_2_6_1","first-page":"2","article-title":"Energy-harvesting Wireless Sensor Networks (EH-WSNs)","volume":"14","author":"Adu-Manu Kofi Sarpong","year":"2018","journal-title":"A Review. ACM Transactions on Sensor Networks"},{"key":"e_1_2_2_7_1","volume-title":"APOLLO Ultra-Low Power Microcontrollers and SoC Solutions. https:\/\/ambiqmicro.com\/mcu. (2018). Last accessed","author":"Micro Ambiq","year":"2020"},{"key":"e_1_2_2_8_1","volume-title":"Arduino GitHub Repository. https:\/\/github.com\/arduino\/Arduino. (Sept","year":"2019"},{"key":"e_1_2_2_9_1","volume-title":"Arduino Uno Rev3. https:\/\/store.arduino.cc\/arduino-uno-rev3. (March","year":"2019"},{"key":"e_1_2_2_10_1","volume-title":"https:\/\/developer.arm.com\/ip-products\/processors\/cortex-m\/cortex-m0. (Sept","author":"Limited ARM","year":"2019"},{"key":"e_1_2_2_11_1","volume-title":"Mbed OS 5 Website. https:\/\/www.mbed.com\/en. (2019). Last accessed","author":"Limited ARM","year":"2020"},{"key":"e_1_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2016.2547919"},{"key":"e_1_2_2_13_1","volume-title":"PYPL: Popularity of Programming Language","author":"Carbonnelle Pierre","year":"2020"},{"key":"e_1_2_2_14_1","volume-title":"The Top Programming Languages","author":"Cass Stephen","year":"2020"},{"key":"e_1_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/2872362.2872409"},{"key":"e_1_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/2983990.2983995"},{"key":"e_1_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/3173162.3173210"},{"key":"e_1_2_2_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/3373376.3378464"},{"key":"e_1_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/3411839"},{"key":"e_1_2_2_20_1","first-page":"1","article-title":"AlterWear: Battery-Free Wearable Displays for Opportunistic Interactions. In Proc. CHI (April 21-26). ACM, Montreal QC","volume":"220","author":"Dierk Christine","year":"2018","journal-title":"Canada"},{"key":"e_1_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1021\/es801763g"},{"key":"e_1_2_2_22_1","volume-title":"EnOcean Wall Mounted Occupancy Sensor. https:\/\/www.enocean.com. (April","year":"2018"},{"key":"e_1_2_2_23_1","volume-title":"BBC micro:bit. https:\/\/www.microbit.org. (Feb","author":"Foundation Educational","year":"2016"},{"key":"e_1_2_2_24_1","volume-title":"Proc. CHI (May 5-10)","author":"Froehlich Jon"},{"key":"e_1_2_2_25_1","volume-title":"MicroPython Home Page. https:\/\/micropython.org. (Sept","author":"George Damien P.","year":"2019"},{"key":"e_1_2_2_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/2984511.2984513"},{"key":"e_1_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/2445196.2445368"},{"key":"e_1_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1134680.1134685"},{"key":"e_1_2_2_29_1","first-page":"1","article-title":"The Right to the Sustainable Smart City. In Proc. CHI (May 4-9). ACM, Glasgow, Scotland","volume":"317","author":"Heitlinger Sara","year":"2019","journal-title":"UK"},{"key":"e_1_2_2_30_1","volume-title":"Proc. SenSys (Nov. 3-5). ACM","author":"Hester Josiah","year":"2014"},{"key":"e_1_2_2_31_1","first-page":"1","article-title":"Flicker: Rapid Prototyping for the Batteryless Internet-of-Things. In Proc. SenSys (Nov. 6-8). ACM, Delft","volume":"19","author":"Hester Josiah","year":"2017","journal-title":"The Netherlands"},{"key":"e_1_2_2_32_1","first-page":"1","article-title":"The Future of Sensing is Batteryless, Intermittent, and Awesome. In Proc. SenSys (Nov. 6-8). ACM, Delft","volume":"21","author":"Hester Josiah","year":"2017","journal-title":"The Netherlands"},{"key":"e_1_2_2_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/3351474"},{"key":"e_1_2_2_34_1","volume-title":"Intermittently-Powered Sensors. In Proc. SenSys (Nov. 1-4). ACM","author":"Hester Josiah","year":"2015"},{"key":"e_1_2_2_35_1","first-page":"1","article-title":"Timely Execution on Intermittently Powered Batteryless Sensors. In Proc. SenSys (Nov. 6-8). ACM, Delft","volume":"17","author":"Hester Josiah","year":"2017","journal-title":"The Netherlands"},{"key":"e_1_2_2_36_1","first-page":"6","article-title":"The Platforms Enabling Wireless Sensor","volume":"47","author":"Hill Jason","year":"2004","journal-title":"Networks. Commun. ACM"},{"key":"e_1_2_2_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2470654.2466211"},{"key":"e_1_2_2_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/3341302.3342091"},{"key":"e_1_2_2_39_1","volume-title":"Proc. IPSN (April 24-27)","author":"Jiang Xiaofan","year":"2005"},{"key":"e_1_2_2_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/MCOM.2015.7120024"},{"key":"e_1_2_2_41_1","volume-title":"Proc. USIT (Oct. 22-25)","author":"Kang Hyeonsu"},{"key":"e_1_2_2_42_1","volume-title":"Proc. SenSys (Nov. 4-7). ACM","author":"Kim Hyung-Sin"},{"key":"e_1_2_2_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/2493432.2493474"},{"key":"e_1_2_2_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/3373376.3378476"},{"key":"e_1_2_2_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/1753326.1753604"},{"key":"e_1_2_2_46_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2006.1639412"},{"key":"e_1_2_2_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/3025453.3025773"},{"key":"e_1_2_2_48_1","doi-asserted-by":"publisher","DOI":"10.1038\/nchem.2085"},{"key":"e_1_2_2_49_1","first-page":"1","article-title":"EcoMicro: A Miniature Self-Powered Inertial Sensor Node Based on Bluetooth Low Energy. In Proc. ISLPED (July 23-25). ACM, Seattle","volume":"30","author":"Lee Cheng-Ting","year":"2018","journal-title":"WA, USA"},{"key":"e_1_2_2_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/3369837"},{"key":"e_1_2_2_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/2858036.2858249"},{"key":"e_1_2_2_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/3242587.3242635"},{"key":"e_1_2_2_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/3242587.3242620"},{"key":"e_1_2_2_55_1","volume-title":"Proc. CHI (Apr. 26 - May 1). ACM","author":"Lindtner Silvia","year":"2014"},{"key":"e_1_2_2_56_1","first-page":"1","article-title":"Symbiotic Encounters: HCI and Sustainable Agriculture. In Proc. CHI (May 4-9). ACM, Glasgow, Scotland","volume":"317","author":"Liu Szu-Yu","year":"2019","journal-title":"UK"},{"key":"e_1_2_2_57_1","first-page":"1","article-title":"Intermittent Computing: Challenges and Opportunities. In Proc. SNAPL (May 7-10). ACM, Alisomar","volume":"8","author":"Lucia Brandon","year":"2017","journal-title":"CA, USA"},{"key":"e_1_2_2_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/2737924.2737978"},{"key":"e_1_2_2_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/3230543.3230566"},{"key":"e_1_2_2_60_1","first-page":"1","article-title":"Alpaca: Intermittent Execution without Checkpoints. In Proc. OOPSLA (Oct. 22-27). ACM, Vancouver, BC","volume":"96","author":"Maeng Kiwan","year":"2017","journal-title":"Canada"},{"key":"e_1_2_2_61_1","volume-title":"Proc. OSDI (Oct. 8-10)","author":"Maeng Kiwan","year":"2018"},{"key":"e_1_2_2_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/570738.570751"},{"key":"e_1_2_2_63_1","volume-title":"Python is better than C! (Or is it the other way round?). https:\/\/www.embedded.com\/python-is-better-than-c-or-is-it-the-other-way-round. (March","author":"Maxfield Clive","year":"2016"},{"key":"e_1_2_2_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/3126594.3126658"},{"key":"e_1_2_2_65_1","doi-asserted-by":"publisher","DOI":"10.1145\/3242587.3242668"},{"key":"e_1_2_2_66_1","volume-title":"http:\/\/ww1.microchip.com\/downloads\/en\/DeviceDoc\/20005758A.pdf. (April","author":"Reference Comparator","year":"2017"},{"key":"e_1_2_2_67_1","volume-title":"MakeCode: Hands on computing education. https:\/\/www.microsoft.com\/en-us\/makecode. (2020). Last accessed","year":"2020"},{"key":"e_1_2_2_68_1","volume-title":"Scratch Programming Language Official Website. https:\/\/scratch.mit.edu. (2002). Last accessed","author":"Media Lab MIT","year":"2020"},{"key":"e_1_2_2_69_1","first-page":"4","article-title":"The Age of DIY and Dawn of the Maker Movement","volume":"18","author":"Mohomed Iqbal","year":"2014","journal-title":"GetMobile"},{"key":"e_1_2_2_70_1","volume-title":"https:\/\/etronixcenter.com\/en\/solar-panels-and-wind-turbines\/8168876-al103-nedro-6v-06w-80x55mm-mini-solar-panel-7110218865414.html. (Aug","author":"NeDRo. 2020. 6V 0.6W 80x55 mm Mini Solar Panel","year":"2020"},{"key":"e_1_2_2_71_1","volume-title":"PCF85x63, PCA8565, PCF2123, and PCA21125. https:\/\/www.nxp.com\/docs\/en\/user-guide\/UM10301.pdf. (July","author":"NXP.","year":"2015"},{"key":"e_1_2_2_72_1","volume-title":"The RedMonk Programming Language Rankings","author":"O'Grady Stephen","year":"2019"},{"key":"e_1_2_2_73_1","doi-asserted-by":"publisher","DOI":"10.1109\/MPRV.2005.9"},{"key":"e_1_2_2_74_1","doi-asserted-by":"publisher","DOI":"10.1109\/MPRV.2005.7"},{"key":"e_1_2_2_75_1","volume-title":"Materializing Energy. In Proc. DIS (Aug. 16-20)","author":"Pierce James","year":"2010"},{"key":"e_1_2_2_76_1","doi-asserted-by":"publisher","DOI":"10.1145\/2207676.2207771"},{"key":"e_1_2_2_77_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPSN.2005.1440950"},{"key":"e_1_2_2_78_1","first-page":"1","article-title":"Reincarnation in the Ambiance: Devices and Networks with Energy Harvesting","volume":"11","author":"Prasad R. Venkatesha","year":"2014","journal-title":"IEEE Commun. Surveys Tuts."},{"key":"e_1_2_2_79_1","doi-asserted-by":"publisher","DOI":"10.1109\/COMST.2019.2949598"},{"key":"e_1_2_2_80_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.876288"},{"key":"e_1_2_2_81_1","doi-asserted-by":"publisher","DOI":"10.1109\/EMBC.2012.6347459"},{"key":"e_1_2_2_82_1","doi-asserted-by":"publisher","DOI":"10.1145\/1950365.1950386"},{"key":"e_1_2_2_83_1","doi-asserted-by":"publisher","DOI":"10.1109\/TBCAS.2015.2456242"},{"key":"e_1_2_2_85_1","doi-asserted-by":"publisher","DOI":"10.1145\/2556288.2557225"},{"key":"e_1_2_2_86_1","doi-asserted-by":"publisher","DOI":"10.1109\/TIM.2008.925019"},{"key":"e_1_2_2_87_1","volume-title":"The Route to a Trillion Devices: The Outlook for IoT investment to","author":"Sparks Philip","year":"2035"},{"key":"e_1_2_2_88_1","doi-asserted-by":"publisher","DOI":"10.1145\/2858036.2858243"},{"key":"e_1_2_2_89_1","doi-asserted-by":"publisher","DOI":"10.1145\/3126594.3126618"},{"key":"e_1_2_2_90_1","doi-asserted-by":"publisher","DOI":"10.1145\/2702123.2702364"},{"key":"e_1_2_2_91_1","doi-asserted-by":"publisher","DOI":"10.1145\/3090090"},{"key":"e_1_2_2_92_1","volume-title":"Proc. INFOCOM (April 10-15)","author":"Tan Jethro"},{"key":"e_1_2_2_93_1","volume-title":"https:\/\/www.ti.com\/lit\/ds\/symlink\/tlv3691.pdf. (Nov","author":"Texas Instruments Inc. 2015. TLV36910.9-V to 6.5-V, Nanopower Comparator.","year":"2015"},{"key":"e_1_2_2_94_1","unstructured":"Texas Instruments Inc. 2017. MSP430FR59xx Mixed-Signal Microcontrollers (Rev. F). http:\/\/www.ti.com\/lit\/ds\/symlink\/msp430fr5969.pdf. (March 2017). Last accessed: Oct. 27 2020.  Texas Instruments Inc. 2017. MSP430FR59xx Mixed-Signal Microcontrollers (Rev. F). http:\/\/www.ti.com\/lit\/ds\/symlink\/msp430fr5969.pdf. (March 2017). Last accessed: Oct. 27 2020."},{"key":"e_1_2_2_95_1","volume-title":"And Now for Something Completely Different. https:\/\/www.economist.com\/science-and-technology\/2018\/07\/19\/python-has-brought-computer-programming-to-a-vast-new-audience. (July","author":"Economist The","year":"2018"},{"key":"e_1_2_2_96_1","volume-title":"BFree GitHub Repository. https:\/\/github.com\/tudssl\/bfree. (Oct","author":"Delft Sustainable Systems Lab TU","year":"2020"},{"key":"e_1_2_2_97_1","volume-title":"Proc. OSDI (Nov. 2-4). ACM","author":"Der Woude Joel Van","year":"2016"},{"key":"e_1_2_2_98_1","unstructured":"Matt Weinberger. 2018. How one Woman Turned her Passion for Tinkering into a $33 Million Business---without a Dime of Funding. https:\/\/www.businessinsider.com\/adafruit-industries-limor-fried-on-bootstrapping-a-startup-2015-8. (Aug. 2018). Last accessed: Oct. 27 2020.  Matt Weinberger. 2018. How one Woman Turned her Passion for Tinkering into a $33 Million Business---without a Dime of Funding. https:\/\/www.businessinsider.com\/adafruit-industries-limor-fried-on-bootstrapping-a-startup-2015-8. (Aug. 2018). Last accessed: Oct. 27 2020."},{"key":"e_1_2_2_99_1","volume-title":"ePaper 2.13 Shield. https:\/\/www.wemos.cc\/en\/latest\/d1_mini_shiled\/epd_2_13.html. (2019). Last accessed","author":"Electronics WEMOS","year":"2020"},{"key":"e_1_2_2_100_1","volume-title":"Proc. OSDI (Nov. 6-8). USENIX","author":"Werner-Allen Geoff","year":"2006"},{"key":"e_1_2_2_101_1","doi-asserted-by":"publisher","DOI":"10.3390\/s150715853"},{"key":"e_1_2_2_102_1","volume-title":"Proc. SenSys (Nov. 4-7). ACM","author":"Y\u0131ld\u0131r\u0131m Kas\u0131m Sinan","year":"2018"},{"key":"e_1_2_2_103_1","volume-title":"The Search for a Better Battery. https:\/\/spectrum.ieee.org\/at-work\/innovation\/the-search-for-a-better-battery. (April","author":"Zachary G. Pascal","year":"2016"}],"container-title":["Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3432191","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3432191","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3432191","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T20:47:09Z","timestamp":1750193229000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3432191"}},"subtitle":["Enabling Battery-free Sensor Prototyping with Python"],"short-title":[],"issued":{"date-parts":[[2020,12,17]]},"references-count":101,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2020,12,17]]}},"alternative-id":["10.1145\/3432191"],"URL":"https:\/\/doi.org\/10.1145\/3432191","relation":{},"ISSN":["2474-9567"],"issn-type":[{"value":"2474-9567","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,12,17]]},"assertion":[{"value":"2020-12-18","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}