Illustration: A customer holds a long part with leads in rows on both sides (PIC16F877A-I/P) in one hand and a flat square part with leads on all four sides (PIC16F877A-I/PT) in the other, and asks, “The names are identical, so they're the same, right?” A female staff member in a red apron answers, “Look after the slash. /P is the through-hole PDIP, /PT is the flat TQFP!”
Microchip microcontrollers come in two main families: PIC and AVR. Even for the same chip, the order code can end in many ways, such as PIC16F877A-I/P · PIC16F877A-I/PT · ATmega328P-AU · ATmega328P-PU, and the suffix letters mostly indicate the temperature grade, the package (body shape) and the packing (tube · tray · reel).
This post is based only on the Product Identification System (PIC · new AVR) and Ordering Information (older Atmel AVR) sections of Microchip datasheets. Older Atmel-style AVR datasheets have no letter-by-letter breakdown diagram, so what we read by matching the order tables is marked [Inferred].
This post covers only Microchip 8-bit microcontrollers (PIC · AVR). ST's STM32 part numbers are covered separately.
https://eguro.kr/en/board/view.html?b=library&id=87
If package names such as PDIP · SOIC · TQFP · QFN are unfamiliar, read the package post first.
PIC datasheets all use the same template “PART NO. X /XX XXX” — device → temperature → package → pattern. T goes before the hyphen, right after the device name (PIC12F675T-I/SN). If three more digits follow at the very end, as in PIC16F873A-I/P 301, that is a QTP pattern number for factory-programmed parts; ordinary part numbers do not have it (DS39582C · DS41190G).
The meaning of the numbers in PIC12 · PIC16 · PIC18 or of numbers such as 877 · 675 is not given in the Product Identification System, so this post does not interpret them.
| Letter | Temperature range | Name | Found in datasheet |
|---|---|---|---|
| (none) | 0~70℃ | Commercial | Old PIC16F877 only |
| I | −40~85℃ | Industrial | All PIC · AVR128DA |
| E | −40~125℃ | Extended | PIC12F675 · PIC18F4550 · PIC16F18446 · AVR128DA |
The temperature field in the PIC16F87XA datasheet (DS39582C p.231) has only I (−40~85℃). If a customer asks for a “125℃ version of the 877A”, no such order code exists in this datasheet. Conversely, for chips that do have E, such as PIC12F675-E/P, I and E are different part numbers, so check with the customer first before shipping E where I was used, or vice versa.
| Letter | Package | Example |
|---|---|---|
| P | PDIP (through-hole) | PIC16F877A-I/P · PIC12F675-I/P |
| SP | Skinny PDIP (300mil wide) | PIC16F876A-I/SP · AVR128DA28-I/SP |
| SO | SOIC — wide body 7.50mm | PIC16F18446-I/SO · AVR128DA28-I/SO |
| SN | SOIC 8-pin — narrow body 3.90mm | PIC12F675-I/SN |
| SL | SOIC 14-pin — narrow body 3.90mm | PIC16F18426-I/SL |
| SS | SSOP (5.30mm) | PIC16F18446-I/SS · AVR128DA28-I/SS |
| ST | TSSOP 14-pin (4.4mm) | PIC16F18426-I/ST |
| PT | TQFP (leads on four sides, flat) | PIC18F4550-I/PT · AVR128DA48-I/PT |
| ML | QFN (leadless square) | PIC16F877A-I/ML |
| L | PLCC | PIC16F877A-I/L |
| MF · MD | 8-pin MLF-S · DFN 4x4 | PIC12F675-I/MF |
| JQ · GZ | UQFN 16-pin · 20-pin 4x4 | PIC16F18446-I/GZ |
Package names and widths are the values given in each datasheet's Product Identification System and package drawing titles (DS39582C · DS41190G · DS40001985C · DS40002183E). Each datasheet lists only the letters it uses, so check any unfamiliar combination in that chip's datasheet.
All three are “SOIC”, but the body widths differ. SO is the wide body (Wide, 7.50mm · 300mil), and SN · SL are the narrow body (Narrow, 3.90mm). The PCB footprints are different, so they are not interchangeable. If a quote sheet just says “SOIC”, check the letters after the slash as well.
| Part number | Packing |
|---|---|
| PIC16F18446-I/SS | Tube (no T) |
| PIC16F18446T-I/SS | Tape and reel |
| AVR128DA48-I/PT | Tray (no T) |
| AVR128DA48T-I/PT | Tape and reel |
Newer datasheets (DS40001985C · DS40002183E) state “Blank = Tube” / “T = Tape & Reel”, and a footnote says “is not printed on the device package” — T is not printed on the chip. So you cannot tell from the chip alone whether it came from a reel; check the part number on the reel label.
Older datasheets restrict which packages can take T. For PIC16F877A it is “SOIC, PLCC, TQFP packages only”, and for PIC18F4550 “TQFP packages only”. Part numbers with T on PDIP (/P) do not appear in these datasheets.
| Datasheet | F voltage | LF voltage |
|---|---|---|
| PIC16F877A (DS39582C) | 4.0~5.5V | 2.0~5.5V |
| PIC18F4550 (DS39632E) | 4.2~5.5V | 2.0~5.5V |
| PIC16F18446 (DS40001985C) | 2.3~5.5V | 1.8~3.6V |
On older PICs, LF is the version that goes down to a lower voltage than F (PIC18F4550 datasheet: “LF = Wide Voltage Range”). The upper limit is the same 5.5V as F.
Page 2 of the PIC16F18446 datasheet lists PIC16LF18446 as 1.8~3.6V and PIC16F18446 as 2.3~5.5V, and states that LF has “lower maximum VDD and I/O voltage than the F devices”. If you follow the old habit of “LF is wide-voltage, so it can replace F”, you end up shipping LF into a 5V circuit. Treat F and LF as different part numbers and always check the voltage range in that chip's datasheet.
| Old PIC16F877 | PIC16F877A | |
|---|---|---|
| Order code example | PIC16F877-20/P | PIC16F877A-I/P |
| Frequency field | Yes 04 · 10 · 20 (MHz) | None |
| Temperature letter | None (0~70℃) · I · E | I only |
| Flash write | One word at a time | 4-word blocks |
| Comparators | None | 2 |
The old PIC16F87X datasheet (DS30292D p.209) has a frequency field in the order code, so numbers and temperature letters are combined, as in PIC16F877-20/P (20MHz, 0~70℃) · PIC16LF876-04I/SO (4MHz, Industrial) · PIC16F877-10E/P (10MHz, Extended). The 877A has no such field.
Appendix C (Table C-1) of the 877A datasheet summarizes the differences between the two chips. Pin count (28/40) and memory size are the same, but the flash erase/write unit (single-word → four-word blocks), the comparators · comparator voltage reference, and the A/D clock selection differ. Identical pins do not guarantee the firmware will work unchanged, so when replacing the 877 with the 877A, confirm with the customer's developer.
| Order code | Package | Temperature |
|---|---|---|
| ATmega328P-AU · AUR | TQFP 32-pin (32A) | −40~85℃ |
| ATmega328P-MU · MUR | VQFN 32-pin 5x5 (32M1-A) | −40~85℃ |
| ATmega328P-MMH · MMHR | VQFN 28-pin 4x4 (28M1) | −40~85℃ |
| ATmega328P-PU | SPDIP 28-pin 0.300 inch (28P3) | −40~85℃ |
| ATmega328P-AN · ANR | TQFP 32-pin (32A) | −40~105℃ |
| ATmega328P-MN · MNR | VQFN 32-pin (32M1-A) | −40~105℃ |
| ATmega328P-PN | SPDIP 28-pin (28P3) | −40~105℃ |
This table is exactly as in the datasheet order table. The footnotes give R = Tape & Reel and, for MMH, H = NiPdAu Lead Finish (nickel · palladium · gold plating). The Code indicators in the ATtiny25/45/85 datasheet read “H: NiPdAu lead finish, U: matte tin, R: tape & reel”, explaining that U is not a temperature but matte tin plating. In the 105℃ appendix (ATtiny25, 2586N), the same position is N (matte tin, −40~105℃).
The ATmega datasheet itself does not explain U · N, and the first letter after the hyphen (A · M · MM · P) being the package was also read by pairing order-table rows, so it is [Inferred]. Still, in the table all U rows are 85℃ and all N rows are 105℃, so -AU and -AN must not be swapped.
| Part number | Speed · voltage | Package |
|---|---|---|
| ATtiny85-20PU | 20MHz · 2.7~5.5V | PDIP 8-pin (8P3) |
| ATtiny85-20SU | 20MHz · 2.7~5.5V | SOIC 8-pin 0.208 inch (8S2) |
| ATtiny85-20SH | 20MHz · 2.7~5.5V | SOIC 8-pin · NiPdAu plating |
| ATtiny85-20MU | 20MHz · 2.7~5.5V | QFN 20-pad 4x4 (20M1) |
| ATtiny85V-10PU | 10MHz · 1.8~5.5V | PDIP 8-pin (8P3) |
| ATtiny85V-10SU | 10MHz · 1.8~5.5V | SOIC 8-pin (8S2) |
The ATtiny85 order table (2586Q p.206) is all −40~85℃, and -20 · -10 is the speed (MHz) field. ATtiny85V, with V, is the low-voltage version usable from 1.8V. A trailing R, as in SUR · SHR · MUR, means reel.
The Speed Grade on page 1 of the datasheet gives ATtiny85 as “0 - 10MHz @ 2.7 - 5.5V, 0 - 20MHz @ 4.5 - 5.5V”. If a customer plans to run it at 20MHz in a 3.3V circuit, don't just say “it's -20, so it's fine” — point out this condition.
Also, the ATtiny85 SOIC (8S2) is 0.208 inch (about 5.3mm) EIAJ width, so even though it is an “8-pin SOIC” like PIC12F675-I/SN (3.90mm), the body width is different.
Illustration: Two identical-looking 28-pin through-hole parts sit on the counter, labeled ATmega328P-PU and ATmega328-PU. When the customer asks, “Only one P is missing, isn't it?”, a female staff member in a red apron answers, “The P inside the name means a picoPower device, and the P after the hyphen is the package. They're different part numbers!”
| Which P | Meaning | Example |
|---|---|---|
| ATmega328P (inside the name) | picoPower device | ATmega328P-AU |
| -PU (after the hyphen) | DIP package [Inferred] | ATmega328P-PU |
| /P (after the PIC slash) | PDIP | PIC16F877A-I/P |
| /SP (PIC · new AVR) | Skinny PDIP 300mil | AVR128DA28-I/SP |
The ATmega328P datasheet says “picoPower devices ATmega48PA/88PA/168PA/328P” in several footnotes, and features such as BOD disable (BODS) exist only on these picoPower chips. ATmega328-PU · ATmega328-AU without P are different part numbers with their own order table in the same datasheet. Do not treat them as “the same chip with one P missing” and ship one for the other.
The 28P3 of ATmega328P-PU is “28-lead, 0.300” Wide, Skinny Plastic Dual Inline Package (SPDIP)”. The same 300mil 28-pin DIP is written /SP on PIC · new AVR and -PU in the old Atmel style. Conversely, PIC16F877A-I/P is a 40-pin 600mil PDIP. Look at the pin count · width rather than the letters.
The same figure shows that S (with PDID — a security feature that blocks programming · debug connections) can follow the pin count, and VAO (Automotive) can be added at the very end. Examples: AVR128DA48S-I/PT · AVR128DA64ST-E/PTVAO. VAO part numbers are codes created on request, so they are not in the order table (footnote, p.649).
| Old Atmel style | New Microchip style | |
|---|---|---|
| Example | ATmega328P-AUR | AVR128DA48T-I/PT |
| Temperature | Last letter after the hyphen U · N [Inferred] | I · E right after the hyphen |
| Package | First letter after the hyphen A · M · P [Inferred] | PT · SO · SP after the slash |
| Reel | R at the very end | T after the pin count |
Even within Microchip, the ATmega328P (including the 2020 edition DS40002061B) · ATtiny85 datasheets still use the -AU · -PU style, while AVR128DA uses the -I/PT style. Decide which rule applies from the shape of the part number before reading it. Older automotive AVRs differ again, written like ATmega328P-15AZ (TQFP32, −40~125℃, 16MHz) (7810D p.285). The datasheet does not explain 15 · Z.
The marking examples in the PIC16F877A datasheet show the 40-pin PDIP as PIC16F877A/P, while the 44-pin TQFP splits PIC16F877A and /PT onto two lines, with the year · week · traceability code (YYWWNNN) on the line below. It says that if everything does not fit on one line, it continues on the next. The T for reel is not printed here (section 4). Don't try to identify the full order code from the top of the chip alone; check the bag · reel label as well.
Sources: Microchip datasheets — PIC16F87XA (DS39582C) · PIC16F87X (DS30292D) · PIC12F629/675 (DS41190G) · PIC18F2455/2550/4455/4550 (DS39632E) · PIC16(L)F18426/46 (DS40001985C) · ATmega48A/PA/88A/PA/168A/PA/328/P (DS40002061B) · ATmega328P Automotive (7810D) · ATtiny25/45/85 (2586Q) · ATtiny25 105℃ appendix (2586N) · AVR128DA28/32/48/64 (DS40002183E) (checked 2026-11-04). Older Atmel-style AVRs have no part-number breakdown diagram, so items marked [Inferred] were read from the order tables. Always confirm with the latest datasheet for the specific part number before ordering.
| ▲ Next | Crea-Tek 데이터시트 — TVS·GDT·TSS·PPTC·MOV 보호 소자 |
|---|---|
| ▼ Previous | How to Read ST General-Purpose Part Numbers — Suffix Letters in L7805CV · LM317T · STP55NF06 (Package · Grade · Packing) |