Our 4th generation
All-In-One HCS12 trainer for academia

It's a complete trainer with a solderless breadboard

Includes MicroSD slot, VGA camera connector, Bluetooth, XBee (Wi-Fi) and Nordic nRF24L01+ wireless interfaces.

It's a senior design project board supports Arduino Shields


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



The new easy-to-use DRAGON12-Plus2 trainer offers the highest performance-to-price ratio that you can get from a trainer.
It's fully backward compatible to the DRAGON12-Plus-USB trainer and programs were written for the DRAGON12-Plus-USB trainer can run on the DRAGON12-Plus2 trainer without modifications.

The DRAGON12-Plus2 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.

New features:
If the new features are not used, the DRAGON12-Plus2 trainer works just like the DRAGON12-Plus-USB trainer.

1.   MicroSD memory card slot (Memory card is not included) .
2.   JPEG camera TTL interface (camera is not included) .
3.   XBee (Wi-Fi) interface (XBee module is not included)
.   Bluetooth interface (Bluetooth module is not included)
5.   Nordic nRF24L01+ interface (Nordic module is not included)
6.   RS232 DB9 connector for SCI1  
7.   Capacitive touching switch shows how a capacitive switch works
8.   Arduino shields compatible headers
9.   Automatic sensing/switching circuit to select power input from USB and external AC adapter, no jumpers are required.
10  On-board 3.3V regulator
11. Resettable fuse to protect USB port
12. High efficiency dual H-Bridges for controlling two DC motors or one stepper motor

DRAGON12-Plus2- silkscreen

The DRAGON12-Plus2 trainer kit includes a DRAGON12-Plus2 board, a solderless breadboard and a 6 foot USB cable.
(The XBee module is not included)
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-Plus2 trainer kit for students and schools is $169. 

Other DRAGON12-Plus2 features:

  • Backward compatible to 68HC11 and 68HC12 code
  • On-board USB interface based on the flawless FT232RL for all Windows operating systems
  • USB interface selectable for either SCI0 or SCI1
  • USB TX and RX indicator LEDs
  • 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
  • IR detector
  • CAN controller
  • RS485 communication port with terminal block for daisy chaining
  • Speaker driven by timer, or PWM, or DAC for alarm, voice and music applications
  • Potentiometer trimmer pot 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 
  • DPDT form C relay
  • Temperature sensor for home automation applications
  • Light sensor for home automation applications
  • Logic probe with a LED indicator
  • Fast SPI expansion port for interfacing external SPI devices
  • Power-On LED indicators for 5V and 3.3V
  • Abort switch for stopping program when program is hung in a dead loop
  • MC9S12DG256 MCU includes the following on-chip peripherals:
    • 3 SPIs
    • 2 SCIs
    • 2 CANs
    • I2C interface
    • 8 16-bit timers
    • 8 PWMs
    • 16-channel 10-bit A/D converter
  • 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
  • Auto start user programs after power on
  • 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
  • Gold-plated PC board.  PCB size: 8.4" X 5.3"


  • XBee module
  • Bluetooth module
  • Nordic nRF24L01+ module
  • Serial JPEG camera, TTL interface
  • X-Y-Z accelerometer module for Mechatronic applications


More information on options:

1.  SD memory interface: http://www.evbplus.com/hcs12_9s12/SD_memory.html

2.  Bluetooth: http://www.mdfly.com/index.php?main_page=product_info&cPath=8&products_id=769

     Bluetooth project: http://www.rasmicro.com/Bluetooth.htm

3.  Nordic nRF24L01+ module: http://www.mdfly.com/index.php?main_page=product_info&cPath=8&products_id=81
     Sample code for the Nordic nRF24L01+ can be found at: http://sites.mecheng.adelaide.edu.au/robotics/wpage.php?wpage_id=56

4.  Two cameras can be used for the Dragon12-Plus2.  You can connect them to the J53. The RX and TX signals of the J53 are 3.3V.

     TTL signals are 3.3V, but VCC is 5V   https://www.adafruit.com/products/397     
     TTL signals are 3.3V, VCC is also 3.3V   http://www.4dsystems.com.au/prod.php?id=75

