Starting Electronics Needs Your Help!
It is that time of the year when we need to pay for web hosting and buy new components and equipment for new tutorials. You can help by making a donation. Contribute to this website by clicking the Donate button. The total will be updated once daily. (You may need to clear your browser cache to see the updates.)

Target Amount: $2000
Amount Raised: $199

Donations Received


Installing the SAM-BA USB CDC Driver for Atmel ARM Microcontroller in Windows

Created on: 12 November 2013

Atmel ARM microcontrollers contain a boot program called SAM-BA. The SAM-BA boot program can be loaded to the Flash memory of the microcontroller by closing a jumper on the microcontroller board and then powering up the board.

Examples: AT91SAM7S uses the TST (TEST) pin to load SAM-BA (e.g. AT91SAM7S256);
ATSAM3U microcontrollers use the ERASE pin to load SAM-BA (e.g. AT91SAM3U2C).

Once the SAM-BA boot software is loaded to Flash memory, the microcontroller will then run the SAM-BA software when powered up. Microcontrollers that have a USB port and SAM-BA running can then be connected to a PC and programmed via a USB cable using the Atmel SAM-BA PC application.

This article shows how to install the driver in Windows 7 that the SAM-BA PC software uses.


When the Atmel ARM based board is plugged into a PC USB port, the driver makes the Atmel USB microcontroller configure as a USB CDC port that will appear as a COM port in Windows.

The driver will be copied to the PC if the SAM-BA PC software is installed. It can also be downloaded here:

atm6124_cdc.inf – Atmel Windows USB CDC driver

(To save the above driver, right-click and choose Save Link As... or whatever save item your browser uses)

Installing the Driver

1. Plug the Microcontroller Board into the PC

After plugging in the microcontroller (and powering it if externally powered), Windows will try to install a driver.

Windows tries to install driver

Automatic driver installation will fail.

Driver installation fails

2. Open Device Manager

Click the Windows Start button and then right-click Computer. Click Properties on the menu that pops up.

Starting device manager

In the window that opens, click "Device Manager".

Open Windows device manager

The Atmel microcontroller running SAM-BA will be displayed as an "unknown device".

Unknown device in device manager

3. Update the Driver

Right-click the unknown device in the device manager and then click Update Driver Software... on the menu that pops up.

Update driver software

In the dialog box that pops up, click Browse my computer for driver software.

Browse for driver software

Click the Browse... button.

Click browse button

Use the dialog box to navigate to the folder containing the driver.

Navigate to the driver folder

The correct path will now appear in the dialog box. Click the Next button at the bottom of the dialog box.

Driver path

In the dialog box that pops up, click Install this driver software anyway.

Install driver software

The driver may take a while to install.

The driver installs

You will be notified when installation is complete.

Driver installation is complete

Back in the Device Manager window, the new device and COM port number assigned to it can be seen.

Driver installed

Testing the Driver and Microcontroller Board

After installing the driver, it can be tested by using the SAM-BA application software on the PC, or by using a terminal emulator as shown here.

Use a terminal software program such as Bray's Terminal.

Connecting with the Terminal Emulator

Start the terminal program, select the COM port shown in device manager, e.g. COM3. Set the Baud rate to 115200 and then click the Connect button.

Connecting with Bray's Terminal

Requesting the SAM-BA Version

To test that the terminal emulator can communicate with the SAM-BA software running on the microcontroller, the version of the SAM-BA software can be requested. This is done by sending a specific message to the microcontroller / SAM-BA software.

At the bottom of the terminal window, click the +CR checkbox. This will insert a carriage return character at the end of the message to send.

Now type V# into the Send field and then click the Send button to send the SAM-BA version request message.

Preparing the SAM-BA version request message

SAM-BA Version Response

The SAM-BA software will respond with the SAM-BA version information as shown below.

SAM-BA version response message