HOME  |  NEWS  |  BLOGS  |  MESSAGES  |  FEATURES  |  VIDEOS  |  WEBINARS  |  INDUSTRIES  |  FOCUS ON FUNDAMENTALS
  |  REGISTER  |  LOGIN  |  HELP
Now you can earn IEEE Professional Development Hours by attending CEC courses. Click here for more information.

Curriculum Calendar

Download this to connect our Curriculum Calendar to your calendar application (Outlook, etc.)
All class times are listed in Eastern Time
All classes will consist of a 45 minute lecture and an interactive chat session
Registered users must login to participate and get credit for each course
Questions? Please contact us here.
Introduction to Linux Device Drivers  
Monday, August 4 - Friday, August 8
Date Class   Status   Lecturer
Aug 4
2PM
August 4 - Day 1: Introduction to the Linux Kernel
This class will cover the basic aspects of the Linux kernel programming, and we’ll differentiate between the kernel and user space. It’s a well-known fact that there are certain norms to communicate between the kernel and user space. Hence, we’ll cover the APIs needed to enable this communication. In addition, we will look at how to load and unload device drivers on running systems.
  Sign Me Up  
Khem Raj  
Khem Raj is an Embedded Linux Architect at Juniper Networks, a leading network equipment maker. His background includes hands-on product ...  
MORE
Our Lecturer
Khem Raj
Khem Raj

Khem Raj is an Embedded Linux Architect at Juniper Networks, a leading network equipment maker. His background includes hands-on product development, R&D, and open-source software development. Khem is a member of the Advisory Board for Yocto Project as well as the Technical Steering Committee for OpenEmbedded project. He also maintains angstrom distribution and default distribution for the beagleboard.org family of devices. He is an active contributor to many open-source projects ‒ e.g., OpenEmbedded, Yocto Project, uClibc, Crosstools, etc. ‒ and actively maintains core pieces of the Yocto Project build system, including Toolchains. Khem is a frequent speaker at technology conferences and gave the keynote at The Yocto Project Developer Day held at Embedded Linux Conference Europe 2013 and presented at ARM technology Conference 2013.


HIDE
Aug 5
2PM
August 5 - Day 2: Linux Character Device Drivers
Character drivers are fundamental driver types in the Linux kernel, while the byte-oriented driver is referred to as a character driver. Majority of device drivers in Linux fall into this category. We will learn about character drivers and run through a sample character-driver development. The basic file operations and creation will be taught as well.
  Sign Me Up  
Aug 6
2PM
August 6 - Day 3: Serial Drivers Using Linux
The serial port is a basic communications channel that’s used in many systems. In general, a UART is used to implement the serial ports. These ports can be used for terminal sessions, dialup, and devices that use a serial transport, including Bluetooth devices. In this class, we will learn about writing drivers for serial devices.
  Sign Me Up  
Aug 7
2PM
August 7 - Day 4: Input Device Drivers With the Linux OS
In today’s class, we will learn about the Linux kernel’s input subsystem. This subsystem handles various input devices such as keyboard, mice, etc., with uniformity. An event interface is used to interface the input devices to specific applications. In addition, we’ll learn about the event system as well as device abstraction.
  Sign Me Up  
Aug 8
2PM
August 8 - Day 5: Linux & Block Device Drivers
This final class will look at block devices, which are storage media that can handle random accesses. Unlike character devices, block devices can hold file-system data. In addition, we’ll discuss how Linux supports storage/block buses and devices.
  Sign Me Up  
Embedded Software Development With Python & the Raspberry Pi  
Monday, August 18 - Friday, August 22
Date Class   Status   Lecturer
Aug 18
2PM
August 18 - Day 1: Introduction to Python
This session will introduce the Python programming language. It will provide an overview of where to get it, how to install it, and why an embedded engineer should learn Python. Since most embedded engineers are familiar with C, an in-depth comparison between language syntax will be covered to help attendees quickly leap into this powerful language.
  Sign Me Up  
