algorithmic modeling for Rhino
Firefly offers a set of comprehensive software tools dedicated to bridging the gap between Grasshopper, (a free plug-in for Rhino) the Arduino microcontroller and other input/output devices. It allows near real-time data flow between the digital and physical worlds – enabling the possibility to explore virtual and physical prototypes with unprecedented fluidity.
Firefly offers a set of comprehensive software tools dedicated to bridging the gap between Grasshopper (a free plug-in for Rhino) and the Arduino micro-controller. It allows near real-time data flow between the digital and physical worlds – enabling the possibility to explore virtual and physical prototypes with unprecedented fluidity.
As a generative modeling tool, Grasshopper offers a fluid visual interface for creating sophisticated parametric models, but by default, it lacks the ability to communicate with hardware devices such as programmable microcontrollers or haptic interfaces. Firefly fills this void. It is an extension to the Grasshopper’s parametric interface; combining a specialized set of components with a novel communication protocol (called the Firefly Firmata or Firmware) which together enable real-time communication between hardware devices and the parametric plug-in for Rhino.
A notable distinction for Firefly is that it is the first visual microcontroller programming environment designed specifically for a 3-D parametric CAD package (such as Rhino). This feature means that real-world data, acquired from various types of sensors or other input devices (video cameras, internet feeds, or mobile phone devices, etc.) can be used to explicitly define parametric relationships within a Grasshopper model. Firefly completes the communication feedback loop by allowing users the ability to send information from Grasshopper back to the microcontroller in order to incite specific actuations (ie. lights, motors, valves, etc). Ultimately, this workflow creates a new way to create interactive prototypes.
Hi All,Am trying to do generic serial call/response with firefly and an arduino uno. The intention is to use it later for g-code type read/write.The arduino sketch running is the sample serialCallResponse. In the arduino serial monitor, the feedback…Continue
Started by Lennard Ong Apr 10.
HiI've been searching and have not found a way to do this so yet so any help would be great. My goal is to have 16 stepper motors all connected to Arduino boards and I need to have these connected with reset pins to zero the motors. The problem I'm…Continue
Started by Nathan Barnes. Last reply by Nathan Barnes Apr 3.
I am trying to connect kinect on win7 that is running on my Mac with parallels.Even if it seems that windows recognises Kinect and all, when I run the kinect software it shows no hardware connected, and also if i try to use firefly's skeleton…Continue
Started by Ed Tibuzzi. Last reply by Neel Jain Mar 14.
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 attempts to bridge the gap between the digital and physical worlds by simplifying the prototyping process for interactive objects. It combines a specialized set of components with a novel communication protocol (called the Firefly Firmata, or Firmware) which together enable real-time
feedback between hardware devices such as the well-known Arduino microcontroller and the Rhino / Grasshopper modeling environment. All this happens instantly - so there's no compiling. Your program runs as you build it, making development and prototyping an extremely rapid process.
Leveraging Grasshopper's visual programming interface, Firefly 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. In order to do this, the microcontroller must be programmed, typically using some C++ or Arduino code.
Fortunately, Firefly has an advanced Code Generation feature which translate the spatial representation of your Grasshopper code 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!
Firefly alleviates the hastle of interfacing with external hardware. The Firefly toolset has pre-built components that allow you to connect to many of the most popular hardware devices including data acquisition devices, mobile phones, cameras, game controllers (like the Wii Nunchuck and Microsoft Kinect) and audio interfaces to name but a few.
Firefly has an extensive suite of computer vision, analysis, and effects tools. Integrate video feeds (now with multiple camera support), load individual images (.jpg, .tif, .png, .bmp, etc.), play video files and more. Firefly also includes several filtering, graphic effects, and compositing tools to manipulate live image data. In addition, you can create your own custom filters using convolution kernels. You can also take advantage of computer vision algorithms such as optical flow, gradient vectors, contour vectors, and color analysis to make your next interactive project a visual success.