All-In-One HCS12 trainer for academia

It's a complete trainer with a solderless breadboard

The binder is for illustration only and not included in the price.


DRAGON12-Light Trainer
 A popular upgrade for 68HC11 and 68HC12 boards


The new easy-to-use DRAGON12-Light trainer offers the highest performance-to-price ratio that you can get from a trainer.
It's fully backwards compatible to all DRAGON trainers and programs were written for all DRAGON trainers can run on the DRAGON12-Light trainer without modifications except some programs access hardware that is not available on the DRAGON12-Light trainer.

The DRAGON12-Light trainer comes with D-Bug12 monitor firmware or serial monitor firmware installed. 

The D-Bug12 monitor for the HCS12 is similar to the BUFFALO monitor for the 68HC11. It will execute all BUFFALO commands and work with an ASCII  terminal program, like AsmiDE, MiniIDE and HyperTerm. With the vast online resources available for the HCS12, it will take almost no time to start a HCS12 course for a professor who is currently teaching a 68HC11 or a 68HC12 course.

The serial monitor is required to work with the CodeWarrior IDE.

DRAGON12-Light- silkscreen

The DRAGON12-Light trainer kit includes a DRAGON12-Light board, a solderless breadboard and a 6 foot USB cable.

For US and Canadian orders we will also include a 9V 500mA switching power supply AC adapter at no extra cost.


The price of the DRAGON12-Light trainer kit for students and schools is $149. 

DRAGON12-Light features:

  • Backwards compatible to 68HC11 and 68HC12 code
  • On-board USB interface based on the flawless FT231XS for all Windows operating systems
  • USB interface for both SCI0 and SCI1
  • RGB color LED
  • 16X2 LCD display module with LED backlight.
  • 4-digit, 7-segment display module for learning multiplexing technique
  • 4 X 4 keypad
  • Eight LEDs connected to port B
  • An 8-position DIP switch connected to port H
  • Four pushbutton switches connected to PH0-PH3
  • Speaker driven by timer, or PWM, or DAC for alarm, voice and music applications
  • Potentiometer for analog input
  • X-Y-Z accelerometer module interface header
  • Two analog sensor input headers
  • Dual 10-bit DAC for generating analog waveforms
  • I2C based Real Time Clock DS1307 with a capacitor backup
  • I2C expansion port for interfacing external I2C devices
  • High efficiency dual H-Bridge for controlling two DC motors or one stepper motor
  • Four robot servo outputs with a terminal block for external servo voltage 
  • Temperature sensor for home automation applications
  • Light sensor for home automation applications
  • Resettable fuse to protect USB port
  • Abort switch for stopping program when program is hung in a dead loop
  • Super fast bus speed up to 25 MHz
  • The 112-Pins on-board MCU (MC9S12DG256CVPE) with 89 I/O-Pins is included
  • BDM-in connector to be connected with a BDM from multiple vendors for debugging.
  • BDM-out connector for making this board as a HCS12 / 9S12 BDM or programmer. No extra hardware needed.
  • Female headers provide shortest distance (great for high speed applications!) to every I/O pin of the MC9S12DG256
  • Comes with AsmIDE under GPL (general public license)
  • Pre-loaded with D-Bug12 monitor for working with AsmIDE or serial monitor for working with CodeWarrior
  • Supports source level debugging in C and Assembler without a BDM
  • Mode switch for selecting 4 operating modes with D-Bug12 monitor: EVB, Jump-to-EEPROM, BDM POD and Bootloader
  • Fast prototyping with on-board solderless breadboard
  • Many fully debugged 68HC12 program examples including source code
  • Free 9V 500mA switching power supply AC adapter for US and Canadian orders
  • PCB size: 7.7" X 4.8"


  • CAN transciever
  • X-Y-Z accelerometer module for Mechatronic applications




  • A perfect stand-alone 16-bit HCS12 trainer for classrooms. It's not too simple like an 8-bit trainer and not too complex like a 32-bit trainer
  • Perfect for upgrading all outdated 68HC11 / 68HC12 development boards 


The DRAGON12-Light board comes with a built-in USB interface based on the FT231XS. The driver for the FT232XS must be installed properly before using the board.

Install and verify USB driver:

  1. Before connecting the DRAGON12-Light board to your PC's USB port for the first time, make sure that the AC adapter is unplugged. You do not need the AC adapter since the board can be powered by a USB port.

  2. Go to the FT232RL driver installation and verification page for operating procedures: http://www.evbplus.com/TinyUSB_9s12/ft232rl.html.

  3. Once you have verified that the USB driver is properly installed, you may invoke the IDE (CodeWarrior or AsmIDE).

  4. If you are going to use CodeWarrior IDE and have not installed it you need to Download and configure CodeWarrior

In order to establish a reliable USB communication, always connect the DRAGON12-Light board to your PC's USB port first before invoking the IDE (CodeWarrior or AsmIDE), otherwise the IDE will not be able to communicate with the DRAGON12-Light board.  During a debugging session, if you accidentally unplug the USB cable from the DRAGON12-Light board, you need to re-establish the USB communication.  The IDE will not recognize the DRAGON12-Light board again if you just simply plug the USB cable back

To re-establish the USB communication you need to exit the IDE and disconnect the USB cable from the DRAGON12-Light board, wait for a few seconds before re-plugging in the USB cable, then wait for a few more seconds and allow the USB communication to be re-established with the DRAGON12-Light board. After re-establishing the USB communication you can invoke the IDE again and the IDE will start to communicate with the DRAGON12-Light board.  If this does not work, you need to restart your PC.

