Now you can earn IEEE Professional Development Hours by attending CEC courses.
  • All class times are listed in Eastern Time unless you are logged into Design News. When logged in, the time zone matches your profile preferences.
  • All classes will consist of a 45 minute lecture and an interactive chat session.
  • Registered users must sign up to participate and get credit for each course.
  • Questions? Please contact us here.

Digi-Key Continuing Education Center, hosted on Design News, will get you up to working speed quickly in a host of technologies you've been meaning to study, but haven't had the time, via a series of 45-minute online lessons – all without leaving the comfort of your lab or office. Our faculty of expert tutors has divided the interdisciplinary world of design engineering into five dimensions: microcontrollers (basic and advanced), sensors, wireless, power, and lighting.

All of these topics will be tackled in a dedicated week of interactive tutorials where you can ask questions of the tutor, discuss knotty issues with your fellow students, and download a wealth of additional learning materials. (Don't worry if you can't attend a particular course live – seminars are also archived, and our online educational discussions take place 24 hours a day.)


Upcoming and Archived Classes

December 12-16, 2016 has two courses you don't want to miss:

Prototyping Home Automation Concepts with Don Wilcher at 11:00 AM EST

Introduction to the ARM mbed Platform - A Hands-on Course with Charles Lord at 2:00 PM EST

Register below!

CEC Semester Ten 2016

Introduction to the ARM mbed Platform - A Hands-on Course

Dec 16, 2016 - 2:00pm EST

December 16 - Day 5: Porting mbed

Now that we have learned the basic features of mbed, we will look at the many options for porting it to our Cortex-M processor designs. We will also look ahead to other course topics to dig deeper into the power and future of mbed in the ARMv8 family and beyond.

Dec 15, 2016 - 2:00pm EST

December 15 - Day 4: The mbed Developer Network

In this penultimate class, we will look at the tools available from the developer area. We will then look at ways that we can participate and use many of the tools and code available.

Dec 14, 2016 - 2:00pm EST

December 14 – Day 3: mbed Communications and Multitasking

For our third class, we will delve into other elements of the mbed structure including the communications core and ties for multitasking and RTOS.

Dec 13, 2016 - 2:00pm EST

December 13 – Day 2: CMSIS, Hands-On

For our second class, we will begin our tour of the elements of mbed, including the CMSIS (ARM Cortex Microcontroller Software Interface Standard) and the bootload, programming, and other interfaces. We will look at examples of how to use these on our FRDM-K64 board.

Dec 12, 2016 - 2:00pm EST

December 12 – Day 1: Peeking Under the mbed Hood

In this leadoff class, we will look at the history and structure of the mbed ecosystem. We will also look at how the alliance of partners that make up the parts of mbed work together under Apache 2.0 open license.

Prototyping Home Automation Concepts

Dec 16, 2016 - 11:00am EST

December 16 - Day 5: PLCs and Home Automation, Project: Programmable Timer for Small Appliances

CEC participants will learn how to develop Home Automation devices using a Programmable Logic Controller (PLC). In addition, CEC participants will build a Programmable Timer for Small Appliances using a PLC.

Dec 15, 2016 - 11:00am EST

December 15 - Day 4: Introduction to littleBits eModules, Smart Home Kit, Project: Coffee Control Unit

An introduction to littleBits eModules and rapid build of Home Automation concepts will be presented to CEC participants. The hands-on project discussion will be on building a Coffee Control Unit using littleBits eModules and a smartphone.

Dec 14, 2016 - 11:00am EST

December 14 – Day 3: Home Temperature and Humidity Monitoring, Project: Temperature-Humidity Monitoring Unit and Multitasking

CEC participant discussion of using IoT techniques to monitor a home’s temperature and humidity using WiFi, sensors, and embedded controller. The hands-on project to be explored is a Grove Pi+ Temperature-Humidity Monitoring unit.

Dec 13, 2016 - 11:00am EST

December 13 - Day 2: Home Security Basics, Example Systems/Devices, Project: Ultrasonic Detection and Alarm Device

Basics of Home Security and devices will be explained to CEC participants followed by a hands-on project discussion of an Ultrasonic Detection and Alarm Device.

Dec 12, 2016 - 11:00am EST

December 12 - Day 1: Home Automation Basics, Example Systems/Devices, Project: Button and Buzzer-Grove Pi+ Introduction

