KiCad / kicad-footprints

Official KiCad Footprint Libraries for Kicad version 5
https://kicad.github.io/footprints
Other
612 stars 714 forks source link

Atmel AVR footprint naming #1015

Open fauxpark opened 5 years ago

fauxpark commented 5 years ago

Most of the ATmega/ATtiny symbols end their descriptions and use footprints starting with "QFN-xx" where they should perhaps be more specific, eg. "VQFN". The problem: Atmel could not seem to decide whether to call it MLF, QFN or VQFN, and have several different package drawings with the exact same dimensions:

Name                Package     Drawing
---------------------------------------
Current:    DFN-8-1EP_3x2mm_P0.5mm_EP1.3x1.5mm
Suggested: UDFN-8-1EP_3x2mm_P0.5mm_EP1.3x1.5mm
ATtiny102-M           UDFN        8MA2

Current:   DFN-10-1EP_3x3mm_P0.5mm_EP1.75x2.7mm
Suggested: DFN-10-1EP_3x3mm_P0.5mm_EP1.64x2.6mm
ATtiny13-20MMU      MLF-10      10M1
ATtiny13A-MMF       MLF-10      10M1
ATtiny13V-10MMU     MLF-10      10M1

Current:    DFN-8-1EP_2x2mm_P0.5mm_EP0.9x1.5mm
Suggested: UDFN-8-1EP_2x2mm_P0.5mm_EP0.9x1.5mm
ATtiny10-MA         UDFN-8      8MA4
ATtiny4-MA          UDFN-8      8MA4
ATtiny5-MA          UDFN-8      8MA4
ATtiny9-MA          UDFN-8      8MA4

Current:    QFN-32-1EP_4x4mm_P0.4mm_EP2.9x2.9mm
Suggested: UQFN-32-1EP_4x4mm_P0.4mm_EP2.8x2.8mm
ATxmega16E5-M4U     UQFN-32     PM
ATxmega32E5-M4U     UQFN-32     PM
ATxmega8E5-M4U      UQFN-32     PM

Current:    QFN-20-1EP_3x3mm_P0.45mm_EP1.6x1.6mm
Suggested: VQFN-20-1EP_3x3mm_P0.45mm_EP1.55x1.55mm
ATtiny20-MMH        VQFN-20     20M2
ATtiny2313A-MMH     VQFN-20     20M2
ATtiny24A-MMH       VQFN-20     20M2
ATtiny40-MMH        VQFN-20     20M2
ATtiny4313-MMH      VQFN-20     20M2
ATtiny441-MMH       VQFN-20     20M2
ATtiny44A-MMH       VQFN-20     20M2
ATtiny841-MMH       VQFN-20     20M2
ATtiny84A-MMH       VQFN-20     20M2

Current:    QFN-20-1EP_4x4mm_P0.5mm_EP2.25x2.25mm
Suggested: VQFN-20-1EP_4x4mm_P0.5mm_EP2.6x2.6mm
ATtiny13-20MU       MLF-20      20M1
ATtiny13A-MU        MLF-20      20M1
ATtiny13V-10MU      MLF-20      20M1
ATtiny1634-MU       MLF-20      20M1
ATtiny2313-20MU     MLF-20      20M1
ATtiny2313A-MU      MLF-20      20M1
ATtiny2313V-10MU    MLF-20      20M1
ATtiny24-20MU       MLF-20      20M1
ATtiny24A-MU        MLF-20      20M1
ATtiny24V-10MU      MLF-20      20M1
ATtiny25-20MU       MLF-20      20M1
ATtiny25V-10MU      MLF-20      20M1
ATtiny4313-MU       MLF-20      20M1
ATtiny43U-MU        MLF-20      20M1
ATtiny44-20MU       MLF-20      20M1
ATtiny441-MU        MLF-20      20M1
ATtiny44A-MU        MLF-20      20M1
ATtiny44V-10MU      MLF-20      20M1
ATtiny45-20MU       MLF-20      20M1
ATtiny45V-10MU      MLF-20      20M1
ATtiny84-20MU       MLF-20      20M1
ATtiny841-MU        MLF-20      20M1
ATtiny84A-MU        MLF-20      20M1
ATtiny84V-10MU      MLF-20      20M1
ATtiny85-20MU       MLF-20      20M1
ATtiny85V-10MU      MLF-20      20M1

