Drag and Drop Programming
Using Grasshopper's visual programming interface, Firefly gives you the ability to create interactive programs and devices by manipulating elements graphically rather than by specifying them textually. It gives you the ability to quickly mock-up and prototype ideas for interactive objects and devices. It achieves this mostly by sending data back and forth over the serial port really quickly. But, what if you want your device to stand-alone... meaning you don't want to be tethered to your computer by a pesky USB cable?
Advanced Code Generation
Fortunately, Firefly has an advanced Code Generation feature which translate the visual representation of your Grasshopper graph directly into Arduino compatible code. And it does this all on the fly. Now, you don't need to worry about writing all of that code yourself. Simply, prototype your design as you normally would, and the Code Generator will work in the background writing all of the code necessary to make your design come to life!