Sam_I_Am -- An interface for Atmel AT91SAM7S microcontrollers

Andrew Sterian
Padnos College of Engineering and Computing
Grand Valley State University

Top-Level | Connecting the Device | Program Operation | Commands Version 0.5
June 25, 2009
Installation | Requirements | Copyright | To Do | Credits | History

What's New

In release 0.5:

In release 0.4:

In release 0.3:

In release 0.2:

In release 0.1:


Sam_I_Am is a program for interacting with an Atmel AT91SAM7S microcontroller running the SAM-BA monitor program. It was specifically designed for Linux users who want to connect to their device using the USB port. Neither Windows nor the serial port is supported.

Using Sam_I_Am a developer can:

You can download the latest version of Sam_I_Am from:


Sam_I_Am is written in pure Python. It depends upon the following software packages for operation:

Sam_I_Am only runs under Linux. It requires a 2.4 or 2.6 kernel with the usbserial generic USB serial driver. Sam_I_Am does not work with a standard serial port nor with a USB-to-serial converter.


First, install all of the packages listed above in the Requirements section.

Extract the Sam_I_Am.XX.YY.tar.gz file (where XX.YY is the version) then install as follows:

The installer will create and populate the following directories/files:

The above assumes your Python library directory is as indicated (it may be elsewhere but the installer should be able to find it, so don't worry about it). The first directory is where the actual program resides. The second directory contains the documentation, example files, etc. A sample program for invoking Sam_I_Am is installed as /usr/bin/Sam_I_Am...feel free to rename it or move it somewhere else.

Running Sam_I_Am

You run Sam_I_Am in a console/terminal session. You must invoke the Python interpreter on the file of the Sam_I_Am package. For example:

python /usr/lib/python2.3/site-packages/Sam_I_Am/

The Sam_I_Am shell script that comes with this software contains an example for running Sam_I_Am, modelled on the above. By default, this shell script is installed in /usr/bin so you should just be able to type Sam_I_Am from a shell prompt.

The Program Operation page describes the operation of the program and its command-line options. The Connecting the Device page describes the process of connecting the microcontroller board to your computer using USB.

A sample application is included in the sample subdirectory of the Sam_I_Am installation, most likely /usr/lib/python2.3/Sam_I_Am/sample or similar.

Copyright & License

Copyright © 2008 Andrew Sterian. All Rights Reserved. mailto:

Sam_I_Am comes with ABSOLUTELY NO WARRANTY. This is free software licensed under the terms of the GNU General Public License. You are welcome to redistribute this software under certain conditions. For more details, see the previous link or visit The Free Software Foundation.

To Do

  1. Finish all info displayers
  2. FLASH region locking/unlocking


This help file is based on a template for the help file for mxTools by M.A. Lemburg. This software was created with VIM; thanks to the authors of this program and special thanks for the Python syntax support. Thanks to the Python developers and support community. Thanks to Atmel for making SAM-BA an open interface format, and for even providing its source code. Thanks to all the hard-working people who developed the GCC toolchain for ARM.


Version 0.5 -- June 25, 2009

Version 0.4 -- December 5, 2008

Version 0.3 -- August 5, 2006

Version 0.2 -- June 11, 2006

Version 0.1 -- May 30, 2006

© 2009, Copyright by Andrew Sterian; All Rights Reserved. mailto: