It is a type of device manufactured by Atmel. "The AVR chip runs whatever program is stored in the flash, uses the RAM for temporary storage and the EEPROM for longer term storage. The kinds of microcontrollers discussed here run at 10MHz, have 1KB of RAM and 10KB of storage." from ladyada
"The FabISP is an in-system programmer for AVR microcontrollers, designed for production within a FabLab. That is, it allows you to program the microcontrollers on other boards you make, using nothing but a USB cable and 6-pin IDC to 6-pin IDC cable. It's based on the USBtiny and V-USB firmwares, which allow the ATtiny44 to perform USB communication in software. Programming can be done through avrdude. The schematic (PDF) is super simple: USB connector, ATtiny44, and 6-pin ISP header, with assorted passive components. I started with the Eagle files for the USBtinyISP, although there's almost nothing left of it. Most of the parts for the FabISP are in the FabLab inventory. Exceptions include the Mini-B USB connector (SparkFun, Digi-Key), 12 MHz crystal (Digi-Key), and 18 pF capacitors for the crystal (Digi-Key)."
Alternative Design from Valentin Heun that I will try later
A program is a series of instructions, each very simple, that fetch and manipulate data. For microcontrollers, binary files end in .hex. The compiler will generate a .hex file from the human-readable code I write, and then all I need do is transfer that .hex program to the chip through a programmer that acts as a translator between my laptop and the board!