You are here: Home DOCUMENTATION Esduino EsduinoXtreme User Guide - Setting Up the Hardware

Technological Arts Inc.

Your Shopping Cart

Your Cart is currently empty.

EsduinoXtreme User Guide - Setting Up the Hardware

Article Index
EsduinoXtreme User Guide
Overview of Features
Setting Up the Hardware
Application Programming
Software Debugging
Software Considerations
Software Considerations - Interrupts
Software Considerations - S12 Clock
Hardware Details
All Pages

Setup and Verification of Hardware

Power and serial connections, default jumper positions

There are two basic ways to use EsduinoXtreme in development, which are described in detail below:

  1. On-chip Serial Monitor with uBug12:
    You will need a microB USB cable in order to establish communications between EsduinoXtreme and your host computer.  The cable can also provide power for the board, to a maximum of 500 mA, supplied by your computer's USB port.  (Note:  if you plug EsduinoXtreme into an upowered USB hub, the available current will be less than 500 mA, depending on what else is plugged into the hub.)
  2. External Background Debug Module (BDM) pod:
    Use a BDM pod, such as our USBDMLT, to program and power the board via your computer's USB port.  There is a jumper block on USBDMLT which you can use to select 3V or 5V operation.

If you want EsduinoXtreme to run your program without a computer attached, you will need to supply power through one of several methods, detailed in the next section.  Refer to the board's schematic diagram and feature sheet for details.

There are several jumpers placed on the board as well as pads on which to place jumpers. When the board is first used, there are only a few jumpers that need to be checked. These are listed below, along with their default settings. (A full jumper list is provided later.)

JB1 selects the voltage source for running the board.  The factory default is USB, meaning that 5V from your computer's USB port will supply power to everything on the board.  The VIN position would only be used if you were to supply power externally via optional 2-pin Molex header J7, or optional barrel jack J6, or via power pins on header J4.

JB3 through JB6 provide user-selectable signal assignments to some of the J1 and J3 header pins, and can be moved to the desired position for specific applications.  Their configuration does not affect the basic operation of the board.

JB7 selects the operating voltage of the MCU.  A shorting plug must be in place in one of the two positions in order for the MCU to operate.  If it is missing, the MCU will not run (unless a BDM pod is connected).

JB8 selects the source of the Voltage Reference input pin (VRH) on the MCU, which is related to the analog-to-digital converter subsystem.  The default position is VDD, meaning that analog voltage conversions will be referenced to the MCU operating voltage (set by JB7, described above).  Leaving this jumper off will result in undefined operation of the analog-to-digital converter subsystem.

JB9 is a three-way selector block for communications between the host computer's USB port, the SCI0 pins of the MCU, and the optional XBee RF module interface.  The default positions are US, meaning that the USB interface chip's RX and TX lines are connected to the MCU's RX0 and TX0 pins (i.e. SCI0).  Refer to the schematic diagram and feature sheet for details on other possible configurations.

USB Interface

EsduinoXtreme can communicate with a PC using one of the MCU's on-chip Serial Communication Interfaces (SCIs) through a USB-to-UART interface chip made by FTDI. If you plan to use this interface, you'll need a microB to USB-A cable.  The first time you plug the board into your computer, it will need to install USB drivers for the USB interface chip.  If you are using Win7 or later, the operating system should find the necessary drivers and install them automatically.  However, if you're using WinXP or some other OS, you'll need to download the drivers from and install them yourself.  After successful driver installation, you can determine which virtual com port Windows has assigned to your board by using Windows Device Manager (via MyComputer/Properties/Hardware) and looking at the comport list.  It will show you the USB com port assignment number (e.g. COM6).  You'll need to know that in order to access it through a terminal program or via uBug12 with the built-in monitor program.

Using the Factory-Installed Demo Program

EsduinoXtreme ships from the factory pre-programmed with a simple SCI demo program in Flash. You can run this by placing the Load/Run switch (SW2) in the Run position when applying power or pressing reset. The demo program requires use of an ASCII terminal program (such as HyperTerminal, on Windows systems) to provide a means for you to interact with the program. Besides setting the correct ComPort (refer to for help with this), you'll need to configure the terminal program with the following properties:

  •     Emulate ANSI terminal type
  •     9600 baud
  •     8 bits
  •     One stop bit
  •     No parity
  •     No flow control
  •     Do not append line feeds to incoming line ends
  •     No local echoing of typed characters

 When the SCI demo program starts, it activates the red LED on the board and sends the following text out the serial port, which consequently appears in your terminal window:

Technological Arts - EsduinoXtreme SCI demo
Input String:

Go ahead and type a character string of up to 20 characters and press <enter>.  Your string will then be echoed back in the terminal window, and you'll be prompted to enter a decimal number.  Do so, followed by enter, and then enter a hex number when prompted.  Each time, the value you entered will be echoed back in the terminal window (the size of the numbers allowed max out at 16-bit).  Here's a typical session:

