Grasshopper

generative modeling for Rhino

Information

Firefly

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.

Website: http://www.fireflyexperiments.com/
Location: Cambridge, MA
Members: 326
Latest Activity: on Sunday

Firefly Experiments

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.

Discussion Forum

Missing components in Firefly .. 1 Reply

Hi, I guys I have lately realised that my components are missing Can anyone help me…Continue

Started by Shridhar Mamidalaa. Last reply by Andy Payne on Saturday.

Portland, OR - Grasshopper/Firefly Workshop

PORTLAND, OR | UNIVERSITY OF OREGON | RESPONSIVE SURFACES…Continue

Tags: Workshops, Firefly

Started by Andy Payne Jun 7.

Reading multiple analog sensors in firefly/grasshopper 1 Reply

Hi guys,Im having trouble reading data from multiple sensors attached to the arduino board (light sensor, sound pressure sensor and sound/piezo sensor as laid out below). …Continue

Started by Amy Roberts. Last reply by Andy Payne May 29.

Remembering values with rotary switching 10 Replies

Hi Everyone.I am using a rotary switch with firefly that sends values to a stream gate. I want to remember the last set of data sent via the stream after switching. Can VB scripting do this? In the image below stream 1 is reading data but stream 2…Continue

Tags: gate, stream, switching, firefly

Started by Scott Mayson. Last reply by Andy Payne May 14.

News


Drag & 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 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.


Advanced Code Generation


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!

Connect to Physical Devices​ in Real-Time

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.


Computer Vision Tools


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.

Comment Wall

Comment

You need to be a member of Firefly to add comments!

Comment by Carlos B.M. on August 2, 2012 at 1:38pm

Ok Andy!! thank you very much for your suggestions, any way I changed my strategy, and I have used an other arduino board in the computer of my partner, to save up time. I will check forward these steps to try to knwo What-the-Fck is going on with mine!

Thanks for all!!

Comment by Andy Payne on August 1, 2012 at 2:44pm

Hi Carlos,

For future reference, it's probably better to start a discussion (above) for more detailed questions... that way we can start a thread about the topic and track any questions all the way through.  Nevertheless, the description of your problem makes me think that for some reason the data being sent from your arduino isn't being formatted correctly, and thus the Uno Read component is throwing an error when the incoming data doesn't match the expected format.  You may have already tried this, but can you double check that you have loaded the Uno Firmata properly onto your board.  You might have loaded the Mega Firmata onto your Uno board, in which case it may not be sending the right data over to Grasshopper.  To see if the firmata is working properly, load it onto your board and then launch the serial monitor in the Arduino IDE (make sure your port is closed in Grasshopper and that the serial monitor baud rate is set to 115200).  You should see a long string of data (separated by commas) streaming down the page.  That is the string of data that is being sent over to Grasshopper... so if this is working properly, then you should be able to open the port in Grasshopper and then use the Uno Read component to retrieve that data and parse it up.  

If this doesn't work, could you post a screen shot of your circuit, or provide more information about what type of sensor you are using?  You mentioned a sound sensor (is that a microphone?).  Hopefully we can figure this out before your deadline (although I'm currently out of town and do not have regular access to my computer... so I may be a little less responsive than usual).

Cheers,

Andy

Comment by Carlos B.M. on August 1, 2012 at 10:28am

Hi!!!

I'm having problems With the "UNO READ": it 's red all the time and no data is collected. I can "Write" and control manually some Leds,  but not through the data collected by my sensors. I have developed an equalizer definition, And I need to control it With a sound sensor.

Even When I change the position of the USB in other sockets, always recognize that I'm using COM 3. Is this normal??

I hope you could help me to make it work, before Friday! It's my project delivery day.

Thanks,

Carlos

Comment by Mohammad Azinkia on March 28, 2012 at 3:36am

Thanks andy!

Comment by ryles on March 26, 2012 at 9:40pm

@Andy... this is really odd. it didn't work with my laptop's camera, plug in the PS Eye, and the laptop camera then works and it doesn't use the PS Eye.  Tried disabling the laptop camera and it stopped capturing.  No complaints, just thought i'd share that oddity. Main thing is, I can get it working now!

Comment by ryles on March 26, 2012 at 9:11pm

@ Andy... Got it working flawlessly with my PS Eye, guess my laptop's webcam is bunk.

Thanks for your help and the plugin!

Comment by Danny Boyes on March 26, 2012 at 9:32am

I don't actual use Firefly that much I just joined the group to give you my insight on the uploading issue. I would suggest you start a discussion and use a website like Mediafire.com to upload your files to then you can post the links in the discussion.

---

In the interest of neutrality I would like to say that there are other file uploading websites available :))

Comment by MiChaElLa on March 26, 2012 at 9:19am

Thanks for the info. I am using chrome as well. I'll email them. Perhaps in the mean time I can ask via the comments? or message you? what I am having issues with? Thank you.

Comment by Danny Boyes on March 26, 2012 at 9:18am

@ MiChaElLa,

I sometimes get this when I have the file open that I'm trying to load. As soon as I get the message and then go and close the image or gh file it completes.

I use Chrome as well.

Comment by Andy Payne on March 26, 2012 at 9:14am

Hi MiChaElLa,

This sounds like a NING issue (the provider for the Grasshopper forum). What browser are you using?  I typically use Chrome and haven't had any issues, but I feel like I've had some problems in the past with other browsers.  Have you tried emailing the NING Technical support, or even Scott Davidson from Rhino (who setup the forum)?

-Andy

 

Members (326)

 
 
 

Translate

Search Grasshopper

Photos

  • Add Photos
  • View All

© 2013   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service