Current:     QFN-24-1EP_4x4mm_P0.5mm_EP2.6x2.6mm
Suggested:  VQFN-24-1EP_4x4mm_P0.5mm_EP2.6x2.6mm
ATtiny1607-M          VQFN-24     P9
ATtiny1617-M          VQFN-24     P9
ATtiny3217-M          VQFN-24     P9
ATtiny417-M           VQFN-24     P9
ATtiny807-M           VQFN-24     P9
ATtiny817-M           VQFN-24     P9

Current:    QFN-28-1EP_4x4mm_P0.45mm_EP2.4x2.4mm
Suggested: VQFN-28-1EP_4x4mm_P0.45mm_EP2.4x2.4mm
ATmega168A-MMH      VQFN-28     28M1
ATmega168PA-MMH     VQFN-28     28M1
ATmega328-MMH       VQFN-28     28M1
ATmega328P-MMH      VQFN-28     28M1
ATmega48-20MMU      VQFN-28     28M1
ATmega48A-MMH       VQFN-28     28M1
ATmega48P-20MMU     VQFN-28     28M1
ATmega48PA-MMH      VQFN-28     28M1
ATmega48PV-10MMU    VQFN-28     28M1
ATmega48V-10MMU     VQFN-28     28M1
ATmega88A-MMH       VQFN-28     28M1
ATmega88PA-MMH      VQFN-28     28M1
ATtiny48-MMU        VQFN-28     28M1
ATtiny88-MMU        VQFN-28     28M1

Current:    QFN-32-1EP_5x5mm_P0.5mm_EP3.1x3.1mm
Suggested: VQFN-32-1EP_5x5mm_P0.5mm_EP3.1x3.1mm
ATmega168-20MU      MLF-32      32M1-A
ATmega168A-MU       MLF-32      32M1-A
ATmega168P-20MU     MLF-32      32M1-A
ATmega168PA-MU      MLF-32      32M1-A
ATmega168PB-MU      VQFN-32     32MS1
ATmega168PV-10MU    MLF-32      32M1-A
ATmega168V-10MU     MLF-32      32M1-A
ATmega3208-M        VQFN-32     32MS1
ATmega328-MU        MLF-32      32M1-A
ATmega328P-MU       MLF-32      32M1-A
ATmega328PB-MU      VQFN-32     32MS1
ATmega48-20MU       MLF-32      32M1-A
ATmega4808-M        VQFN-32     32MS1
ATmega48A-MU        MLF-32      32M1-A
ATmega48P-20MU      MLF-32      32M1-A
ATmega48PA-MU       MLF-32      32M1-A
ATmega48PB-MU       VQFN-32     32MS1
ATmega48PV-10MU     MLF-32      32M1-A
ATmega48V-10MU      MLF-32      32M1-A
ATmega8-16MU        MLF-32      32M1-A
ATmega88-20MU       MLF-32      32M1-A
ATmega88A-MU        MLF-32      32M1-A
ATmega88P-20MU      MLF-32      32M1-A
ATmega88PA-MU       MLF-32      32M1-A
ATmega88PB-MU       VQFN-32     32MS1
ATmega88PV-10MU     MLF-32      32M1-A
ATmega88V-10MU      MLF-32      32M1-A
ATmega8A-MU         MLF-32      32M1-A
ATmega8L-8MU        MLF-32      32M1-A
ATxmega16E5-MU      VQFN-32     PN
ATxmega32E5-MU      VQFN-32     PN
ATxmega8E5-MU       VQFN-32     PN
ATtiny167-MU        VQFN-32     PN
ATtiny26-16MU       MLF-32      32M1-A
ATtiny261A-MU       MLF-32      32M1-A
ATtiny26L-8MU       MLF-32      32M1-A
ATtiny28L-4MU       MLF-32      32M1-A
ATtiny28V-1MU       MLF-32      32M1-A
ATtiny461-20MU      MLF-32      32M1-A
ATtiny461A-MU       MLF-32      32M1-A
ATtiny461V-10MU     MLF-32      32M1-A
ATtiny48-MU         MLF-32      32M1-A
ATtiny828-M         MLF-32      32M1-A
ATtiny861-20MU      MLF-32      32M1-A
ATtiny861A-MU       MLF-32      32M1-A
ATtiny861V-10MU     MLF-32      32M1-A
ATtiny87-MU         VQFN-32     PN
ATtiny88-MU         MLF-32      32M1-A

