Device programmers are used to program nonvolatile memory, such as microcontrollers, EPROMs, PLDs, PALs, GALs, and other electrically programmable devices. The programmable device is inserted into a socket on the device programmer and its memory buffer content is transferred into the programmable device.

Programmer types for device programmers can be stand-alone workstation, computer controlled or production unit.  Device capabilities include single-socket programming, gang or set programming, in-circuit programming, eraser, and SIMM and DIMM tester.  Single socket programmers are used to program one device at a time.  Gang or set programmers are used to program several devices simultaneously. A gang programmer can program several devices with same data for all devices.  A set programmer can program several devices with different data for each device.  In-circuit programmers are used to program chips already installed in computer systems, without the need to unplug the chip.  Erasers are chip erasers, such as EPROM Eraser or EEPROM Eraser.  SIMM and DIMM testers are used to test memory chips of the type Single In-line Memory Module (SIMM) or Dual In-line Memory Module (DIMM).

Devices supported by device programmers can be one of many types.  These include Complementary Metal Oxide Semiconductor (CMOS), Programmable Read-Only Memory (PROM), Bipolar Programmable Read-Only Memory (BPROM), Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), FLASH, Programmable Logic Device (PLD), Erasable Programmable Logic Device (EPLD), Complex PLD, Programmable Array Logic (PAL), Generic Array Logic (GAL), microcontrollers, and PIC series of microcontrollers.

Important device performance specifications to consider for device programmers include number of pins, number of sockets, memory buffer, and file format supported.  The number of pins is the maximum number of pins supported.  The number of sockets is the number of devices that can be programmed in parallel.  The memory buffer is the amount of memory embedded in the programmer.  It is used to store temporarily the programmer output.  File formats that can be supported include Intel Hex, Intel Extended Hex, Intel 32-bit Hex, Motorola S-Record, binary, JEDEC, ASCII, and POF.

Some device programmers conform with the American requirements of the Federal Communication Commission (FCC) and with the European CE Marking (Conformite Europeene or European Conformity) system, which is helpful for exports to the countries of the European Economic Area (EEA).  Operating humidity and operating temperature are important environmental operating conditions to consider.