Grasshopper

algorithmic 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: 628
Latest Activity: Dec 12

Firefly Experiments

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.


Key Features

  • Read / Write to Arduino microcontrollers and other devices
  • Visualize Sensor Data within Firefly / Grasshopper
  • Control LEDS, Lights, Motors, Valves and more
  • Control Stepper Motors (for 3d Printers and end effectors) 
  • Stream Web Cams and connect with Mobile Devices (iOS + Android) using OSC and UDP
  • Connect to Internet Feeds and search XML Feeds 
  • Generate code to upload to an Arduino Board
  • Basic sound input and processing tools
  • Datalogging, counting and playback
  • Machine Vision toolkit including edge detection, color filtering, convolution filtering and much more
  • Kinect toolkit including skeleton tracking


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

Writing to SPI/I2C devices through FT232H 2 Replies

Hi all.I'm recently working on a kinetic project involving a number of hobby servo motors controlled by a I2C PWM controller PCA9685. (or some of you refer to the famous Adafruit 16 channel 12-bit PWM/Servo Driver - I2C interface )I realize it would…Continue

Started by Victor Leung. Last reply by KieshaEFrederick Dec 12.

Firefly media types: raw video bitmaps vs ordinary firefly bitmaps. 2 Replies

I have a prerecorded video clip that I'd like to run through the 'optical flow' component to generate an extra layer for my video.using the 'video player' as the input for the 'optical flow' component makes the outcome appear bumpy because the video…Continue

Tags: mediatypes, rawvideobitmap, opticalflow, framerate

Started by Johanna Jõekalda. Last reply by yogamaja Nov 25.

How to Sync with ABB robot controller? 3 Replies

Hey There. A quick question: is there any way to synch Arduino/Firefly with HAL?I have a tool attached to my robot arm and I kinda manually control it through Arduino. I need to use Firefly to parametrically and maybe in almost real time (if…Continue

Tags: IRC5, Arduino, ABB, Firefly, Robot

Started by Mehdi FarahBakhsh. Last reply by GabrielaSullivan Mar 21.

Serial read problem in Firefly 7 Replies

Hi guys,I'm communicating with a 3D printer via Grasshopper / Firefly (and eventually) Silkworm.So far, I can quite happily send G-Code move commands to the printer  - which is a Leapfrog Creatr, based on Arduino Mega / RAMPS electronics - via the…Continue

Tags: GCode, Read, Serial, Firefly

Started by fergal.coulter. Last reply by Aaron Porterfield May 16, 2022.

News

Comment Wall

Comment

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

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

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

Hi Andy

I was trying to post to the firefly discussions...

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

Hi Andy,

I get this when I try to post to the discussions:

Please keep this page open so we can finish uploading your files to the forum.

Meanwhile, feel free to open a new browser window and continue using Grasshopper. 

It just spins and spins... and I can't seem to add to the discussion...

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

Hi Mohammad,

You can control up to 9 Servos using the Uno Write component and you can control up to 34 Servos using the Mega Write component.  If you want to control up to 50 Servos, then you'll likely need to buy 2 Mega boards, or some combination of Megas and Unos.  Again, power will likely be the most important consideration as each of those servos (if they're all going to be driven at the same time) will draw some amount of current, so you need to add up your loads to determine your power requirements.

HTH,

Andy

Comment by Andy Payne on March 26, 2012 at 8:59am

Hi MiChaElLa,

No, I haven't had any troubles loading the discussions.  Is it just on the Firefly discussions?  Or other groups as well?  Is anyone else having trouble like this?

-Andy

Comment by MiChaElLa on March 25, 2012 at 9:15pm

Is it me or does it take forever to load to the discussions?

Comment by Mohammad Azinkia on March 22, 2012 at 4:03pm

Thanx andy for taking your times! Actuly I want to know if we have many servoes about 50, how can we run them by arduino?

Comment by Andy Payne on March 20, 2012 at 2:27pm

Hi Mohammad,

Yes, you can easily drive more than 4 servo motors with a single Arduino Uno.  Basically, the Firefly Firmata takes advantage of the Servo library which is part of the stardard Arduino IDE.  With the Servo library you can control up to 12 servo motors using an Arduino Uno (there is one limitation in that the servo library disables PWM capabilities on pins 9 and 10).  You can find out more about how the servo library works here: http://arduino.cc/en/Reference/Servo

The biggest issue in controlling more servo motors is the amount of power you need to supply to each motor.  It's likely that a single Arduino powered directly from the USB cable will be able to supply enough power to control more than 2 motors.  You will likely need to provide an external power supply that has the proper voltage and amperage specs to properly power your motors.  I don't know which servos your using (and how many) but you should look at the datasheet and determine your power requirements.  Adafruit sells a pretty beefy regulated (switching) power supply which may work for your application (http://www.adafruit.com/products/658).  This one will supply up to 10 Amps of current and 5V regulated voltage.  Does this help?

-Andy

 

Members (628)

 
 
 

About

Translate

Search

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service