The Microchip PIC16F73-I/SO is a mid-range 8-bit PIC MCU running at 20 MHz, with 7 KB (4K x 14) Flash program memory and 192 bytes of RAM. It packs 22 I/O lines, a 5-channel 8-bit ADC, two PWM modules, and serial connectivity (I²C, SPI, UART/USART) into a 28-pin SOIC package.
Peripheral set and memory — sizing the application
The 7 KB Flash (4K words) is enough for a single-loop PID controller with a Modbus RTU stack, but tight for a full TCP/IP or USB stack — those need the 16F87/88 family. The 192-byte RAM limits call depth and buffer size; watch the stack usage if you have nested interrupts. The 5-channel 8-bit ADC resolves 5 V signals to 20 mV steps, adequate for potentiometer feedback or thermistor readout but not precision analog. On-chip peripherals include a Brown-out Reset, Power-on Reset, and a Watchdog Timer — these eliminate external supervisor ICs in cost-sensitive designs. The two PWM modules run at up to 20 MHz/4 = 5 MHz base, good for motor drive at tens of kHz switching frequency.
Package and supply — layout checklist
Supply range is 4 V to 5.5 V — this part does not run at 3.3 V; if your rail is 3.3 V, look at the PIC16F73-I/SS (same code, SSOP package, still 5 V only) or step to a 3.3 V-rated PIC. The external oscillator requirement means you need a crystal or clock source on OSC1/OSC2 — no internal RC option on this variant.