Jacob Beningo  
Jacob Beningo is a Certified Software Development Professional (CSDP) and lecturer who specializes in the design of reusable and ...  
MORE
Our Lecturer
Jacob Beningo
Jacob Beningo
Jacob Beningo is a Certified Software Development Professional (CSDP) and lecturer who specializes in the design of reusable and configurable embedded software. He has successfully completed projects across a number of industries including automotive, defense, medical, and space. He enjoys developing and teaching real-time and event-driven software using the latest techniques and tools. He is an avid tweeter, a tip and trick guru, a homebrew connoisseur, and a fan of pineapple! Jacob holds Bachelor’s degrees in electrical engineering, physics, and mathematics from Central Michigan University and a Master’s degree in space systems engineering from the University of Michigan.

HIDE
Aug 19
2PM
August 19 - Day 2: Python Fundamentals
This session will present basic concepts on how to design embedded software using Python. Concepts such as lists, dictionaries, string, and file system manipulations are a few examples of what will be covered. How to develop object-oriented code and even how to import C code will also be presented. Example scripts will be provided so that attendees can follow along and take the language for a spin.
  Sign Me Up  
Aug 20
2PM
August 20 - Day 3: An Overview of the Raspberry Pi (& Single-Board Computers)
This session will dig into the details of single-board computers and how they are revolutionizing how we do things. The famous Raspberry Pi hardware will be discussed in addition to how to set up the hardware for experiments in future sessions. This will include a look at available operating systems, tools, and expansion boards that can be used to quickly get a prototype system up and running.
  Sign Me Up  
Aug 21
2PM
August 21 - Day 4: Controlling Raspberry Pi Peripherals With Python
Writing software can be fun, but when the software controls hardware and starts interfacing with the external world is when things really get going! The Raspberry Pi has a number of common interfaces that can be used to communicate with the external world and this session will cover how to use Python to access each of those interfaces. By the end of this session attendees will be ready to connect just about anything!
  Sign Me Up  
Aug 22
2PM
August 22 - Day 5: An Internet of Things Weather Station Example
Sensor networks and moving data through the internet and web are becoming absolutely critical with concepts such as the Internet of Things on the near horizon. Each of the previous sessions have covered critical building blocks to create a system using a single-board computer. This session pulls it all together by providing an example weather station that interfaces to sensors such as humidity and temperature. The data is streamed through the Internet and accessible via a website.
  Sign Me Up  
Archived Tracks
Designing With ARM Cortex-M4 (& a Real Dev Board)  
Monday, July 7 - Friday, July 11
Date Class   Status   Lecturer
Jul 7
2PM
July 7 - Day 1: An Introduction to the ARM Cortex-M4 Architecture
This class provides a quick overview of the ARM Cortex-M4 CPU architecture and how to use the key features to more efficiently implement common MCU-based designs. A comparison to other ARM CPU families will help round out your understanding of this important CPU family.
  View Archived  
Warren Miller  
Warren Miller has more than 30 years of experience in electronics and has held a variety of positions in engineering, applications, ...  
MORE
Our Lecturer
Warren Miller
Warren Miller

Warren Miller has more than 30 years of experience in electronics and has held a variety of positions in engineering, applications, strategic marketing, and product planning with large electronics companies like Advanced Micro Devices, Actel, and Avnet, as well as with a variety of smaller startups. He has in-depth experience of programmable devices (PLDs, FPGAs, MCUs, and ASICs) in industrial, networking, and consumer applications and holds several device patents. He is currently the principal at Wavefront Marketing, working as a consultant specializing in strategic planning, technical marketing, and competitive analysis for semiconductor, intellectual property, and associated design tool companies. Warren has authored more than 100 conference papers, whitepapers, application notes, and magazine articles on a wide variety of topics and is a frequent blogger on the All Programmable Planet and Microcontroller Central websites and is the founder of the Chess FPGA project.
Email: warren@wavefrontmarketing.com


HIDE
Jul 8
2PM
July 8 - Day 2: An ARM Cortex-M4 Design Example
This class will use the STM32F3 M CU family as an example implementation using the ARM Cortex-M4 CPU. The interactions between the CPU and many common peripherals will set the stage for designing efficiently with a wide range of ARM Cortex-M4 implementations.
  View Archived  
