Synchronizing Fireflies NG

[Alex] from Tinkerlog has revisited an old project with Synchronizing Fireflies NG. Fascinated by how fireflies blink at same rate and synchronize with each other, he built a digital version. Each board has an RGB LED and a phototransistor or photoresistor. A ping-pong ball is used as a diffuser. The blink rate is controlled by an ATtiny13v. The board power can be daisy chained, but each firefly mote operates independently of the others. The microcontroller has a fixed flash rate and monitors for other flashes. It attempts to sync by flashing earlier. The color of the LED expresses how satisfied the firefly is with its current sync. You can see a video of eight fireflies attempting to self organize embedded below.

9 thoughts on “Synchronizing Fireflies NG

  1. This is a beautiful hack, both aesthetically and technically. I wonder whether this technology can be used to make the battery powered warning lights at roadworks flash if a running lights sort of fashion rather than disturbing random patterns

  2. Or you could skip lights altogether and use radio in a wireless sensor mesh type application, leave the radios off most of the time, power them on in unison once in a while to talk, using this to synchronize it.

  3. This could also make for some interesting lighting setups, perhaps instead of trying to sync they are all always on between 50%-100% changing color, trying to get to each others color, I can imagine about 320 on a ceiling, no only responding to the color and intensity of nearby units but to the sounds being made in the room. I can imagine clapping could have a very rapid ripple like effect in bigger rooms, and if people get angry and start shouting then everything goes bright red.

    Dude sometimes I wish I had the skills and patience to implement something like that.

  4. this is pretty neat. btw you can get ldr’s from broken road light pcbs :)

    if you can’t get the correct diodes its possible to make a tripad arrangement with RGB 3mm LED’s, and it should still work.

    i like the ldr-under-led trick, its pretty ingenious.


  5. I like, but I’m unsure as to the biological plausibility of the setup. Making the firefly flash *sooner* seems quite tricky since afaik they just flash as soon as they have built up enough *insert what they build up here*.

    Sorry it’s been a while since I studied them :)

    I have coded a few and the biological idea we based them on was that when a firefly sees a lot of light it resets its cycle without flashing. This works extremely well, though causes some interesting interactions.

    @bill it is used to synchronize amorphous collections of clocks on small distributed systems.

    @dandin1 you could leave them listening in for just the power of broadcast at any one time, that should only take a very low powered circuit.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.