A One-Day Seminar
June 20, 2009
8:30 a.m. – 4:30 p.m.
June 17, 2009
Seneca College, Newnham Campus
Building “A” Room A4066
1750 Finch Ave. East,
Toronto, ON M2J 2X5
Presented by Dennis Cecic
Online registration here
(Deadline: June 17, 2009)
TENTATIVE FEES (TBD):
IEEE Student Member: $199 + GST
IEEE Member: $325 + GST
Non-Member: $399 + GST
(Includes Handouts, USB Development Board & Lunch)
Are you developing a customized USB Peripheral for Windows® XP or Vista®?
USB peripheral manufacturers must provide a way for the PC host application to access the device’s features. While it is possible to use client-support APIs exposed by existing USB class drivers (HID and CDC for example), this approach could limit the bandwidth and latency of your application. Other options include using a vendor-supplied driver, or possibly even developing your own kernel-mode driver. Due to these challenges, Microsoft has recently provided a user-mode driver, WinUSB.sys and user-mode DLL, WinUSB.dll, which exposes user-mode client support APIs.
The objective of this 1-day class is to review the important aspects of USB (electrical, mechanical, protocol), as well as providing hands-on experience in implementing a Windows® application using the WinUSB APIs, which will exchange data with a USB microcontroller. The course will be run in a fully instrumented computer laboratory.
Engineers who are new to USB and USB peripheral development in Windows®.
Proficiency in C programming.
Laptop Requirements (Optional)
Although not required, participants may bring a laptop computer running Windows XP SP2 or higher, with a CD/DVD drive and at least 2 USB 2.0 High-speed ports. It is also recommended to have at least 512MB of RAM in your computer. If bringing your own computer, please have the following installed (requires ~4GB HD space):
Microchip MPLAB IDE v8.30 (or higher ): www.microchip.com/mplab
Microchip MPLAB C Compiler For PIC24 v3.10 or higher (Student/Evaluation Edition): www.microchip.com/c30
Microsoft Visual C++ Express 2008: www.microsoft.com/express/vc/
An attempt will be made to try and get your laptop configured by 9am, however, no guarantees.
Dennis Cecic, SMIEEE, P. Eng., is a Senior Technical Training Engineer with Microchip Technology Canada Inc, specializing in microcontrollers, software and embedded systems. His 12+ years of embedded design experience includes development of microwave, infrared and acoustic motion sensors for the commercial security system market. He has also developed and taught courses in the school of electronics at Seneca College. He holds a B. Eng. Degree in Electrical Engineering from Ryerson University, and is Chair of the Toronto Chapter of the IEEE Computer Society. He may be reached via email at