Samy Kamkar’s LED Balloon Network

Writing this in the frigid darkness of a Northern Hemisphere January evening, I have to admit to more than a little envy of Samy Kamkar and his friends. One of their summer events is a private party at a secluded campground somewhere that looks quite warm, which from here seems mighty attractive.

Samy wanted to provide a spectacle for his friends. What he came up with is glowing orbs; LED balloons that would float above the campsite and wow his friends with their pretty synchronised illumination. Thus an adventure in wireless communications, lighter-than-air flammable gasses versus electronics weight calculations, and code optimization began, the details of which were shared in Samy Kamkar’s 2018 Hackaday Superconference talk embedded below.

Ballooning Complexity For A Floating Project

Initial ideas of an LED or two thrown inside a cheap balloon proved to be impractical, as it turns out balloons don’t illuminate very well without significant quantities of light. Samy considered several options and eventually settled upon a line of either the well-known “neopixel” WS2832 or the “dotstar” APA102. At this point the project crossed the threshold from being a quick bit of fun for a party to being a significant engineering challenge: with only a few grams of helium to provide lift the LEDs, controller, and battery would have to meet almost impossible weight standards.

His talk becomes a fascinating look at the various communication options, for example we find that the WiFi protocol originally had a provision for an infra-red physical transport layer, and that an in-balloon microcontroller might be unnecessary were the LED commands to be sent directly over the radio link as a serial stream. Eventually though he chose the cheapest microcontroller he could find, the ATtiny24, and the Nordic NRF24L01 wireless modules. There are interesting points to glean from his explanation of NRF24L01+ networking, how each balloon can be given its own address as well as the whole constellation having a broadcast address.

The choice of batteries for a power-hungry string of LEDs became a problem, limited by the constraints of what can be lifted by a helium balloon. The humble AA battery for example may have astounding bang-for-buck in power terms, but is a surprisingly weighty prospect. An unexpectedly simple solution came with the balloon being tethered by a wire supplying 48V power to a small buck converter board.

If World Events Won’t Give You A Lift, Make Your Own

Making your own hydrogen certainly leads to interesting experiences!
Making your own hydrogen certainly leads to interesting experiences!

Surprisingly he even looked further at the lift gas, deciding helium might be a little expensive due to a dispute between Gulf neighbours threatening world supplies. It’s not every day we write about somebody making their own hydrogen as a lift gas, but he tried it before deciding the prospect of fire and unwanted chlorine as a side effect just wasn’t worth it.

Finally we are taken through all the pain of writing the code to fit in the ATtiny24’s meagre memory, with some excellent tips on optimising ATtiny assembler. The tether wires were assembled on-site after disastrous tangles in trials, and the software was controlled through TouchDesigner by a Thalmic Myo gesture sensor. Early tests were run, before it was time to head for the campsite to try it for real. The culmination of the talk is a video showing the balloons in action, giving us even more hankering for the summer.

The talk as a whole is of course about much more than sticking a few LEDs in balloons. LED projects are ten a penny, and in a sense the LED portions of this one are not particularly special. What makes this talk special is the detail into which he went to solve the unusual engineering problems presented by the constraints of the inside of a balloon as his platform, as well as the entertaining dead-ends such as the hydrogen experiments that he was prepared to travel down. Expeditions in engineering such as this are what makes the Hackaday community special, and we consider ourselves privileged to report upon them.

8 thoughts on “Samy Kamkar’s LED Balloon Network

  1. Way cool walkthrough. Congrats to whole team. Came out awesome.
    List o links:
    https://www.derivative.ca/099/Downloads/ h -touchdesigner (free for personal use)
    https://github.com/samyk/bgrid -collection of software and touchdesigner files for LED networked balloon display.
    https://samy.pl/ – phreaks and hacks. Didnt see anything directly related to this project.
    Forum required sillyness:
    What no NE555 timer?
    Should have LIDAR gyroscope and accelerometer with appropriate control surfaces and thrusters to keep balloon array uniform/inline and could add controlled animation to display. Tether manipulation option for dancing balloons possibly. Squeeze it all into ONE ATTiny per unit balloon.
    Not seeing a Raspberry PI 3 here.
    Thx.

  2. If I were in his shoes I would have tried to implement an accelerometer so that if a breeze rolls through the lights would change their color based on how much acceleration they detect. I would implement it two modes.

    One where the color changes only when the balloons move but doesn’t go back to the original color, instead smoothly cycling through the rainbow. As each balloon gets varying amounts of movement the colors would diverge untile it was completely random.

    The second mode would change the color from blue-green-red based on how much acceleration is detected and returning to blue when no motion was detected. Maybe do this mode with a tilt sensor instead. This way you could visualize the motion of the air above you.

  3. The production of chlorine at the electrolysis is easily avoided with another electrolyte. Just don’t use hydrochloric acid or chlorides like table salt. Sulfuric acid or NaOH works, probably also Na2CO3 (soda) or NaHCO3 (baking soda).

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.