# SAMD21 Pinout Table | Pin Number | Board Pin | Pin | Label/Name | Comments | |------------|-------------------|--------|-----------------|-----------------------------------------------------------------------------------------------| | | **Digital Low** | | | | | 0 | 0 -> RX | PA11 | | EIC/EXTINT[11] ADC/AIN[19] PTC/X[3] *SERCOM0/PAD[3] SERCOM2/PAD[3] TCC0/WO[3] TCC1/WO[1] | | 1 | 1 <- TX | PA10 | | EIC/EXTINT[10] ADC/AIN[18] PTC/X[2] *SERCOM0/PAD[2] TCC0/WO[2] TCC1/WO[0] | | 2 | 2 | PA14 | | EIC/EXTINT[14] SERCOM2/PAD[2] SERCOM4/PAD[2] TC3/WO[0] TCC0/WO[4] | | 3 | ~3 | PA09 | | EIC/EXTINT[9] ADC/AIN[17] PTC/X[1] SERCOM0/PAD[1] SERCOM2/PAD[1] *TCC0/WO[1] TCC1/WO[3] | | 4 | ~4 | PA08 | | EIC/NMI ADC/AIN[16] PTC/X[0] SERCOM0/PAD[0] SERCOM2/PAD[0] *TCC0/WO[0] TCC1/WO[2] | | 5 | ~5 | PA15 | | EIC/EXTINT[15] SERCOM2/PAD[3] SERCOM4/PAD[3] *TC3/WO[1] TCC0/WO[5] | | 6 | ~6 | PA20 | | EIC/EXTINT[4] PTC/X[8] SERCOM5/PAD[2] SERCOM3/PAD[2] *TCC0/WO[6] | | 7 | 7 | PA21 | | EIC/EXTINT[5] PTC/X[9] SERCOM5/PAD[3] SERCOM3/PAD[3] TCC0/WO[7] | | | **Digital High** | | | | | 8 | ~8 | PA06 | | EIC/EXTINT[6] ADC/AIN[6] AC/AIN[2] PTC/Y[4] SERCOM0/PAD[2] *TCC1/WO[0] | | 9 | ~9 | PA07 | | EIC/EXTINT[7] ADC/AIN[7] AC/AIN[3] PTC/Y[5] SERCOM0/PAD[3] *TCC1/WO[1] | | 10 | ~10 | PA18 | | EIC/EXTINT[2] PTC/X[6] +SERCOM1/PAD[2] SERCOM3/PAD[2] *TC3/WO[0] TCC0/WO[2] | | 11 | ~11 | PA16 | | EIC/EXTINT[0] PTC/X[4] +SERCOM1/PAD[0] SERCOM3/PAD[0] *TCC2/WO[0] TCC0/WO[6] | | 12 | ~12 | PA19 | | EIC/EXTINT[3] PTC/X[7] +SERCOM1/PAD[3] SERCOM3/PAD[3] TC3/WO[1] *TCC0/WO[3] | | 13 | ~13 | PA17 | | EIC/EXTINT[1] PTC/X[5] +SERCOM1/PAD[1] SERCOM3/PAD[1] *TCC2/WO[1] TCC0/WO[7] | | | **Analog Connector** | | | | | 14 | A0 | PA02 | | EIC/EXTINT[2] *ADC/AIN[0] DAC/VOUT PTC/Y[0] | | 15 | A1 | PB08 | | EIC/EXTINT[8] *ADC/AIN[2] PTC/Y[14] SERCOM4/PAD[0] TC4/WO[0] | | 16 | A2 | PB09 | | EIC/EXTINT[9] *ADC/AIN[3] PTC/Y[15] SERCOM4/PAD[1] TC4/WO[1] | | 17 | A3 | PA04 | | EIC/EXTINT[4] *ADC/AIN[4] AC/AIN[0] PTC/Y[2] SERCOM0/PAD[0] TCC0/WO[0] | | 18 | A4 | PA05 | | EIC/EXTINT[5] *ADC/AIN[5] AC/AIN[1] PTC/Y[5] SERCOM0/PAD[1] TCC0/WO[1] | | 19 | A5 | PB02 | | EIC/EXTINT[2] *ADC/AIN[10] PTC/Y[8] SERCOM5/PAD[0] | | | **Wire** | | | | | 20 | SDA | PA22 | | EIC/EXTINT[6] PTC/X[10] *SERCOM3/PAD[0] SERCOM5/PAD[0] TC4/WO[0] TCC0/WO[4] | | 21 | SCL | PA23 | | EIC/EXTINT[7] PTC/X[11] *SERCOM3/PAD[1] SERCOM5/PAD[1] TC4/WO[1] TCC0/WO[5] | | | **SPI (Legacy ICSP)** | | | | | 22 | 1 | PA12 | | EIC/EXTINT[12] SERCOM2/PAD[0] *SERCOM4/PAD[0] TCC2/WO[0] TCC0/WO[6] | | | 2 | | | | | 23 | 4 | PB10 | | EIC/EXTINT[10] *SERCOM4/PAD[2] TC5/WO[0] TCC0/WO[4] | | 24 | 3 | PB11 | | EIC/EXTINT[11] *SERCOM4/PAD[3] TC5/WO[1] TCC0/WO[5] | | | 5 | | | | | | 6 | | | | | | **USB** | | | | | 27 | | PA28 | | EIC/EXTINT[8] | | 28 | | PA24 | | *USB/DM | | 29 | | PA25 | | *USB/DP | | | **LEDs** | | | | | 25 | | PB03 | | | | 26 | | PA27 | | | | | **EDBG** | | | | | 30 | | PB22 | | *SERCOM5/PAD[2] | | 31 | | PB23 | | *SERCOM5/PAD[3] | | 32 | | PA22 | | Pin 20 (SDA) | | 33 | | PA23 | | Pin 21 (SCL) | | 34 | | PA19 | | EIC/EXTINT[3] *SERCOM1/PAD[3] SERCOM3/PAD[3] TC3/WO[1] TCC0/WO[3] | | 35 | | PA16 | | EIC/EXTINT[0] *SERCOM1/PAD[0] SERCOM3/PAD[0] TCC2/WO[0] TCC0/WO[6] | | 36 | | PA18 | | EIC/EXTINT[2] *SERCOM1/PAD[2] SERCOM3/PAD[2] TC3/WO[0] TCC0/WO[2] | | 45 | | PA31 | | SWDIO, alternate use EXTINT[11] TCC1/WO[1] SERCOM1/PAD[3] | | 37 | | PA17 | | EIC/EXTINT[1] *SERCOM1/PAD[1] SERCOM3/PAD[1] TCC2/WO[1] TCC0/WO[7] | | 38 | ATN | PA13 | | EIC/EXTINT[13] SERCOM2/PAD[1] SERCOM4/PAD[1] *TCC2/WO[1] TCC0/WO[7] | | 39 | | PA21 | | Pin 7 | | 40 | | PA06 | | Pin 8 | | 41 | | PA07 | | Pin 9 | | | **GND** | | | | | 42 | AREF | PA03 | | EIC/EXTINT[3] *[ADC|DAC]/VREFA ADC/AIN[1] PTC/Y[1] | | 43 | | PA02 | | Alternate use of A0 (DAC output) | | 44 | | PA30 | | SWCLK, alternate use EXTINT[10] TCC1/WO[0] SERCOM1/PAD[2] | # what does EIC/EXTINT[11] means ? In the context of the SAMD21 microcontroller, **EIC/EXTINT[11]** is a reference to a specific external interrupt configuration on pin PA11 (or other associated pins depending on the device's pin mapping). ### Breakdown of Terms - **EIC:** - Stands for **External Interrupt Controller**. - The EIC manages external interrupts from the microcontroller's I/O pins. - **EXTINT[11]:** - Refers to **External Interrupt Line 11**. - The number inside the brackets (11) identifies which external interrupt line is associated with the specific pin. - In this example, PA11 would likely be mapped to EXTINT[11]. ### How It Works When PA11 is configured with **EIC/EXTINT[11]**, it means the pin can trigger an interrupt when a specific signal change (rising edge, falling edge, or level change) occurs. ### Typical Usage 1. **Wake-up from Sleep:** External interrupts can wake up the SAMD21 from a low-power state. 2. **Button Press Detection:** Connecting a button to PA11 and enabling the EXTINT[11] interrupt allows the microcontroller to handle button events asynchronously. 3. **Event-Driven Systems:** Useful for monitoring external signals without constantly polling the pin. ### Example in Code Using Arduino with the SAMD21: ```cpp attachInterrupt(digitalPinToInterrupt(11), myInterruptHandler, RISING); ``` In this example: - The **digitalPinToInterrupt(11)** would map to PA11 with EXTINT[11] behind the scenes. - **RISING** triggers the interrupt on a rising edge. # what does PTC/X[3] means ? **PTC/X[3]** on the SAMD21 refers to a specific pin's capability as part of the **Peripheral Touch Controller (PTC)**. ### **Breakdown** - **PTC:** - Stands for **Peripheral Touch Controller**. - This is a hardware module on the SAMD21 designed for capacitive touch sensing applications, such as touch buttons, sliders, and wheels. - **X[3]:** - The **X-line 3** refers to one of the electrode channels used for touch detection. - The PTC uses a matrix of X-lines (transmitter) and Y-lines (receiver) to measure capacitance changes on a touch-sensitive electrode. ### **How It Works** - Each **X-line** is connected to a specific GPIO pin on the microcontroller. - When configured for touch sensing, the pin generates a signal to detect changes in capacitance caused by a finger touching the corresponding electrode. ### **Example Use Case** If you're designing a capacitive touch button using **X[3]**, you would: 1. Connect the electrode to the pin corresponding to **PTC/X[3]**. 2. Enable and configure the PTC in your firmware to monitor capacitance changes on this pin. ### **Why It Matters** - Using **PTC/X[3]** allows you to implement touch-sensitive controls without needing additional external ICs. - The SAMD21 provides efficient touch sensing hardware, reducing the need for software-based polling.