
The Firefly project is an effort to create a very low cost Papilio class board that uses a traditional microcontroller and includes a 16-bit Wing slot and USB, to support the lower end of the Papilio continuum. Firefly boards make use of a special ability of certain Microchip devices to configure pin functions at run-time - what they call "Peripheral Pin Select", or PPS.
New Firefly boards also use the Cypress PSoC microcontrollers devices which not only have configurable pins, but an entire configurable peripheral set and sport the familier 8051 or ARM Cortex-M3 cores.
Firefly boards allow using almost any Wing developed for a FPGA without worrying about a fixed microcontroller pinout. It also makes laying out the PCB easier since pin functions can be defined, one does not need criss-crossing signal lines to meet the microcontroller's pinout.
Some Firefly boards also support Arduino shields that enables developers to use both Arduino and Papilio hardware together.
Thus, the Firefly boards are great to prototype your USB applications and use any peripheral Wing you need.
The first Firefly version is based on Microchip PIC18F24J50 microcontroller that supports a 16-bit Wing slot (or two 8-bit Wing slots) with a full-speed USB interface. It is a very compact board that could be used for small projects like protocol translators (like USB to serial etc) or wired control using USB.
Please visit Firefly v1 project page for more details.
This second version of Firefly uses Microchip PIC18F44J50 and provides a 16-bit Wing slot (or two 8-bit Wing slots), 4 analog inputs and a full-speed USB interface. It also integrates a LED/Button utility Wing, freeing a 8-bit slot used for this essential interface. Firefly v2 can also use the Arduino shield adapter that will allow it to use almost any Arduino peripheral shield.
Please visit Firefly v2 project page for more details.
Firefly v3 using PIC24FJ32GB004 - a 16-bit PIC microcontroller from Microchip is in works. It supports the same form factor as that of Firefly v2.
Firefly v5 and v6 use Cypress PSoC microcontrollers with 8051 or ARM Cortex-M3 cores.