Untethered Firefly Synchronization

This was my senior year Science and Engineering fair project! This project also served as a self driven engineering capstone project of my highschool experience. We placed 10th at my high school fair and earned a citation from the Massachusetts House of Representatives, 5th at the region 4 fair, qualifying for the Distrigas awards banquet, and 2nd place tier at the Massachusetts state fair held at MIT, placing 3rd Engineering overall. Please see the video for our full presentation, and the videos below for demonstrations of the technology in action.

Introduction/Rationale:
Large groups of fireflies have been observed to synchronize their blinking in their natural environment. This behavior is seen across distinct species of fireflies, the most well known being Photinus carolinus and Pteroptyx malaccae. Fireflies possess limited visual range, and yet are able to synchronize across large swarms made up of thousands of insects. Last year we modeled this phenomenon using a hardwired network of interconnected arduinos. Using the skills and intuition gained through this experience, we plan to develop a new untethered system for use in various further applications. Firefly synchronization as a strategy is distinctive in that it facilitates the synchronization of events in a system strictly without the need for a dedicated clock. This is useful in situations where events need to be synchronized to each other, but have no need for absolute timings and the added complexity to the system that comes with it.
Several other groups have developed wireless synchronization systems inspired by fireflies, but our specific goal is ultimately to construct a versatile and low cost platform to trigger synchronized events.

Engineering project goal:
We will develop an entirely new platform as a conceptual extension of our previous work. This new platform will consist of untethered Arduino modules, each acting as a firefly in a swarm to achieve systematic synchronization. If time permits, we will then implement this system in a variety of settings.

Procedure:
Each Arduino models a “firefly” in a firefly swarm. Each module will send out pulses on a designated “intrinsic period,” self correcting to whichever pulses it hears in order to achieve systematic synchronization.
The modules will be designed to be as flexible as possible, so no synchronization start button or other controls need be placed on the system. A characteristic of this new system is that there will be no defined structure to the communications, and the relationships of the fireflies will be effectively random. This complicates the algorithm requirements as the number of input signals to each firefly is variable.
The individual firefly arduinos will each be loaded with the exact same program that has been written in the Arduino Integrated Development Environment (IDE). The arduinos each then adjust their behavior based on the behavior of their neighbors.
The only safety risk identified is a low risk of fire hazard and electric shock caused by powering the arduinos over battery. Care will be taken to follow manufacturer instructions on proper storage and charging of batteries and low voltages will be used.

Materials:
At least 6 Arduino Megas. The Arduino Mega is a versatile microcontroller which should have all the capabilities necessary for this project. These will be reused from last year’s project, keeping costs low.
Arduino specs include:
  • Operating Voltage 5V
  • Input Voltage (recommended) 7-12V
  • Input Voltage (limits) 6-20V
  • Digital I/O Pins 54 (of which 15 provide PWM output)
  • Analog Input Pins 16
  • DC Current per I/O Pin 40 mA
  • DC Current for 3.3V Pin 50 mA
  • Flash Memory 128 KB
  • SRAM 8 KB
  • EEPROM 4 KB
  • Clock Speed 16 MHz
Each Arduino uses:
  • 1 Battery
  • 1 LED
  • 1 RF transceiver (or other communication module)
The arduinos will be untethered and thus can be simply laid out on a table, or attached to an implementation project.

Data Collection and Analysis:
In order to gain swarm data from the system, a “sponge” module will be constructed to listen for any pulses and output them to a serial monitor. By pulling data from multiple fireflies in the swarm we will be able to achieve an improved understanding of the state of synchronization of the swarm. This data will then be plotted to observe the spread and trends of the data, as well as perform statistical analyses, and thus see how tightly the swarm can synchronize.

Works Cited:

Andrew Moiseff And. (1994). Mechanisms of Synchrony in the North American Firefly Photinus Carolinus. Journal of Insect Behavior, 8(3), 7. Retrieved from http://pnbfiles.uconn.edu/PNB_Base/about/staff/facultysites/moiseff/Moiseff_Copeland_JIB_1995.pdf

Synchronous Fireflies - Great Smoky Mountains National Park (U.S. National Park Service). (n.d.). Retrieved January 2, 2017, from https://www.nps.gov/grsm/learn/nature/fireflies.htm

Anders Lyhne Christensen. (2012). Synchronization and Fault Detection in Autonomous Robots. Youtube. Retrieved from https://www.youtube.com/watch?v=FTYES3rjd2A

