Programming ATSAME54


The Atmel SAM E54 is a microcontroller based on the Arm Cortex M4 processor architecture. Atmel/Microchip provides the SAM E54 Xplained Pro development board for getting your feet wet in programming this MCU.

There are four variants of the E54 that differ in Flash memory capacity and pin numbers. The Xplained Pro board uses the ATSAME54P20A with 1 MB Flash memory.

Documentation Links

Setting up your Software Stack

ASF4 and FreeRTOS

Mbed OS

Not supported officially.

Development Tools

Atmel Studio

Setting up Atmel Studio in VirtualBox on Ubuntu

These instructions apply when you have installed Atmel Studio in a VirtualBox container with Windows 7 as client OS and Ubuntu being the host OS.

USB Access

In order for Atmel Studio to recognize the Xplained Pro board when a USB cable is connected to the "Debug USB" port, you need to

  • allow the VirtualBox instance access to the USB connection with the Xplained Pro board,
  • set up the VirtualBox instance to allow Windows to access the USB port.

To allow VirtualBox instances that were started from you user account to access USB connections your user needs to be in the vboxusers group.
You can check which groups your user is a member of by typing

id <your login name>

You can add yourself to the vboxusers group by typing

sudo usermod -aG vboxusers <your login name>

which will become effective only after logging out (or rebooting) and logging in again.

To allow the client OS (Windows) to access the USB connections you will need to select the correct USB controller (OHCI vs EHCI vs xHCI) and add a filter for each device that needs to accessed. The filter, which I named "SAME54 XPlained Pro", enables access to all USB device with vendor ID 03eb and product ID 2111, which are hexadecimal numbers.
Programming-ATSAME54-virtualbox usb settings.png