Jul 9
2PM
July 9 - Day 3: Understand the ARM Tool Flow
The tool flow for programming the STM32F3 MCU family will be described and the process for downloading and running example designs will be shown so that the interested student can follow along using their own versions of free, downloadable tools.
  View Archived  
Jul 10
2PM
July 10 - Day 4: Build Your Own ARM-Based Product!
Example designs offered with the DISCOVERY kit will be described and used to illustrate some of the types of designs the ARM Cortex-M4 is specifically efficient at implementing. At the end of this class the student should be comfortable running example designs themselves.
  View Archived  
Jul 11
2PM
July 11 - Day 5: Tying Up the Loose ARM Ends
This class will bring together all the material covered in previous classes to discuss some designs suggested by students to see how they might be implemented most efficiently. Existing reference designs using the STM32F3 family will be used as the starting point for customization efforts.
  View Archived  
Design Products With Bluetooth Low Energy  
Monday, July 21 - Friday, July 25
Date Class   Status   Lecturer
Jul 21
2PM
July 21 - Day 1: The Out-of-the-Box Bluetooth Experience
Today’s lecture will feature the Ana ren B-SMART BoosterPack development tool. The BoosterPack will be coupled with a Texas Instruments MSP430 LaunchPad development board to provide a working out-of-the-box MSP430-to-iPhone Bluetooth application. No Bluetooth or MSP430 knowledge is required.
  View Archived  
Fred Eady  
Fred Eady is the owner of EDTP Electronics, which was established in 1988 following the publication of his first magazine article. Since ...  
MORE
Our Lecturer
Fred Eady
Fred Eady

Fred Eady is the owner of EDTP Electronics, which was established in 1988 following the publication of his first magazine article. Since the formation of EDTP Electronics, Fred has written thousands of magazine articles. He has written for all of the major electronic magazines, including Radio Electronics, Electronics Now, Nuts and Volts, Servo, MicroComputer Journal, and Circuit Cellar. To date, he has authored four books and contributed to a fifth. He currently works as a PIC microcontroller consultant and is a Microchip Authorized Design Partner. Fred also authors monthly columns in Nuts and Volts and Servo magazines. His customers include machine shops, specialty startup companies, medical machine manufacturers, coin-operated device businesses, and various other research and development companies. He has a very close working relationship with Microchip Technology, the manufacturer of PIC microcontrollers, and has taught Ethernet and WiFi classes at Microchip's annual Masters Conference.


HIDE
Jul 22
2PM
July 22 - Day 2: Coding a Hardware Abstraction Layer
In today’s discussion we will define Hardware Abstraction Layer (HAL) functionality and code a specialized HAL for the Digilent ChipKIT MX3’s PIC32MX320F128H microcontroller.
  View Archived  
Jul 23
2PM
July 23 - Day 3: Creating Schemas to Develop a Bluetooth Link
A schema is simply a description of available embedded resources. Today we will create a schema based on the embedded resources of the Digilent ChipKIT MX3 development board. We will also examine the firmware that is automatically generated as a result of the schema build process.
  View Archived  
Jul 24
2PM
July 24 - Day 4: Design & Assemble a Bluetooth Low-Energy Embedded Device
Today we will put on our hardware hats and design and assemble a home-grown Anaren A2541 BLE embedded device hosted by a PIC32MX695F512H. The reference design concepts exposed in today’s lecture can be applied to most any microcontroller that supports the C programming language.
  View Archived  
Jul 25
2PM
July 25 - Day 5: Application Emulation Using Em-Browser & an iPhone
Em-Browser gives the developer total control of the embedded systems resources. Today we will use Em-Browser and an iPhone to emulate and debug an application targeting our home-grown B-SMART PIC32MX reference design.
  View Archived  
The Continuing Education Center offers engineers an entirely new way to get the education they need to formulate next-generation solutions.
Aug 4 - 8, Introduction to Linux Device Drivers
SEMESTERS: 1  |  2  |  3  |  4  |  5  |  6


Copyright © 2014 UBM Canon, A UBM company, All rights reserved. Privacy Policy | Terms of Service