ASEE Hands-on Workshop on Using the PIC24 CPU in a Microcontroller Course

There will be a hands-on workshop at the ASEE annual conference in June 2009 on using the PIC24 16-bit family in an introductory microcontroller course. Participants are assumed to already have familiarity with microcontroller basics (the particular vendor/family is unimportant). Given this assumed background, the workshop is a fast-paced introduction to assembly language and C language programming/interfacing with the Microchip PIC24 microcontroller family. Participants will need to have a portable PC that runs some form of Windows (Windows 2000 or later) in order to install the various software tools used in the hands-on exercises. Participants should also have two free USB ports on their PC in order to take full advantage of the hands-on exercises. The workshop is given by Bob Reese, J.W. Bruce, and Bryan A. Jones, who teach senior design, microprocessors, embedded systems, and robotics in the ECE Department at Mississippi State University.

The complete CDROM of training materials provided to the attendees can be downloaded here.  Here is a ZIP archive that contains the schematic/board files for the PCB that was used in the training.

Take-home Package

The ticket cost is $70, for which the participants will receive to take home:
  • A PIC24-oriented textbook donated by Delmar/Cengage that covers both assembly language and C language programming/interfacing.
  • A PIC24 breakout board that contains a PIC24HJ64GP502 CPU, 3.3 V voltage regulator, power LED, reset switch and an interface to an FTDI USB-to-serial cable. The breakout board will be populated with pin headers that allow it to easily plug into a standard breadboard for experimentation purposes.

  • An experiment board that the previously mentioned PIC24 breakout board plugs into. The experiment board contains 3 LEDs, two push button switches, a SPI temp sensor, I2C temp sensor, analog temp sensor, SPI potentiometer, I2C EEPROM, a SPI DAC, an analog potentiometer, an 8 MHz crystal, and a 32768 Hz crystal. The experiment board + CPU breakout board will be the platform used during the workshop for assembly language and C programming/interfacing. The picture below shows the CPU module plugged into the experiment board. Here is a ZIP archive that contains the schematic/board files for the PCB that was used in the training.

  • An TTL-232R-3V3 USB-to-serial cable that is used for CPU module communication to development tools hosted on a PC; this serial link is used for serial communication by C programs and also for downloading new programs into the CPU via a serial bootloader.

  • A PICkit2 programmer donated by Microchip that can be used to download new programs into Microchip microcontrollers. A small PCB  that contains a ZIF socket for easily programming CPUs in DIP packages using the PICkit 2 will also be provided to participants.

Tentative Schedule

A tentative schedule for the workshop is show below:

9:00—9:30       Introduction, Setup
9:30—10:30     PIC24 Introduction, Assembly Language Programming
10:30—11:30   Hardware Introduction
11:30—1:00     Parallel I/O & Working Lunch (graciously provided by the ECE division)
1:00—2:00       Interrupts/Timers
2:00—3:00       Serial I/O
3:00—4:00       Data Conversion   
4:00—4:30       PICkit2 Usage
4:30—5:00       Wrap-up

The schedule is aggressive, and the hands-on exercises are designed to be self-paced. There are more exercises included in the workshop material than we can actually cover, so participants can continue working with the material at home if desired.

We have also reached an agreement with Intronix to provide an Intronix 34 Channel USB logic analyzer to each participant for use during the workshop (but not to take home). This is a great USB logic analyzer that is also very affordable (list price of $389).  Any workshop attendees will be given the opportunity to purchase one at a special price of $299 after attending the workshop (must be purchased through Intronix by contacting them after the workshop).

Participants will install the following tools on their PCs to be used during the training:
  • Microchip MPLAB Integrated Design Environment
  • Microchip PIC24 C Compiler (Student edition)
  • Microchip PIC24 PICkit 2 GUI
  • Bootloader GUI software
  • Intronix USB logic analyzer GUI