With a programmer, you can connect microcontrollers, such as those on an Arduino board or ESP microcontrollers, and upload a program. Generally, you connect a programmer to a USB port on a PC or Mac. There are also Arduino shields that allow you to program microcontrollers.