An introduction to Home Automation Basics and Trends will be presented to CEC participants. Setup of the Grove Pi+ shield software follow by the hands-on project discussion of the Grove Pi+ Button and Buzzer device.

Code Sharing, Collaboration, and Version Control: An Hands-on Introduction to Git and Github

Nov 18, 2016 - 2:00pm EST

November 18 - Day 5: Local Clients and Other Hosts

In our last class, we will look at local clients for code version control and collaboration, including some other tools available such as Atlassian’s Bitbucket.

Nov 17, 2016 - 2:00pm EST

November 17 - Day 4: GitHub Hands-On, Part 2

In this penultimate class, we will take what we learned in the previous class and make use of the existing shares to reuse and build upon other’s code, using examples for the Particle Photon board that we used in a previous CEC class. We will also look at how to set up an account for private shares...

Nov 16, 2016 - 2:00pm EST

November 16 - Day 3: GitHub Hands-On, Part 1

For our third class, we will delve into the popular GitHub site and will look at that implementation of Git in detail. We will explore set up of a free account for public shares and set up a share area for collaboration.

Nov 15, 2016 - 2:00pm EST

November 15 - Day 2: Basic Git Concepts

For our second class, we will take the concepts from the first class, apply them to Git, and look at its structure and operation. We will also introduce the terminology that we will use through the rest of the week.

Nov 14, 2016 - 2:00pm EST

November 14 - Day 1: Introduction to Version Control and Code Collaboration

In this leadoff class, we will look at the concepts behind software version control and code collaboration. We will develop the checklist of what we need for an efficient system and what led Torvalds to develop Git.

SoC FPGA Devices using the Microsemi SmartFusion2 Device

Nov 4, 2016 - 2:00pm EDT

November 4 - Day 5: FPGA Programming - Part 2 and Bringing it all together

In this final lecture the layout phase of the FPGA process will be developed. This will get us to the point where we can bring it all together. The steps required and the loading process will be covered.

Nov 3, 2016 - 2:00pm EDT

November 3 - Day 4: FPGA Programming - Part 1

To start we will look at specifying the algorithm to be used in the FPGA and the tools used to verify it. An overview of the whole tool chain and some examples of the initial steps will be presented.

Nov 2, 2016 - 2:00pm EDT

November 2 - Day 3: Microcontroller Programming

We will start with programming the microcontroller part of the SmartFusion2. This is a standard ARM processor. It can be used for the HMI and for system control functions.

Nov 1, 2016 - 2:00pm EDT

November 1 - Day 2: Planning the Application

In this class we will go over a simple sample application and the initial steps in development. We will look at partitioning the application between the microcontroller and the FPGA fabric. We will also look at planning and laying out the I/O channels and special features of the chip.

Oct 31, 2016 - 2:00pm EDT

October 31 - Day 1: SoC Devices

The System on Chip (SoC) combines a standard microprocessor with a Field Programmable Gate Array (FPGA), as well as various types of I/O. In this session we will look at the class of devices and then go into the device for this week, the Microsemi SmartFusion2, giving a description of the device at...

MCU-based IoT Designs: Efficient Serial Interfaces

Oct 28, 2016 - 2:00pm EDT

October 28 - Day 5: Example Designs

This class will focus on some example designs, suggested by students that illustrate key concepts important to MCU-based IoT Designs. Links to appropriate online resources, kits, and documentation will be included to help jump-start new designs.

Oct 27, 2016 - 2:00pm EDT

October 27 - Day 4: I2C and SSI

This class will provide descriptions and examples of I2C and I2S interfaces used in IoT applications. Hardware resources, protocol, performance, and power concerns will be described and discussed. Advantages and disadvantages over other types of interfaces will be included.

Oct 26, 2016 - 2:00pm EDT

October 26 - Day 3: SPI and QSPI

This class will provide descriptions and examples of SPI and QSPI interfaces used in IoT applications. Hardware resources, protocol, performance, and power concerns will be described and discussed. Advantages and disadvantages over other types of interfaces will be included.

Oct 25, 2016 - 2:00pm EDT

October 25 - Day 2: UART and USART Interfaces for IoT Applications

This class will provide descriptions and examples of UART and USART interfaces used in IoT applications. Hardware resources, protocol, performance, and power concerns will be described and discussed. Advantages and disadvantages over other types of interfaces will be included.

Oct 24, 2016 - 2:00pm EDT

