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: on Sunday

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 Emanuele Calabrò on September 25, 2014 at 2:14pm

Hello everyone,
I am a neophyte arduino and firefly. I'm using a simple sensor for measuring the temperature and its associated script, so not a script Firmata, I use FF for reading data, but when I use the Serial Read I can not see the data, I get the message "Data failed conversion from TEXT to NUMBER "

Can you help?

Comment by mal on July 23, 2014 at 7:31am

hello 
I am currently new in firefly and I am tring to connect an azteeg board (creat for 3d printer) to firefly but I have some trouble to find the way to find and conect the good pin the firefly plug in seems to be design to work with arduino uno board or mega how can I conect my azteeg x1 board to firefly and send some information to the sevro motor, activate the fan or controle the power of the heat of the hot end with the sensor. if you have somes clue or you now some other works feel free to respond.

thanks for this great plug-in 

Comment by jorge sainz de aja on July 14, 2014 at 9:01am

http://youtu.be/MmgDgJQkxSA

Origami - grasshopper + arduino

Comment by Guido Maciocci on May 5, 2014 at 1:33am

Andy, some progress... 

I found your question on the Leap dev forums which pretty much outlined the same problem. 

So now, i moved the relevant .dll's to the same folder as the python script i'm running in Rhino Python. 

I use clr.addreference to add the LeapCSharp.NET3.5.dll and append the \\leap\\lib folder to sys.path to reference the libraries. 

Now i can add a controller, and a listener no problem. As soon as I try to poll a frame....rhino crashes!

Comment by Guido Maciocci on May 4, 2014 at 11:56pm

Hi Andy, 

I have a particular question related to the Leap Motion controller and its intergration with Rhino Python rather than a question specific to Firefly (sorry, but i don't know where else to post this). 

I am writing some python scripts based on the leap API to certain things in Rhino using the controller. As proof of concept scripts they are currently working outside of Rhino and I would like to begin integrating them via Rhino Python and Rhinocommon. 

My problem is that I am unable to get Rhino Python to speak to the controller, in that i keep receiving the following error:

"The type initializer for 'Leap.LeapPINVOKE' threw an exception"

Now, as far as I have managed to research, this error is usually related to the referencing of the wrong type of Leap libraries (x86 or x64). 

I have copied the Leap SDK .dll's into the same folder as the script I am trying to run. I have also included LeapCSharp.NET4.0.DLL, Leap.py and Leap.pyc. 


The only way i can get the Leap module to load is by adding a clr.AddReferenceToFileAndPath pointing to LeapCSharp.NET4.0.dll assembly and appending the leap\lib forlder to sys.path. 


The Leap module imports but I get the PINVOKE error regardless of the x86 or x64 libraries I include in the folder. 

I managed ONCE to import the module and run the leap Sample.py script but I can't remember how I did this. Also, when it ran, it did not print any Leap data to the console and Rhino tended to crash on running the script. 

Would you or anyone else have any advice to point me in the right direction?

Thank you so much for your help, 

Guido

Comment by jorge sainz de aja on April 3, 2014 at 7:55am

thanks andy, finally I bought a Arduino starter Kit with UNO, if everithing goes fine, then level up ;)

Comment by Andy Payne on April 2, 2014 at 8:40pm

Hi Jorge,

As far as I know, it should be compatible with Firefly... but I haven't run specific tests on it.  However, my understanding of the RedBoard is that it is almost identical to the Uno (and/or Duemilanove) both of which work just fine with Grasshopper.

HTH,
Andy

Comment by jorge sainz de aja on April 2, 2014 at 12:22pm

is firefly Compatible with SparkFun RedBoard???????????????????

Comment by Andy Payne on March 27, 2014 at 8:52am

Thanks Simon!  

Comment by Simon Lullin on March 27, 2014 at 4:25am

Feedback time (sorry for my poor english)

Firefly is awesome, everything works just great...

For example the UDP reciever... I stream whatever for a data from my android phone and it works brilliantly. With gHowl just took ages and still not working. Kinect function are perfect. Really, a world with made out of stuff like Friefly would be a world wher I would be happy to live!

Arduino is working perfectely, in all ways.

I hope one day we will get full resolution for cameras (kinect, webcam or whatever)

Keep doing what you are doing, it's brilliant

Simon

 

Members (626)

 
 
 

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service