Getting Started with USB on SAM MCUs Using MPLAB® Harmony v3: Step 3

Last modified by Microchip on 2023/11/09 09:09

Configure Clocks, Pins, and Application Tasks

Configure Clocks

Launch Clock Easy View by going to Project Graph in MPLAB® X IDE and then select Plugins > Clock Configuration.

Tools clock config

Switch MOSCSEL to Main Crystal.​

Note: USB requires an accurate clock for operation and cannot run on the Main RC oscillator.

Clock Configuration

Figure 2: Clock Configuration

Back to top


Configure Pins

Launch Pin configuration by going to Project Graph in MPLAB X IDE and then select Plugins > Pin Configuration.

Tools pin config

Order the pins by Ports for ease of use.

Pin config window

The LED on the I/O1 Xplained Pro is connected to pin PA0.

  • Set the function to GPIO.

  • Name this pin as "LED".
  • Set the direction to Out.
  • Set the latch to High.

TWIHS pins, PA3 and PA4, need to be set to the correct function.

  • For PA3, set function to TWIHS0_TWD0.
  • For PA4, set function to TWIHS0_TWCK0.

Pin config window

The LED on the SAM E70 Xplained is connected to pin PC8.

SAM E70 Xplained User LED Schematic

Figure 6: SAM E70 Xplained User LED Schematic

  • Set the function to GPIO.
  • Name this pin as "USB_LED".
  • Set the direction to Out.
  • Set the latch to High.

Pin config window

Note: The LEDs on the SAM E70 Xplained and the I/O1 Xplained Pro are active low, so, they are turned off by default by configuring the latch value to logic High.

Back to top


Add and Configure Application Tasks

Go to the Project Graph and click on the Core module.

Under Configuration Options, you will find that MPLAB Code Configurator (MCC) automatically generates a default application named app. Set the Number of Applications spinbox to 3 and configure each of them as follows:

  • Expand Application 0 Configuration and rename the default application name to "app_sensor".

  • Expand Application 1 Configuration and rename the default application name to "app_eeprom".
  • Expand Application 2 Configuration and rename the default application name to "app_usb".

App tasks config

Back to top