Un Programador es un dispositivo electrónico que configura circuitos programables no volátiles tales como EPROM, EEPROM, Flash, PALs, GALs, FPGA u otros.Para programar un dispositivo, este es insertado en un zócalo (comúnmente ZIF) del programador, o se conecta su circuito impreso mediante un adaptador.Los datos se transfieren de distinta forma según la interfaz, ya sea serial (JTAG, SPI) o paralela.Los programadores suelen estar conectados a una computadora que corre un software de programación.El mismo configura la interfaz, comienza la programación y transfiere los datos (usualmente contenidos en un archivo Intel HEX o SREC).