Technological Arts - EsduinoXtreme SCI demo
Input String: good morning!  Output String= good morning!
Input Decimal: 32768  Output Decimal= 32768
Input Hex: f07e  Output Hex= F07E
Input String:

Each time through the session, the program toggles the LED.  If you'd like to examine the project, you'll find it (EX_SCI0) and other example CodeWarrior projects in our Support Library, at

The demo program serves as a reasonable confirmation that your board is working properly.  Now it's time to learn how to load other programs.  There are two basic ways to do this, and we recommend using the first one unless you already know that you want to use a BDM pod.

1) Using uBug12

EsduinoXtreme comes pre-programmed with the Technological Arts version of Freescale's Serial Monitor program in Flash.  After reset, the setting of switch SW1 is examined by the code and the following actions result:

  1. If the switch is closed (i.e. LOAD position) control is passed to the Serial Monitor, whcih initializes various parameters of the MCU and waits for commands to be received on the serial port, via the USB connection.  Since the SerialMonitor uses a binary interface (i.e. non-ASCII), it requires a companion application to be running on the host computer to provide an interface to the user.  Technological Arts has created a freely-downloadable Java program called uBug12 for this purpose, which can run on Windows, Mac, and Linux hosts.
  2. If the switch is open (i.e. RUN position), control is passed to the user program in Flash, via the user program Reset vector.  If the user reset vector has not been programmed, control will revert to the monitor, as described above.

To use uBug12, you will first need to download and install it.  Refer to the uBug12 manual for instructions and a link to the downloadable file.

When you are ready to proceed, place switch SW1 in the Load position and connect a microB USB cable between your computer and EsduinoXtreme.

You'll find detailed instructions on how to use uBug12 at this URL:

2) Using a USBDMLT pod

  1. Ensure that you have downloaded and installed the latest USBDM project from SourceForge
  2. Use the firmware updater, if necessary, to ensure that you have the latest version of the USBDM firmware in your pod (at least 4.10.7) so that S12GA240 is included in the devices list.
  3. Plug your USBDMLT pod into an available USB port on your PC
  4. Launch the application called HCS12 Programmer that is included with the USBDM software
  5. The program GUI has three tabs.  On the Interface tab, you'll see the Select BDM field, which should now be displaying USBDM-JS16-0001, indicating that it has detected the pod.  If not, click the Detect button to detect it.  If it can't detect your pod, youo'll need ot visit the Help page of the USBDM project to resolve the issue
  6. Next click the Target tab.  Plug the 6-pin ribbon cable into your EsduinoXtreme BDM port.  Note that this is the right-angle male header directly adjacent to the J1 header.  Do not use the 6-pin vertical header adjacent to the slide switch--  that one is the SPI port.  Ensure that the cable is plugged in the correct way:  red stripe closest to the J1 header (i.e. the ribbon cable is exiting from the bottom of the connector).  You may wish to snap the optional plastic strain relief onto the ribbon cable connector to make it easier to grasp for plugin and removal.  Ensure that the jumper is in place on the USBDMLT pod, selecting either 3V or 5V operation.  That way the pod will power your EsduinoXtreme via the USB port of your PC.  Should you decide to use an external power source later (e.g. battery), you can remove the shorting plug entirely from the USBDMLT.
  7. On the Target tab of the programmer GUI, click Detect Chip.  The Device Selection box should update automatically to display GA-MC9S12GA240.  If not, you'll need to do some troubleshooting to figure out why not.
  8. At this point, you're ready to load a program into flash, so click on the Load Hex Files button to open a Windows file explorer from which you'll select the file you wish to load.  (Just leave the default settings.  You can read up on the options later in the USBDM project documentation if you want to.)
  9. If you haven't already done so, downlaod and unZip one or more of the example projects for EsduinoXtreme from our Support Library at
  10. Using the file explorer opened previously via the HCS12 Programmer GUI, navigate to a project folder and the subfolder called bin.  There you'll find the .s19 file to load (usually it's called Project.abs.s19).  A suggested project to start with is Example_RTI.  Load the Project.abs.s19 file found inside that project's bin folder.
  11. Leave unchanged the defaults for Bus frequency and Security, and ensure EraseMass is selected under Erase Options in Device Operations.  Click the Load and Go button and a second or two later you will see a Programming Completed message popping up.  You should also notice that the red LED on your EsduinoXtreme is blinking rapidly.  If you connect up another LED, in series with a current-limiting resistor to ground, with its anode connected to the DIG2 pin on the J1 header, you'll see it blink at a 0.5Hz rate.

Note that, once you have loaded a program with USBDMLT, the serial monitor that was pre-programmed into flash at the factory will no longer be present.  If, for some reason, you wish to use the serial monitor instead of USBDMLT, you'll need to load it back in.  Follow the steps from 4 to 11 shown above, and load the serial monitor s19 file found in the Support libary at

Last Updated ( Friday, 08 February 2019 18:14 )