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: 626
Latest Activity: Mar 23

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

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.

Writing to SPI/I2C devices through FT232H 1 Reply

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 DanaHill Aug 1, 2022.

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.

problem while reading/writing 2 Replies

I hawe a problem with writing/reading data in Firefly.I thought it is mine problem with board, but cant understand this stuffContinue

Started by Philipp. Last reply by Jame jim Apr 5, 2022.

News

Loading… Loading feed

Comment Wall

Comment

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

Comment by Andy Payne on January 23, 2013 at 9:39pm

Hi Miguel,

The IsKeyPressed component makes use of the built in User32.dll Microsoft library (http://en.wikipedia.org/wiki/Microsoft_Windows_library_files)  Once this library is imported into the project, you can tap into key events (and potentially other events... although I'm not sure this is entirely necessary for mouse events... Grasshopper is already doing some stuff for mouse events).  

Comment by Miguel Vidal on January 23, 2013 at 3:34pm

Hello! As there is a keyPressed component, is there other one for mousePressed?

what windows functions are you using for this tools in case I would need to use them in a script?

thanks!

Comment by philipp hornung on November 22, 2012 at 5:15pm

yes, as far as i read thru the documentations.. it should work as well.

sorry.. you are rigth.. new thread.

Comment by Andy Payne on November 22, 2012 at 5:10pm

No.  Unfortunately, I haven't tried that particular driver.  But as far as I know, it should work with the Firefly Quad Stepper sketch.  Are you still having difficulty?  BTW, it might be best to start an actual discussion thread (above) instead of on the general message board... that way we can track the entire conversation.

Comment by philipp hornung on November 22, 2012 at 5:07pm

andy,

btw.. do you got experience with the polulu stepper driver? ;)

Comment by philipp hornung on November 22, 2012 at 4:59pm

hi andy,

great.. now it seems to work!

..and the upload worked too! thanks mate! :)

but unfortunately my setup is still not working.. wondering why...

have to check the polarity of the steppers... hmm..

but thank you so far andy!

will post something if i manage to get it workin..

best

philipp

Comment by Andy Payne on November 22, 2012 at 3:40pm

Hi Phillip,

No, I do not think it has anything to do with the Code Generator (in your last image).  The code generator is unnecessary unless you want the arduino to run autonomously (and not connected to your computer).  As long as your board is connected to the computer via a USB cable, then we can send serial information back and forth.... so we can just use Firefly natively through Grasshopper.

I think the main issue is uploading the code onto your board.  Nothing will work properly if the Quad Stepper sketch isn't loaded onto your board.  In looking at the screenshots you've posted, it looks like all of the Firefly sketches (including the Firefly Firmata, Quad Stepper Sketch, and Wii Sketch) are located in your libraries folder.  However, these should be placed in the root Arduino folder (in MyDocuments/Arduino)... not inside the libraries folder.  You still need the libraries folder there, and in that folder should be the Accel Stepper library... but the Firefly sketches should be placed in the root sketchbook folder.  I'm not exactly sure if this is what's causing the issue... but when you open the Quad Stepper sketch, you shouldn't see the other tabs (AccelStepper and FireflyFirmata) like it does in the original screenshot you posted.  I think it's trying to load these sketches as well, and causing a conflict.  Try the suggestion above and let me know if that fixes your problem.

HTH,

Andy

Comment by philipp hornung on November 22, 2012 at 1:49pm

..thats outlined while trying to run firefly's quadstepper definition:..any clue?

thank you!

Comment by philipp hornung on November 22, 2012 at 1:23pm

hi andy,

thank you for your quick reply!

yes, i had installed the accelstepperlib..

what else could it be.. any idea?

thank you

Comment by Andy Payne on November 22, 2012 at 1:02pm

Hi Phillip,

Have you installed the Accel Stepper library?  There is a ReadMe.txt file included in the Stepper folder which explains how to do this.

 

Members (626)

 
 
 

About

Translate

Search

Photos

  • Add Photos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service