Jakimovski, B., Meyer, B., & Maehle, E. (2010). Firefly Flashing Synchronization as Inspiration for Self-synchronization of Walking Robot Gait Patterns Using a Decentralized Robot Control Architecture. In C. Müller-Schloer, W. Karl, & S. Yehia (Eds.), Architecture of Computing Systems - ARCS 2010 (pp. 61–72). Springer Berlin Heidelberg. https://doi.org/10.1007/978-3-642-11950-7_7

Firefly04205326.pdf. (n.d.). Retrieved from http://www.decom.fee.unicamp.br/~cardieri/NotasDeAula_IE308/Firefly04205326.pdf

Tyrrell, A., Auer, G., & Bettstetter, C. (2006). Firefly synchronization in ad hoc networks. Proc. MiNEMA Workshop. Retrieved from http://www.rlocman.ru/i/File/2007/10/24/2006_WSL_Firefly_Synchronization_Ad_Hoc_Networks.pdf

Wilensky, U. (1997). NetLogo Models Library: Fireflies. Retrieved January 2, 2017, from http://ccl.northwestern.edu/netlogo/models/Fireflies

alex_weber. (2008, September 12). Synchronizing Fireflies. Retrieved January 2, 2017, from http://www.instructables.com/id/Synchronizing-Fireflies/

Benyus, J. (n.d.). CBID An Interview with Janine Benyus. Retrieved from http://www.cbid.gatech.edu/biomimicry_defined.html

Jimb. (n.d.). Serial Communication. Retrieved January 2, 2017, from https://learn.sparkfun.com/tutorials/serial-communication

Arduino - Arduino Mega. (2017). Retrieved January 2, 2017, from https://www.arduino.cc/en/Main/arduinoBoardMega

Arduino - Reference. (2017). Retrieved January 2, 2017, from https://www.arduino.cc/en/Reference/HomePage

National Park Service. (2016). Synchronous Fireflies. National Park Service. Retrieved from https://www.nps.gov/grsm/learn/nature/fireflies.htm

Strogatz, S. H., & Stewart, I. (1993). Coupled Oscillators and Biological Synchronization. Scientific American, 102–109. Retrieved from http://www.uvm.edu/pdodds/files/papers/others/1993/strogatz1993a.pdf

Buck, J., Buck, E., Case, J. F., & Hanson, F. E. (1981). Control of Flashing in Fireflies. Journal of Comparative Physiology. A. Retrieved from http://people.math.gatech.edu/~weiss/uploads/5/8/6/1/58618765/buck_control_of_flashing_in_fireflies.pdf

University, C. (n.d.). Synchronized Flashing in Fireflies. Retrieved from http://people.scs.carleton.ca/~arpwhite/courses/95590Y/notes/SI%20Lecture%2023a.pdf

lightning bug run. (2010). Retrieved December 2, 2017, from https://lightningbugrun.files.wordpress.com/2010/12/firefly.jpg

Buck, J., & Buck, E. (1968, March 22). Mechanism of rhythmic synchronous flashing of fireflies. Fireflies of Southeast Asia may use anticipatory time-measuring in synchronizing their flashing. Retrieved May 31, 2017, from https://www.ncbi.nlm.nih.gov/pubmed/5644256

Hong, Y., & Scaglione, A. (2004, March 03). Time synchronization and reach-back communications with pulse-coupled oscillators for UWB wireless ad hoc networks. Retrieved May 31, 2017, from http://ieeexplore.ieee.org/abstract/document/1267830/?part=1

Moiseff, A., & Copeland, J. (2010, July 09). Firefly Synchrony: A Behavioral Strategy to Minimize Visual Clutter. Retrieved May 31, 2017, from http://science.sciencemag.org/content/329/5988/181

Moiseff, A., & Copeland, J. (1994, June 20). Mechanisms of synchrony in the North American fireflyPhotinus carolinus (Coleoptera: Lampyridae). Retrieved May 31, 2017, from https://link.springer.com/article/10.1007%2FBF01989367?LI=true

Werner-Allen, G., Tewari, G., Patel, A., Welsh, M., & Nagpal, R. (2005). Firefly-Inspired Sensor Network Synchronicity with Realistic Radio Effects. Retrieved May 31, 2017, from https://www.eecs.harvard.edu/ssr/papers/sensys05-werner.pdf