5.  X-Y-Z accelerometer module: http://www.evbplus.com/accelerometer_3axis/tinybee_accelerometer_3axis.html



  • 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 
  • A versatile project board with Arduino shields and multiple wireless interfaces for senior design projects


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

Install and verify USB driver:

  1. Before connecting the DRAGON12-Plus2 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-Plus2 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-Plus2 board.  During a debugging session, if you accidentally unplug the USB cable from the DRAGON12-Plus2 board, you need to re-establish the USB communication.  The IDE will not recognize the DRAGON12-Plus2 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-Plus2 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-Plus2 board. After re-establishing the USB communication you can invoke the IDE again and the IDE will start to communicate with the DRAGON12-Plus2 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.


With a plug-in Bluetooth module

With a plug-in Nordic
nRF24L01+ module

With a plug-in XBee module



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-Plus2 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-Plus2 board. The source code is free for all Dragon12-Plus2 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 left 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.asm --- Test program for DRAGON12-Plus2 Rev. A board
; (c)2012, EVBplus.com
; Author: Wayne Chu
; Date: 4/16/12
; The new Dragon12-Plus2 board added a 3.3V power supply, a Micro SD memory
; card slot, Bluetooth, XBee and Nordic nRF24L01+ wireless interfaces.
; It also provides Arduino Shield Compatible headers and an automatic power
; switching circuit for selecting power from USB port or external AC
; adapter.
; 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 was ported from our 68HC11
; test program, so all 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 tests the IR detector and display the result on the LCD display.
; It turns on and off the LED D13 via a capacitive touch switch.

; It scans the keypad and displays the key number on the
; 7-segment LED display while playing a song. It allows to
; adjust the trimmer pot VR2 to change brightness of the LED display.
; 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).
; Testing instructions:
; Before running the test program, place all individual DIP
; switches of the SW1 in upper (north) positions.
; 1. After running the test program, test each individual DIP switch and
; see the state of the corresponding LED indicator.
; The 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 upper positions.
; The LCD display shows: "PRESS SW2 & SW5 "
;                                     "WHEN 8DIP-SWs UP"
; 3. When all individual DIP switches of the SW1 are in upper positions.
; 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.

; The LCD display shows: "TEST IR DETECTOR"
;                                     " NO IR DETECTED "

; 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.
; The LCD display shows: "TEST IR DETECTOR"
;                                     " NO IR DETECTED "

; 5. Point a TV remote control to the IR detector and press down
; any button on the remote control, the RX LED next to the IR detector
; should come on, then observe the message on the LCD display.
;The  LCD display shows: "TEST IR DETECTOR"
;                                      " IR DETECTED "
; 6. Place your hand over the photosensor Q1, the 7-segment display will
; shift faster.

; 7. Use your finger to press the temperature sensor (U14) very hard. Your warm
; body temperature will slow the tempo of music slightly.

; 8. Press the capacitive touch switch, the LED D13 will come on.


How to use the Dragon12-Plus2 as a USB to TTL adaper:

The Dragon12-Plus2 has a built-in FT232 chip and can be used as a USB to TTL adapter for the Thunderbird or the Dragonfly12 or the MicroDragon modules.  The following pictures show the connections.

You need to remove two jumpers of J42 on the Dragon12-Plus2  board and then connect 4 wires:

Wire1: (White) from pin 3 of J42 on the Dragon12 to pin 1 of J1 on the Thunderbird12.  This is the PS0 signal

Wire2: (White) from pin 4 of J42 on the Dragon12 to pin 2 of J1 on the Thunderbird12.  This is the PS1 signal

Wire3: (White) from pin 6 of J42 on the Dragon12 to pin 3 of J1 on the Thunderbird12.  This is the GND

Wire4: (White) from pin 8 of J42 on the Dragon12 to pin 4 of J1 on the Thunderbird12.  This is the 5V