October 24 - Day 1: An Introduction to Serial Interfaces

Serial interfaces are ubiquitous in MCU-based IoT Designs. This class will provide an overview and background used for the balance of the week’s course.

Embedded System Design Techniques™: Getting Started Developing Professional Embedded Software

Oct 14, 2016 - 2:00pm EDT

October 14 - Day 5: Software Architecture, HALs and Best Practices

The way that firmware is developed is beginning to change at a rapid rate. Designing a scalable software architecture that ties into a hardware abstraction layer can greatly improve reusability which in turn decreases development costs and time market. In this session, attendees will walk away with tips, trick and best practices for scaling their embedded software workbench to develop reusable embedded software.

Oct 13, 2016 - 2:00pm EDT

October 13 - Day 4: Creating an Embedded Workbench

Starting a project right can determine whether it is poised for success or failure. Rarely do development teams start with all the right resources configured in their software project. We will setup an embedded workbench, a baseline project that can be used to develop embedded software. The project will include hooks that should be put into a project, baseline code analysis and metric recommendations, setting up assertions, printf and trace along with the creation of documentation templates.

Oct 12, 2016 - 2:00pm EDT

October 12 - Day 3: Managing Firmware Projects

In this session, attendees will explore the latest methods and technologies available to properly manage an embedded software project. Attendees will walk away with an understanding of estimating development times, managing features, integrating IDEs and managing revision control.

Oct 11, 2016 - 2:00pm EDT

October 11 - Day 2: The Tools of the Trade

Having the right tool for the job is critical in any job but especially so for embedded software developers. In this session, we will explore important tools such as compilers, optimization, programming languages along with analysis tools. Attendees will walk away for an understanding how open source and commercial tools compare in performance, efficiency and cost and which tradeoffs are most appropriate.

Oct 10, 2016 - 2:00pm EDT

October 10 - Day 1: Electrical Engineers, Computer Scientists and the Science of Selecting Microcontrollers

Selecting the right microcontroller for a product can be difficult into today's development environment. In this session, we'll explore how to select a microcontroller using the perspectives of both electrical and software engineers. Attendees will walk away with an understanding of critical concepts that are required when starting to develop embedded software.

IoT Building Blocks and Toolchains

Sep 30, 2016 - 2:00pm EDT

September 30 - Day 5: Smile for the Camera

IoT design need not be confined to Ethernet and Bluetooth devices passing bytes of sensor data. Today's lecture will focus on the capabilities of the ON Semiconductor MatrixCam. The MatrixCam is a 1080p camera solution that enables the streaming of video over WiFi and Ethernet.

Sep 29, 2016 - 2:00pm EDT

September 29 - Day 4: Outside-of-the-Box IoT

The bottom line in IoT is to deliver the payload. Today, we will "deliver" without the assistance of WiFi, Ethernet or Bluetooth. While we're at it, we'll use the power of the sun as an IoT delivery vehicle, as well.

Sep 28, 2016 - 2:00pm EDT

September 28 - Day 3: Microchip's IoT Packages - BM70 and BM71

In addition to the RN4020, Microchip offers a pair of IoT-ready SoCs. Today, we will take a look at the Microchip BM70/71 PICtail, command set and programming utilities. To facilitate our BM7x exploration, we will first design and assemble a suitable BM7x prototype platform.

Sep 27, 2016 - 2:00pm EDT

September 27 - Day 2: IoT Prototyping with Nordic's New nRF52832

The nRF52832 is billed as a Multiprotocol Bluetooth low energy/ANT/2.4GHz RF SoC. In this lecture we will explore the new features of the nRF52832 and write some code to put the nRF52832's peripherals and radio through their paces. Our goal today is to design and build an nRF52832 prototype/test jig.

Sep 26, 2016 - 2:00pm EDT

September 26 - Day 1: IoT Design Using Nordic's nRF51822

Today’s lecture will be supported by the free edition of Keil’s MDK for Cortex-M. The code produced by the Keil MDK will be used to expose the capabilities of various microcontroller elements of Nordic’s nRF51822 SoC. During the course of the lecture, we will utilize the nRF52 SDK to produce code that will enable various members of the nRF51822’s peripheral subsystems. Today’s task includes designing and scratch building an nRF51822 prototype/test jig.

Analytics for the IoT: A Deep Dive into Algorithms

Sep 16, 2016 - 2:00pm EDT