If restarting the PC does not solve the problem, you may need to re-install the USB driver or try on another PC.



Professor Tom Almy wrote an alarm clock program for our old Dragon12 board in 2003, but it still will run on the HCS12/9S12 base Dragon12-Light board. The source program of his alarm clock can be downloaded at http://hcs12text.com/links.html

He also wrote a cool demo program for DC motor and stepper motor working with the Dragon12-Light board. The source code is free for all Dragon12-Light users. More details can be found in the Designing with Microcontrollers textbook

To run his program, make sure that the jumper on J25 is placed in the right two pins.  This will provide 9V VIN to small motors and you do not need to connect an external motor voltage to the terminal block T3.

Note:  The on-board H-Bridge controller is for controlling small motors whose normal current is less than 1A for experiments only. Do not connect a large motor to the H-Bridge, because a large motor will act as a short circuit for a small H-Bridge controller and it may damage it when an external voltage with high current capability is connected at the T3.  

Following is the brief description of his demo program:

; Motor Speed Control Example Program
; Author: Tom Almy
; Date: May 22, 2007
; Copyright 2007, Tom Almy. Permission given to copy for use; in Wytec Dragon12-plus board.

; The user enters the desired speed and direction using the keypad.
; 0 through 9 set the speed (stop to full speed). The * button sets
; forward direction and the # button sets reverse direction. The lower
; right button on the keypad turns the driver off.

; In the DC motor version, the motor connects between the MOT1 and MOT2 terminals.
; In the (bipolar) stepper motor version, one winding connects between the MOT1 and MOT2
; terminals while the second winding connects between the MOT3 and MOT4 terminals.
; For the stepper motor, this code will by default give a step rate of 10 to 90 steps/second.

; The board must be configured for the desired motor power voltage and source. 

; Implementation:
; An RTI interrupt at roughly 1mSec rate does the keypad polling and LCD display driving.
; This code is taken from the keypad and frequency meter examples in the Designing with
; Microcontrollers textbook. The subroutine getkey reads the keypad value and blocks if no
; key is available. There is a single byte buffer for the keypad value. The LCD display driver
; is interrupt driven so that the timing delays won't interfere with the control of the motors.
; The subroutines lcd_line1 and lcd_line2 position the cursor at the start of the first and
; second lines, respectively, while msg_out displays the 0-byte terminated character string
; passed to it in X, and putlcd displays the character passed to it in A. These functions will
; block only if the 32 byte buffer is filled, so typically an entire message can be queued for
; display without blocking.

; The main routine ("idle process") reads the key presses, saves the command in variables running, 
; reverse, and speed, then updates the LCD display by writing a new status message.

; In the DC motor version, a PWM channel is used to control the speed. Since the PWM generates a
; continuous pulse train without program intervention, the main routine has additional code to
; set the direction (by changing the H-Bridge inputs) and speed (by changing the pulse width).

; In the stepper motor version, a timer channel interrupt is used to advance the H-Bridge through the
; four phases. The LED row display shows the values for the driver enables (bits 7 and 6) and
; the motor drives (bits 3 to 0).


Following is the brief description of the pre-installed hardware test program:

; Test_light.asm --- Test program for DRAGON12-Light Rev. A board
; (c)2014, EVBplus.com
; Author: Wayne Chu
; Date: 4/19/2014
; Functions: This is the factory test program for checking on-board
; hardware only. It's not intended for teaching a user how to
; write HCS12 code. In fact it is ported from our 68HC11
; test program, so instructions were written in 68HC11 code.
; It displays states of the DIP switch SW1 and the
; pushbuttons SW2(PH3)-SW5(PH0) of port H on the 8 LEDs of port B.
; It scans the keypad and displays the key number on the
; 7-segment LED display while playing a song. It allows to
; adjust the potentiometer to change LED display's brightness.
; The shifting speed of the 7-segment display is controlled by
; the photosensor Q1(the darker ambient light, the faster shifting),
; The music playing tempo is controlled by the temperature sensor U14,
; (the hotter temp, the slower tempo).
; Instructions:
; Before running the test program, place all individual DIP
; switches of the SW1 at up (north) positions.
; 1. After running the test program, test each individual switch and
; see the corresponding LED indicator on the PB0-PB7.
; LCD display shows: "PRESS SW2 & SW5 "
;                               "WHEN 8DIP-SWs UP"
; 2. Test the pushbutton switches PH0-PH3 only when all
; PH0-PH3 switches on the DIP switch SW1 are in the up positions.
; LCD display shows: "PRESS SW2 & SW5 "
;                               "WHEN 8DIP-SWs UP"
; 3. When all individual DIP switches of the SW1 in the up postions.
; Press the pushbutton switches SW2 and SW5 simultaneously, and the
; music should come out. The hex number 0 to F should be
; shifting out on the 7 segment LED display.

; LCD display shows: " Dragon12-Light "
;                                " Test Mode "

; 4. Adjust the trimmer pot, the 7 segment LED display's brightness
; should change. If you press any key on the keypad, the 7 segment
; display will display the key number that you pressed.
; The key number 2 will turn on the relay.
; LCD display shows: " Dragon12-Light "
;                                  " Test Mode "
; 5. Place your hand over the photosensor Q1, the 7-segment display will
; shift faster.
; 6. Use your finger to press the temp sensor (U14) very hard. Your warm
; body temperature will slow the tempo of music slightly.