Current:    QFN-32-1EP_5x5mm_P0.5mm_EP3.1x3.1mm
Suggested: VQFN-32-1EP_5x5mm_P0.5mm_EP3.6x3.6mm
ATmega16U2-MU       QFN-32      PG
ATmega32U2-MU       QFN-32      PG
ATmega8U2-MU        QFN-32      PG

Current:    QFN-32-1EP_7x7mm_P0.65mm_EP4.65x4.65mm
Suggested: VQFN-32-1EP_7x7mm_P0.65mm_EP4.5x4.5mm
ATmega16M1-MU       QFN-32      PV
ATmega32M1-MU       QFN-32      PV
ATmega64M1-MU       QFN-32      PV

Current:    QFN-44-1EP_7x7mm_P0.5mm_EP5.2x5.2mm
Suggested: VQFN-44-1EP_7x7mm_P0.5mm_EP5.2x5.2mm
ATmega1284-MU       VQFN-44     44M1
ATmega1284P-MU      VQFN-44     44M1
ATmega16-16MU       VQFN-44     44M1
ATmega162-16MU      VQFN-44     44M1
ATmega162V-8MU      VQFN-44     44M1
ATmega164A-MU       VQFN-44     44M1
ATmega164P-20MU     VQFN-44     44M1
ATmega164PA-MU      VQFN-44     44M1
ATmega164PV-10MU    VQFN-44     44M1
ATmega16A-MU        VQFN-44     44M1
ATmega16L-8MU       VQFN-44     44M1
ATmega16U4-MU       VQFN-44     PW
ATmega16U4RC-MU     VQFN-44     PW
ATmega32-16MU       VQFN-44     44M1
ATmega324A-MU       VQFN-44     44M1
ATmega324P-20MU     VQFN-44     44M1
ATmega324PA-MU      VQFN-44     44M1
ATmega324PB-MU      VQFN-44     44M1
ATmega324PV-10MU    VQFN-44     44M1
ATmega32A-MU        VQFN-44     44M1
ATmega32L-8MU       VQFN-44     44M1
ATmega32U4-MU       VQFN-44     PW
ATmega32U4RC-MU     VQFN-44     PW
ATmega644-20MU      VQFN-44     44M1
ATmega644A-MU       VQFN-44     44M1
ATmega644P-20MU     VQFN-44     44M1
ATmega644PA-MU      VQFN-44     44M1
ATmega644PV-10MU    VQFN-44     44M1
ATmega644V-10MU     VQFN-44     44M1
ATmega8515-16MU     VQFN-44     44M1
ATmega8515L-8MU     VQFN-44     44M1
ATmega8535-16MU     MLF-44      44M1
ATmega8535L-8MU     MLF-44      44M1
ATxmega128A4U-MH    VQFN-44     PW
ATxmega128D4-MH     VQFN-44     44M1
ATxmega16A4U-MH     VQFN-44     44M1
ATxmega16C4-MH      VQFN-44     PW
ATxmega16D4-MH      VQFN-44     44M1
ATxmega32A4U-MH     VQFN-44     44M1
ATxmega32C4-MH      VQFN-44     PW
ATxmega32D4-MH      VQFN-44     44M1
ATxmega64A4U-MH     VQFN-44     PW
ATxmega64D4-MH      VQFN-44     44M1