September 16 - Day 5: Optimization

One major feature of the IoT is that we now have lots of data over long periods of time for many types of systems.We can use this rich data horde to perform optimizations in current systems and in the design of new or evolved systems.These techniques often use complex formulations involving linear and non-linear systems approaches.Fortunately, there are many existing implementations of these methods that make their execution relatively easy.We will look at them in a couple different languages.

Sep 15, 2016 - 2:00pm EDT

September 15 - Day 4: Failure Analysis & Anomaly Detection

For this lecture we will talk about failure detection and anomaly detection, and the analyses used in conjunction with them. In the IoT we often want to perform these on a continuous basis. This introduces some interesting features in the analysis that we will discuss.

Sep 14, 2016 - 2:00pm EDT

September 14 - Day 3: Classification

A major area of machine learning concerns classification. We will describe both supervised and unsupervised learning techniques and discuss when and how to use them. Techniques include k-means clustering, support vector machines, principal components analysis and decision trees, for example. We will also look at applications of these techniques.

Sep 13, 2016 - 2:00pm EDT

September 13 - Day 2: Languages and Environments

To implement the analytics we are discussing this week, one needs software and a platform to run it on. We will discuss languages such as R and Python and more conventional languages and traditional statistical processing systems. Because the size of the data is often massive and growing, platforms become important. It is key to pick one that can start small and grow in power without having to completely rewrite the application. We will give an overview of platforms specific to the IoT.

Sep 12, 2016 - 2:00pm EDT

September 12 - Day 1: Introduction to Analytics for the IoT

Today we will present an overview of the types of statistical techniques useful for the IoT and how statistics is used in this context. Some differences with standard statistics will be highlighted. The requirements for IoT analytics will also be presented. Our intent is to discuss the algorithms in the context of engineering applications in the IoT.

Build a Powerful IoT Network with the PHOTON Board - A Hands-on Course

Aug 26, 2016 - 2:00pm EDT

August 26 - Day 5: Advanced Coding

Now that we have written some code using the online and simple IDE tools, we will look at using some familiar IDEs and writing 'bare metal' and even RTOS-based code for the STM chip on our PHOTON board.

Aug 25, 2016 - 2:00pm EDT

August 25 - Day 4: Programming the PHOTON Board Online

In this penultimate class, we will take what we learned so far and write some beginning code using the free online Integrated Development Environment (IDE), as well as a version that can run on our own computers. We will then look at ways that we can use the node in our local Internet of Things.

Aug 24, 2016 - 2:00pm EDT

August 24 - Day 3: Azure and the Cloud

For our third class, we will delve into the use of the cloud for our IoT applications for the PHOTON by setting up a simple and free Azure account and teaching our board to talk to it.

Aug 23, 2016 - 2:00pm EDT

August 23 - Day 2: Starting to Use PHOTON

For our second class, we will download the smartphone app for the board and learn about basic commissioning and testing of the board. We will perform some basic functions using the sample applications available in the maker domain.

Aug 22, 2016 - 2:00pm EDT

August 22 - Day 1: Introduction to Particle PHOTON Board

In this leadoff class, we will look at the structure of the PHOTON board - its architecture, the chips used, and the features built into the board. We will also look at the infrastructure that the manufacturer has established for the board and that we will use for the remainder of the week.

Getting Hands On with Arduino Mechatronics

Aug 12, 2016 - 2:00pm EDT

August 12 - Day 5: Building the Desktop Automation Trainer

In this final session, participants will learn how to build a Desktop Automation Trainer. The Arduino will be configured as a programmable input simulator to stimulate the PLC Ladder Logic code to operate a dc motor.

Aug 11, 2016 - 2:00pm EDT

August 11 - Day 4: Introduction to PLCs

The intelligent industrial controller that is at the center of robotics and automation is the PLC (Programmable Logic Controller). In this hands-on discussion, participants will learn PLC I/O and CPU Architecture basics. The hands-on activity will illustrate how to program and test a PLC in Ladder Logic code using an input simulator.

Aug 10, 2016 - 2:00pm EDT

August 10 - Day 3: Understanding Stepper and Servo Motors

Stepper and servo motors are key electromechanical components for Motion Control products. Today, participants will explore Motion Control driver circuits by building and experimenting with basic Arduino based Stepper and Servo Motor Controllers.

Aug 9, 2016 - 2:00pm EDT

