The Firefly User's Guide

This guide is intended to teach you the basics of electronics (using an Arduino and Firefly) as well as various digital/physical prototyping techniques. It is not a comprehensive book on electronics (as there are already a number of great resources already dedicated to this topic). Instead, this book focuses on expediting the prototyping process.

As architects and designers, we make things and build objects that interact with other objects, people, and systems. We’re constantly seeking faster and more inexpensive methods to build prototypes, yet at times we are hindered by practical and time consuming factors that arise in the process of bringing our ideas to life. It is the hope that after reading this book, you will have a better understanding how to create digital or physical prototypes that can interact with the world around them. It’s also supposed to be fun! I know electronics can at times seem a little intimidating, so I try to keep the explanations as simple as possible and provide questions on how to expand on the work in your own unique way.  So, download, plug in, and enjoy the fun!

Getting Started

We're going to assume that you've already installed the Arduino IDE (this is the software needed to upload programs to the Arduino board). Just in case you haven't already downloaded the application yet; you can get a free copy of it here (Win, Mac).

In order to begin working with Firefly, we'll first need to program the arduino to set up all of the pins so that they can communicate back and forth with Grasshopper.  Fortunately, the installer has already copied the necessary arduino sketches into your sketchbook folder which is usually found in: MyDocuments\Username\Documents\Arduino.

Now, launch the Arduino IDE application and open the Firefly Firmata sketch: Go to File > Sketchbook > “Firefly_Firmata”. 

Now, click on Tools > Boards and make sure you have assigned the appropriate board. 

Finally, click on Tools > Serial Port and make sure you have designated the appropriate COM # (these are automatically assigned when you connect your arduino board to your computer). 

You'll want to make a note of the Serial Port number.  We will use this again once we get into Grasshopper.

The only thing that is left is to upload the sketch to the board.  Select the "Upload to I/O Board" button (at top).  Wait a few seconds - you should see the RX and TX leds on the board flashing. If the upload is successful, the message “Done uploading.” will appear in the status bar. You will keep the USB connected to the Arduino - this is how Firefly will communicate with the sensors, motors and LEDS connected to the board.

Congratulations! Your Arduino board is now ready to "talk" to Grasshopper.

The Firefly Firmata configures your Arduino microcontroller so it can send and receive data from Grasshopper.

The Firefly Firmata configures your Arduino microcontroller so it can send and receive data from Grasshopper.

Useful Links