Current:    QFN-64-1EP_9x9mm_P0.5mm_EP5.4x5.4mm (also used by DSPIC33FJ64GP306A-IMR, height seems within the range for VQFN)
Suggested: VQFN-64-1EP_9x9mm_P0.5mm_EP5.4x5.4mm
ATmega128-16MU      MLF-64      64M1
ATmega128A-MU       MLF-64      64M1
ATmega128L-8MU      MLF-64      64M1
ATmega165A-MU       MLF-64      64M1
ATmega165P-16MU     MLF-64      64M1
ATmega165PA-MU      MLF-64      64M1
ATmega165PV-8MU     MLF-64      64M1
ATmega169A-MU       MLF-64      64M1
ATmega169P-16MU     MLF-64      64M1
ATmega169PA-MU      MLF-64      64M1
ATmega169PV-8MU     MLF-64      64M1
ATmega325-16MU      MLF-64      64M1
ATmega325A-MU       MLF-64      64M1
ATmega325P-20MU     MLF-64      64M1
ATmega325PA-MU      MLF-64      64M1
ATmega325PV-10MU    MLF-64      64M1
ATmega325V-8MU      MLF-64      64M1
ATmega329-16MU      MLF-64      64M1
ATmega329A-MU       MLF-64      64M1
ATmega329P-20MU     MLF-64      64M1
ATmega329PA-MU      MLF-64      64M1
ATmega329PV-10MU    MLF-64      64M1
ATmega329V-8MU      MLF-64      64M1
ATmega64-16MU       MLF-64      64M1
ATmega645-16MU      MLF-64      64M1
ATmega645A-MU       MLF-64      64M1
ATmega645P-MU       MLF-64      64M1
ATmega645V-8MU      MLF-64      64M1
ATmega649-16MU      MLF-64      64M1
ATmega649A-MU       MLF-64      64M1
ATmega649P-MU       MLF-64      64M1
ATmega649V-8MU      MLF-64      64M1
ATmega64A-MU        MLF-64      64M1
ATmega64L-8MU       MLF-64      64M1

Current:    QFN-64-1EP_9x9mm_P0.5mm_EP7.65x7.65mm
Suggested: VQFN-64-1EP_9x9mm_P0.5mm_EP7.65x7.65mm
ATmega1281-16MU     MLF-64      64M2
ATmega1281V-8MU     MLF-64      64M2
ATmega2561-16MU     MLF-64      64M2
ATmega2561V-8MU     MLF-64      64M2
ATxmega128A3-MH     MLF-64      64M2
ATxmega128A3U-MH    QFN-64      64M2
ATxmega128B3-MH     QFN-64      64M2
ATxmega128C3-MH     VQFN-64     PP
ATxmega128D3-MH     VQFN-64     PP
ATxmega192A3-MH     MLF-64      64M2
ATxmega192A3U-MH    QFN-64      64M2
ATxmega192C3-MH     VQFN-64     PP
ATxmega192D3-MH     VQFN-64     PP
ATxmega256A3-MH     MLF-64      64M2
ATxmega256A3B-MH    MLF-64      64M2
ATxmega256A3BU-MH   QFN-64      64M2
ATxmega256A3U-MH    QFN-64      64M2
ATxmega256C3-MH     VQFN-64     PP
ATxmega256D3-MH     VQFN-64     PP
ATxmega32C3-MH      VQFN-64     PP
ATxmega32D3-MH      VQFN-64     PP
ATxmega384C3-MH     VQFN-64     PP
ATxmega384D3-MH     VQFN-64     PP
ATxmega64A3-MH      MLF-64      64M2
ATxmega64A3U-MH     QFN-64      64M2
ATxmega64B3-MH      QFN-64      64M2
ATxmega64C3-MH      VQFN-64     PP
ATxmega64D3-MH      VQFN-64     PP

Looking at the package heights, they're all either 0.8-1.0mm (except for the UQFN and UDFN symbols). Should they all then be named VQFN?

evanshultz commented 5 years ago

Great question!

I can recall a few situations where height was noted as a differentiator and so changed from the default "QFN", but in general I don't know where we stand. Since the 3D models are correlated to the footprints it will give a more appropriate 3D model if the footprints have all flavors of QFNs, but on the other hand these are tiny differences and could add many more footprints.

@poeschlr What level of abstraction, if any, would you like?

poeschlr commented 5 years ago

I would simply use the footprint prefix in the description as well.

I would however advice against the use of MLF as it is kind of an obscure alternative name to QFN (In all cases that i looked up when i reworked the QFN lib i found that even atmel mentioned that they are basically the same as QFN. Most datasheets even said something like MLF/QFN or had QFN listed in the description.)

fauxpark commented 5 years ago

All but one of these footprints are only used by these Atmel symbols. Some of them also need EP size changes.