August 9 - Day 2: Understanding Transistor Motor Drivers

Day two session will focus on driving high DC/AC current electromechanical components with low current DC driver. To illustrate this design method, participants will learn how to build a DC Motor Driver using a Power MOSFET. Power MOSFET basics including how to wire them to a dc motor will be discussed in this session.

Aug 8, 2016 - 2:00pm EDT

August 8 - Day 1: Introduction, Driving LCDs and Audio Alarms with an Arduino

A discussion on Mechatronics, with examples, will be presented. Also, two hands-on activities that participants can do at home will illustrate the audible and visual devices that can be used in Mechatronics warning systems. The LCD and a Piezo Buzzer components will be used with an Arduino for the hands-on learning activities.

Implementing Advanced IoT Embedded Designs with the Renesas Synergy Platform - A Hands-on Course

Jul 29, 2016 - 2:00pm EDT

July 29 - Day 5: Advanced GUI Interfaces Part 2

This class expends on the previous one to build some specific GUI example projects. Students can follow along using the free software or optionally purchase a kit to see the actual designs in action.

Jul 28, 2016 - 2:00pm EDT

July 28 - Day 4: Advanced GUI Interfaces Part 1

Graphic User Interfaces are key elements in the IoT. This class will show specific implementations, using the ThreadX RTOS and GUIX features available within SSP. The basic elements needed for creating a GUIX based user interface will be covered.

Jul 27, 2016 - 2:00pm EDT

July 27 - Day 3: Implementing Networking Connectivity using an RTOS and APIs Part 2

This class expends on the previous one to build some specific networking connectivity example projects. Students can follow along using the free software or optionally purchase a kit to see the actual designs in action.

Jul 26, 2016 - 2:00pm EDT

July 26 - Day 2: Implementing Networking Connectivity using an RTOS and APIs Part 1

Networking connectivity is critical to IoT designs. This class will show specific implementations, using the ThreadX RTOS and NetX features available within SSP. The basic elements needed for Networking connectivity will be covered.

Jul 25, 2016 - 2:00pm EDT

July 25 - Day 1: IoT Designs Using High Level Constructs

This class will review and provide implementation examples of a few of the key RTOS capabilities appropriate for IoT applications. It will use the Renesas Synergy Platform, featured in Warren’s previous course. Students are strongly encouraged to view the previous course and download, install and use the free Renesas Synergy Software Package (SSP).

Embedded System Design Techniques™ - Debugging Real-time Embedded Software Hands on

Jul 15, 2016 - 2:00pm EDT

July 15 - Day 5: Tips and Tricks for Debugging Embedded Systems

In this session, Jacob will review the finer points of debugging an embedded systems and provide attendees with tips and tricks that will make them masters of debugging. Attendees will walk away with a half dozen or more techniques to discover memory issues, race conditions, priority inversions and other potential issues that often plague an embedded system.

Jul 14, 2016 - 2:00pm EDT

July 14 - Day 4: Utilizing System Viewers and Trace Tools to Debug Firmware

Building on understanding of ARM Cortex-M debugging, in this session, Jacob will walk attendees through how to setup and utilize system viewers and trace tools to efficiently debug embedded systems in real-time. Attendees will walk away will new skills and techniques that will be directly applicable to help them shorten their debugging times and improve system quality.

Jul 13, 2016 - 2:00pm EDT

July 13 - Day 3: Debugging the ARM Cortex-M Microcontroller

One of the most popular microcontrollers on the market, the ARM Cortex-M series has some incredible debugging capabilities that developers can quickly leverage to get through the debugging process. In this session, attendees will learn how to debug real-time issues and faults and get an introduction into RTT, SWD and SWO.

Jul 12, 2016 - 2:00pm EDT

July 12 - Day 2: Foundational Debugging Techniques

There is no point in spending the time to pull out the big guns if a stick will do the job. In this session, Jacob will examine traditional debug techniques, such as proper use of printf and assert. Attendees will get hands-on experience with the approaches and also get up to speed on terminology, bug classification and tracking.

Jul 11, 2016 - 2:00pm EDT

July 11 - Day 1: Introduction to Debugging Real-time Embedded Systems

Developers can listen and read about debugging all day long but until they jump in and get their hands dirty its only theory. In this session, Jacob will give a high level overview of the debugging techniques available to developers today and walk them through how to setup the debug environment that will be used as a test bed through-out the remainder of the week.